18 april meetup - zpqrtbnk · 18 april meetup. yet another v8 talk. st. ... présentation...
TRANSCRIPT
![Page 1: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/1.jpg)
18 April Meetup
![Page 2: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/2.jpg)
Yet Another v8 TalkStéphane Gay
Architect At Large. Chief refactor-er & bug fixer bij Umbraco HQ
@zpqrtbnk
![Page 3: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/3.jpg)
v8 is LIVE… and it works …
![Page 4: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/4.jpg)
8.365.112 SITES
Could be running Umbraco v8 in a distant future,provided that all other CMSes give up the fightand Umbraco becomes the only remaining CMS
(number may vary)
![Page 5: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/5.jpg)
v8 goed gedaanStéphane Gay
Repairman Of All Things Completely Broken™Umbraco HQ
@zpqrtbnk
![Page 6: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/6.jpg)
Variants101
![Page 7: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/7.jpg)
One Document – Several Cultures
![Page 8: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/8.jpg)
DocumentFR: "bonjour" ⟶ /bonjourEN: "hello" ⟶ /hello
![Page 9: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/9.jpg)
DocumentFR: "bonjour" ⟶ /fr/bonjourEN: "hello" ⟶ /en/hello
example.com/fr ⟶ FRexample.com/en ⟶ EN
![Page 10: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/10.jpg)
var title = Model.Value("title");
var title = Model.Value("title", "fr-FR");
![Page 11: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/11.jpg)
Composition~
![Page 12: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/12.jpg)
Dependency Injection
![Page 13: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/13.jpg)
ComposerWhere Everything Begins
![Page 14: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/14.jpg)
public class MyComposer : IComposer{
public void Compose(Composition composition){
// ...}
}
![Page 15: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/15.jpg)
// set the last chance content findercomposition.SetContentLastChanceFinder<MyLastChanceFinder>();
// append a finder to the pipelinecomposition.ContentFinders().Append<MyContentFinder>();
![Page 16: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/16.jpg)
// registercomposition.Register<ISomething, Something>();
![Page 17: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/17.jpg)
// registercomposition.RegisterFor<ISomething, Something>();
![Page 18: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/18.jpg)
Predictable CompositionLess Magic
![Page 19: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/19.jpg)
[RuntimeLevel(MinLevel = RuntimeLevel.Install)][ComposeAfter(typeof(MyOtherComposer))][Disable(typeof(OtherComposer))]public class MyComposer : IUserComposer{
public void Compose(Composition composition){
// ...}
}
![Page 20: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/20.jpg)
ComponentBring Your Own Code
![Page 21: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/21.jpg)
public class MyComponent : IComponent{
public void Initialize(){
// ...}
public void Terminate(){
// ...}
}
![Page 22: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/22.jpg)
public class MyComponent : IComponent{
private readonly IContentService _contentService;
public MyComponent(IContentService contentService){
_contentService = contentService;}
![Page 23: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/23.jpg)
public void Compose(Composition composition){
composition.Components().Append<MyComponent>();}
![Page 24: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/24.jpg)
![Page 25: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/25.jpg)
![Page 26: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/26.jpg)
ContextIs Everything
![Page 27: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/27.jpg)
private readonly IUmbracoContextFactory _contextFactory;
public MyComponent(IUmbracoContextFactory contextFactory){
_contextFactory = contextFactory;}
public void Initialize(){
using (var contextRef = _contextFactory.EnsureUmbracoContext()){
var context = contextRef.UmbracoContext;
// ...var item = context.ContentCache.GetById(1234);
}}
![Page 28: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/28.jpg)
![Page 29: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/29.jpg)
The DatabaseWhere ?!
![Page 30: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/30.jpg)
Use The ScopeLuke
![Page 31: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/31.jpg)
private readonly IScopeProvider _scopeProvider;
public MyComponent(IScopeProvider scopeProvider){
_scopeProvider = scopeProvider;}
public void Initialize(){
using (var scope = _scopeProvider.CreateScope()){
scope.Database.Execute("DELETE * FROM umbracoNode;");
scope.Complete();}
}
![Page 32: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/32.jpg)
DI.Die.Die.DieI Don't Wanna DI
![Page 33: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/33.jpg)
public void Whatever(){
Current.Logger.Debug<MyClass>("Hello!");}
![Page 34: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/34.jpg)
public void Whatever(){
var service = Current.Factory.GetInstance<IMyService>();}
![Page 35: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/35.jpg)
Published ElementsLightweight Published Content
![Page 36: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/36.jpg)
MigrationsPlan
![Page 37: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/37.jpg)
![Page 38: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/38.jpg)
public class MyPlan : MigrationPlan{
public MyPlan(): base("myPlan")
{From("")
.To<MyMigration1>("state-1")
.To<MyMigration2>("state-2");}
![Page 39: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/39.jpg)
![Page 40: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/40.jpg)
![Page 41: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/41.jpg)
....To<MyMigration2>("state-2").Merge()
.To<Dev1Migration>("dev-1-state").With()
.To<Dev2Migration>("dev-2-state").As("state-3");
![Page 42: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/42.jpg)
var plan = new MyPlan();var upgrader = new Upgrader(plan);upgrader.Upgrade(...);
![Page 43: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/43.jpg)
Migrating From v7Have You Found The Way?
![Page 44: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/44.jpg)
One More ThingWhat Is Next?
![Page 45: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/45.jpg)
var title = Model.Value("title");
var title = Model.Value("title", "fr-FR");
![Page 46: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/46.jpg)
// use the propertyvar children = Model.Children;
// use the methodvar children = Model.Children();
// use the method, with a culturevar children = Model.Children("fr-FR");
![Page 47: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/47.jpg)
// current culturevar name = Model.Name;
// FR culturevar nameFR = Model.GetCulture("fr-FR").Name;
// Can I has this?var nameFR = Model.Name("fr-FR");
![Page 48: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/48.jpg)
Fixing Is Breaking
![Page 49: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/49.jpg)
The Friendliest CMS Community On The PlanetMake sure to voice your opinionIssues are monitored
Get what you want!
![Page 50: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/50.jpg)
Thank you
![Page 51: 18 April Meetup - ZpqrtBnk · 18 April Meetup. Yet Another v8 Talk. St. ... Présentation PowerPoint Created Date: 4/19/2019 6:07:49 PM](https://reader033.vdocument.in/reader033/viewer/2022043001/5f784a66ba92d074460a598e/html5/thumbnails/51.jpg)
Thanks!