3. What will be discussed in this talk
Why do we want to have many sites in one Neos
What does Neos o鍖er to make multisite setups easy
How to create a multisite
Summary
Time for questions
6. The main benefits
Benefits for development & maintenance
Optimized editor processes
Launch new sites and microsites with ease
Business (money) advantages
7. Benefits for development & maintenance
Only one codebase to be taken care of
Increased security
One server setup
One integration pipeline
Features roll out to all sites at the same time
And can be limited with feature flags
Optimize one site and get a benefits in all of them
8. Optimize editorial process
Have reusable content between sites
Have same usability and processes on all sites
Only one login is needed
Cross site navigation menus possible
Reuse assets like images, documents and others
9. Launch new sites and microsites with ease
Work on them in parallel to existing pages
Manage sites and domains in the backend
Secure the domains until Go-Live with an authentication
Then:
Turn of authentication and go live
If necessary map live domain to server and then go live
10. Business benefits
Reduced longterm cost through lower development & maintenance e鍖orts
But slightly increased initial cost for the first two sites
More up-to-date content with improved editorial process
Reduced time to market with new sites
Consistent corporate identity
12. Reuse content from other sites
Examples:
Content for privacy, license or legal texts
Banners & advertisements
Records of employees & authors
Categories & tags
Works with any reference property
Neos will show the source by the domain
13. Change the starting point & reference any page
myPageReference:
type: reference
ui:
label: i18n
inspector:
editorOptions:
placeholder: i18n
startingPoint: '/'
nodeTypes:
- Neos.Neos:Document'
14. Or use one site as global content hub
myContentReferences:
type: references
ui:
label: i18n
inspector:
editorOptions:
placeholder: i18n
startingPoint: /sites/contenthub
nodeTypes:
- Neos.Neos:Content
17. Using content dimensions for multisites
Have a master site
Use dimensions to customize content on children sites
Needs mapping of domains to dimensions
Could get more complex with multiple languages at the same time
See case study by CORE4 (and ask Bernhard Schmitt @nezaniel)
18. Handling site specific configurations
Multiple Settings files in site packages will override each other
Could be solved with separate Context per site but has drawbacks
Core caching is not shared
Needs more configuration on the webserver
Context must be set correctly for console commands
Put global configuration into one Settings.yaml
Have site specific configuration in the site node
Use a custom nodetype for the homepages
19. Some examples
Social media links
Parameters for webservices
Site specific footer links
Config for frontend plugins
21. Theming and customizations
Use homepage nodes to set themes & customize
Change logo
Change typography, colors, iconset,
Use 3rd party packages to extend Neos multisite
capabilities
23. Separate site handling if necessary
Use roles which are locked into one site
Use dynamic policies which match users to sites
Match asset collections with sites to keep assets
separated
24. Some notes on performance
Many small sites behave similar to one bigger site
Neos can handle a lot of content, no matter where and scales nicely
Real project with 8 sites containing ~50.000 nodes is no problem
100.000s of nodes should work too
Future Neos developments will make this even more scalable
Site selection in backend might be harder to use with > 30 sites
Could be optimized easily in the future
35. Notes about creating sites
Creating a site package is easier with the package neos/site-
kickstarter
You can also build a site package manually if you know what you do
You will miss out a useful boilerplate
If you create a new site package you have to import the new site manually
Dont forget that additional site packages should depend on the main one
Dont forget that Settings.yaml files have one hierarchy
36. Summary
Neos is already well prepared to handle many sites
Many use cases are already solvable
Some use cases need small adjustments
Performance will continuously get better with future Neos versions
Start using the feature and forward use cases and experiences to the core team
Contribute or sponsor changes that could benefit all projects