SlideShare a Scribd company logo
Keynote: The CMS of the future
Sébastien Ros, Nick Mayne, Bertrand Le Roy
In 2010
Let’s look at the future of the past
By that I mean the present as we viewed
it back then
In 2010
We looked at the best CMS of the time
That were all built on one of the worst
languages ever for some reason
Opinions
We have them
A streamlined setup
experience
Ask as little as we need
Postpone decisions
Accept temporary insecurity for simplicity
A runtime type system
built from the right
abstractions
Content types
Content items
Content parts
Composition,
Composition,
Composition
Extreme extensibility
Yo! I heard you like extension points, so I
put extension points on your extension
X-copy deployment
And we’ve been totally successful at
making Orchard deployment as simple as
copying a bunch of files.
Lots of files
Edit source & save
Because editing the source code of a site
in production is such a bright idea
Modern admin
What Would WordPress Do?
Multi-tenancy
It’s so nice when your neighbor prevents
the whole block from sleeping with their
partying
What are those walls made of? Paper?
Open++
Random strangers know better
We also screwed up
a bit…
Relational schema
Yo! I heard you like relations
All your app is
belong to us
You have to build on Orchard
You have to refactor your features into
Orchard modules
Undiscoverable
processes
You know this content type is a
taxonomy, right?
Versioning
- Will that module install properly on
1.9?
- I don’t know. Try to install it.
Back to the future
Which is less than three weeks away
Unless you’re watching this on YouTube,
in which case the future is in the past
It worked!
Teslas for everyone!
Well, no, not really.
Now what?
Reset for the future of our present
(which is the past’s future too, but more
so than the present)
Try to follow
The world has
changed
For the better
Mostly
Right?
Document databases
are mainstream
So people can switch from modeling
documents in relational databases to
modeling relations in a document
database
The Cloud has won
And all clouds have this exact shape
Containers & micro-
services are in
Because what your application needs in
order to scale is http for procedure calls
JavaScript & CSS
frameworks &
transpilers
127 new ones have popped up while you
were reading this
Try to keep up, dammit!
Commodity site
builders
Just like Geocities, but with, like, video
backgrounds instead of animated gif?
Progress!
Mobile first
Testing for a million devices is fun!
Social media &
email
So many more ways to sell you stuff
Beards are the new
moustaches
Facial hair is cool
Like bow-ties and fezzes
Everyone develops
on a Mac
(which has nothing to do with the
previous slide)
and deploys to Linux
I have nothing
My employer won’t let me
What are we doing?
Finally, getting to the point
DecentCMS
Trust me, I’m a scientist
Listening to customers? Pff.
Orchard 2.0
Not your typical 1.x
New World
The new .NET
X-Platform
We’re all friends now
Composition
It's what we do
Erm, so why aren't we doing it!?
No implementations
here
Just give me the abstractions please
Swappable parts
If you don’t like how something is
implemented, change it.
Content
Management
This is not a CMS anymore
Build your own
Create your own host!
Storage vs Querying
They just aren’t the same thing!
Storage
Store where you want!
Query
Give me my stuff now!
I WANT NEW NOW
Packages are cool man
Logging
Log4Net is so not X-Platform
Configuration
JSON vs XML vs INI vs YAML = Who cares

More Related Content

Similar to Orchard Harvest Keynote 2015 - the CMS of the future

The Revolution Will Not Be Centralized
The Revolution Will Not Be CentralizedThe Revolution Will Not Be Centralized
The Revolution Will Not Be Centralized
Edward Faulkner
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
Derek Collison
 
Cloudconfused ankit
Cloudconfused ankitCloudconfused ankit
Cloudconfused ankit
Ankit Kumar
 
Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web development
Christian Heilmann
 
Thin Server Architecture
Thin Server ArchitectureThin Server Architecture
Thin Server Architecture
Mitch Pirtle
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
Russ Weakley
 
Introjs10.5.17SD
Introjs10.5.17SDIntrojs10.5.17SD
Introjs10.5.17SD
Thinkful
 
SharePoint Development and the Cloud
SharePoint Development and the CloudSharePoint Development and the Cloud
SharePoint Development and the Cloud
charelenetorres
 
The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...
The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...
The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...
Alan Quayle
 
Big Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriBig Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-Ari
Demi Ben-Ari
 
Adaptive web-design-chapter-1
Adaptive web-design-chapter-1Adaptive web-design-chapter-1
Adaptive web-design-chapter-1
Marcelo Graciolli
 
Front Porch Keynote 2014
Front Porch Keynote 2014Front Porch Keynote 2014
Front Porch Keynote 2014
amboy00
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
GreeceJS
 
Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...
Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...
Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...
Dana Gardner
 
Welsh, Ben: The framework fix: how to build better archives by helping news n...
Welsh, Ben: The framework fix: how to build better archives by helping news n...Welsh, Ben: The framework fix: how to build better archives by helping news n...
Welsh, Ben: The framework fix: how to build better archives by helping news n...
Reynolds Journalism Institute (RJI)
 
