DEDeutsche Version

Webspaces, Nodes & Sites

Daniel Rotter

Sulu’s “multi-everything” approach is suitable for all types of websites from a one-pager to big web-portals with 20+ languages. Developers create the structure of templates in a semantic way. This supports the content editor and will rank the site better in search engines at the same time.

Daniel Rotter, Developer (Sulu Core Team), @danrot90

Content management like the pros

Webspaces

The content of a website is managed in a Sulu “webspace”. Any number of webspaces can be created in a single Sulu installation (hey, we’re multi-platform!). 

A webspace contains structured nodes that represent the website hierarchy. An unlimited number of languages can be configured for every webspace.

There is also complete freedom in the handling of domains per webspace. You can use one single domain with subdomains for language iterations (e.g. www.sulu.io/en). But it is also possible to use dedicated domains for different languages versions of the same website (e.g. www.sulu.com for english and www.sulu.de for german).

Sulu Nodes

Nodes & Site Hierarchy

1 Nodes
The structure of a website is created by using nested nodes. Any node represents a single web-page and can contain sub-nodes. For each node a template can be selected that will then provide the content types for the data that will be published. 

2 Multiple languages
Any number of languages can be configured for a webspace. For any node and language an iteration can be created. The hierarchy will stay the same for all languages.

3 Ghost and shadow pages
An editor is not constrained to translate all nodes into all languages. If a language iteration has not been created a so called “ghost” page will be shown. This indicates that e.g. a node exists in english but not in german. It is also possible to create fallbacks to similar languages. Such nodes are called “shadow” pages (e.g. a page in UK english uses the content from the US english interation). 

Sulu Sites

Pages

1 Templates
As most other CMS Sulu uses a templates system to publish content as a website. Any number of templates can be configured and each node (or page) can be set to any of them.

2 Total control over URL
The URL of a page is automatically created by using the title of the node. Editors however can change this anytime. All URL iterations are archived and the history can be managed easily. It is also possible to use Canonical tags or redirects.

3 Publish when you’re ready
When a new node has been created it is not immediately published. This can be controlled by the editor by changing the node status to “published” or “unpublished”. Permissions can be set so only editors with certain rights can publish content.

Sulu Snippets

Global content

1 Snippets
All webspaces configured in a Sulu installation have the ability to access data from centralized data repositories such as the “Snippets” module. This give editors the possibility to create content that can be used multiple times in any platform managed by the system.

2 Templates
Snippets are not complete web-pages and don’t have a URL. But they also have a template engine that is used to create styled content parts.

3 Multilingual 
Like everything in Sulu Snippets are multilingual. Once a language iteration has been created the node that uses the content automatically displays the correct language.

Why you should use it

  • Multi-portal architecture 
  • Global content for multi-portal sharing
  • Multilingual, language fallbacks & language copying 
  • Complete freedom with URL handling
  • Template-based layout engine
  • Supports full responsive designs
Thomas Vogel

The Admin UI is visually appealing and very easy to work with. Especially the multilingual content handling and the media library have become features I can’t work without!

Thomas Vogel, Arkulpa GmbH (AT)
Lukas Kahwe Smith

The attention to UX by the Sulu team impressed me from the very beginning. Together with leveraging all the key architecture components of the Symfony CMF initiative, they have a winning combinations in their hands.

Lukas Kahwe Smith, L//P (CH)