20140429 BUILD Briefing
20140429 BUILD Briefing20140429 BUILD Briefing
20140429 BUILD Briefing
Meng-Ru (Raymond) Tsai
 
Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015
Holger Bartel
 
Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)
Uche Ogbuji
 
Docker what - Frank Maounis
Docker what - Frank MaounisDocker what - Frank Maounis
Docker what - Frank Maounis
Frank Maounis
 
Start Up Austin 2017: Keynote Presentation Mackenzie Kosut
Start Up Austin 2017: Keynote Presentation Mackenzie KosutStart Up Austin 2017: Keynote Presentation Mackenzie Kosut
Start Up Austin 2017: Keynote Presentation Mackenzie Kosut
Amazon Web Services
 

Similar to Orchard Harvest Keynote 2015 - the CMS of the future (20)

The Revolution Will Not Be Centralized
The Revolution Will Not Be CentralizedThe Revolution Will Not Be Centralized
The Revolution Will Not Be Centralized
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
 
Cloudconfused ankit
Cloudconfused ankitCloudconfused ankit
Cloudconfused ankit
 
Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web development
 
Thin Server Architecture
Thin Server ArchitectureThin Server Architecture
Thin Server Architecture
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
 
Introjs10.5.17SD
Introjs10.5.17SDIntrojs10.5.17SD
Introjs10.5.17SD
 
SharePoint Development and the Cloud
SharePoint Development and the CloudSharePoint Development and the Cloud
SharePoint Development and the Cloud
 
The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...
The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...
The Difference Between Your Project Succeeding or Burning To A Crisp Is Actua...
 
Big Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriBig Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-Ari
 
Adaptive web-design-chapter-1
Adaptive web-design-chapter-1Adaptive web-design-chapter-1
Adaptive web-design-chapter-1
 
Front Porch Keynote 2014
Front Porch Keynote 2014Front Porch Keynote 2014
Front Porch Keynote 2014
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 
Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...
Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...
Microsoft SharePoint at a Crossroad — Biggest Opportunities and Challenges fo...
 
Welsh, Ben: The framework fix: how to build better archives by helping news n...
Welsh, Ben: The framework fix: how to build better archives by helping news n...Welsh, Ben: The framework fix: how to build better archives by helping news n...
Welsh, Ben: The framework fix: how to build better archives by helping news n...
 
20140429 BUILD Briefing
20140429 BUILD Briefing20140429 BUILD Briefing
20140429 BUILD Briefing
 
Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015
 
Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)
 
Docker what - Frank Maounis
Docker what - Frank MaounisDocker what - Frank Maounis
Docker what - Frank Maounis
 
Start Up Austin 2017: Keynote Presentation Mackenzie Kosut
Start Up Austin 2017: Keynote Presentation Mackenzie KosutStart Up Austin 2017: Keynote Presentation Mackenzie Kosut
Start Up Austin 2017: Keynote Presentation Mackenzie Kosut
 

More from Bertrand Le Roy

Next .NET and C#
Next .NET and C#Next .NET and C#
Next .NET and C#
Bertrand Le Roy
 
Orchard 2... and why you should care
Orchard 2... and why you should careOrchard 2... and why you should care
Orchard 2... and why you should care
Bertrand Le Roy
 
C# Today and Tomorrow
C# Today and TomorrowC# Today and Tomorrow
C# Today and Tomorrow
Bertrand Le Roy
 
.Net Core
.Net Core.Net Core
.Net Core
Bertrand Le Roy
 
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Bertrand Le Roy
 
Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013
Bertrand Le Roy
 
Orchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 KeynoteOrchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 Keynote
Bertrand Le Roy
 

More from Bertrand Le Roy (7)

Next .NET and C#
Next .NET and C#Next .NET and C#
Next .NET and C#
 
Orchard 2... and why you should care
Orchard 2... and why you should careOrchard 2... and why you should care
Orchard 2... and why you should care
 
C# Today and Tomorrow
C# Today and TomorrowC# Today and Tomorrow
C# Today and Tomorrow
 
.Net Core
.Net Core.Net Core
.Net Core
 
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
 
Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013
 
Orchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 KeynoteOrchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 Keynote
 

Recently uploaded

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 

Recently uploaded (20)

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 

Orchard Harvest Keynote 2015 - the CMS of the future

Editor's Notes

  1. Orchard is like an orchestra: there’s a partition, that lots of musicians follow to build a beautiful result together, but they are all doing something unique. Except for all those violins playing the same thing. OK, analogies are like vacuum cleaners.
  2. DI; modules; themes; small core; the rest is implemented as modules; all default implementation can be replaced Extensions are extensible
  3. Nothing to install except for ASP.NET; Dependencies are deployed with the application, even the database engine;
  4. It’s about site density, and it has strong architectural consequences. Good consequences: isolation, scope, etc. Picture source: By Robertafelice [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons https://commons.wikimedia.org/wiki/File:Row_houses_in_alternating_cream,_yellow,_and_gray_brick,_in_Bushwick,_Brooklyn.jpg
  5. License, governance, project management, code, documentation, translations, triage; public meeting twice a week We were ahead of the curve for a Microsoft team: not much was OSS at MS at the time. Other communities emulated what we did: Nuget, etc.
  6. This is actually Drupal’s schema. Ours is worse.
  7. For example, have a creative use of taxonomies, and your users won’t know where to add contents. Why are media, taxonomies, blog posts, lists, regular content items, in different places? What if I need to create related content items? Where’s my custom workflow?
  8. How do you know that an extension will work with the new version of Orchard? You don’t.
  9. Image from Back to the Future by Robert Zemeckis
  10. Image from Mass Effect by Bioware / EA
  11. Image credit: This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license. https://commons.wikimedia.org/wiki/File:InternetSlowdown_Day.gif
  12. We knew from the start that doc dbs were the best fit, but went against our gut: https://weblogs.asp.net/bleroy/nosql-is-not-about-object-databases What does this mean for our reliance on nHibernate as a deep layer of Orchard? Image credit: Couchbase http://docs.couchbase.com/developer/dev-guide-3.0/compare-docs-vs-relational.html
  13. Seriously, no, micro services doesn’t mean they have to communicate by http, let alone remotely: it’s about separation of concerns, single responsibility, deployment, elastic scalability, tool independence, and maintainability. Image credit: http://martinfowler.com/articles/microservices.html Martin Fowler
  14. Angular, Bootstrap, grid-based responsive design, LESS/SASS, TypeScript, Grunt/Gulp/NPM Image credit: © CEphoto, Uwe Aranas / CC-BY-SA-3.0 https://commons.wikimedia.org/wiki/File:Salarom_Sabah_Frame-of-a-new-house-01.jpg
  15. CMS as a service, with rich layout capabilities & e-commerce: SquareSpace, Wix, Weebly, etc. Image credit: Weebly
  16. Hi-DPI, too, and transitions In other news, IE is dead And so is the Web, to an extent: apps everywhere Image: http://www.last100.com/2007/08/27/nokia-to-revive-n-gage-for-the-third-time/
  17. Image credit: https://whatsnexttrinna.wordpress.com/2013/03/07/social-media-changed-the-world/
  18. Image credit: Junya Watanabe
  19. Image: https://xkcd.com/149/
  20. Image: Don Box “you’re doing what with XML?”
  21. My free-range experiment in understanding Node.js and building a CMS thingy with no external constraints. Image: Metropolis by Fritz Lang
  22. So we have done alot, we have learnt alot... So if we were to start again, what would we do better! Image from: https://www.youtube.com/watch?v=jcEws7il4EY
  23. Microsoft are building a new Asp.Net platform, we hear its better!
  24. Lets embrace these other platforms, the new world will allow us to do it.
  25. Orchard is composed of multiple modules of discreet functionality.... except Framework.. Lets break it up.
  26. In this new world, we want to break things up more. Implementations are great, but if they sit so low in the stack, changing them can be hard work. Lets change that. Image: http://www.amcgltd.com/archives/2005_05.html
  27. Swapping something out of the framework is hard... it 'almost' requires a rewrite... lets fix it. Image: http://www.fastcompany.com/3020825/tech-forecast/like-lego-for-smartphones-motorolas-ara-takes-things-modular
  28. One gripe we have had is that people love some aspects in Orchard, but decoupling other things like Content Management is a pain... lets change that.
  29. Orchard.Web is convenient... changing anything requires changes to core... That sucks... so lets change it! Image: http://legacy.nerdywithchildren.com/create-your-own-super-hero-kit/
  30. There has been this perception in the data access world that the fastest way to get your data is to query where it is stored... Not a bad idea... if everything is keyed on ID... But in today's world thats not even enough... So we should split it.
  31. By splitting storage we hand the power to you to tell the system where to store the data, if you want to use Entity Framework... cool, if you want to sdtore everything in json on the filesystem as well, thats fine. So you can then filter what you store where. Image: http://www.digitalspy.co.uk/tv/s269/red-dwarf/news/a662119/red-dwarf-wont-be-back-in-march-2016-trust-us.html
  32. So how do I get my data... Well, when the content is stored it is then indexed. You then use map reduce to query for that content which hit the index, the goes off to get your content by id and the reduces it. The idea behind map reduce is not for performance but for scalability, allowing you to deal with large dataset distributed.
  33. The Asp.Net team publish every build out to myget with updated package... you can get them... Lets do the same. Use the latest X and not the latest Y. Image: http://www.diaryofaninja.com/blog/2013/01/31/why-nuget-package-restorersquos-not-for-me
  34. Log4Net is cool, except... Its not cross platform and not everyone wants to use it, or they want to use multiple Loggers. VNext has a nice framework for that, so we dotn have to write our own! Lets do it. Image: http://www.fs.fed.us/wildecology/decaid/decaid_background/oldphotos.htm
  35. At the moment we have lots of configuration... in alot of places. Some YAML, Some JSON, Some XML... Lets provide the ability to allow you to choose what you want to use. VNext has a nice extension point for that. Sweet! Image: https://en.wikipedia.org/wiki/File:Dilbert-20050910.png