Sulu Workshop

Finding an Optimal Solution for our Multi Portal Approach

One of the main parts of the last sprint was to find and implement a solution for our multi portal approach. We already had a multi portal approach in ZOOLU, the predecessor of Sulu, but we found out that we have to rethink our strategy.

Titel

tumblr_inline_mxbr90EfoU1st20hm tumblr_inline_mxbr90EfoU1st20hm

Finally we came up with the following solution:

As you can see in the above diagram we introduced a so called Workspace, which contains many different portals. Such a workspace can be seen as a content area, where you create your page structure, and fill the pages with content, in all the localizations you have defined for that specific workspace.

Every portal is then responsible for some defined localizations. That makes it easily possible to use the same content over multiple portals, whereby a portal can include just one or a higher amount of languages. There will be an own URL for each localization (and segment, if in use), and these can be easily defined in our xml configuration file for a workspace, in two different ways.

The first one is to use the url tag, with a simple URL as a value (can also contain subdomains, subfolders, or any other thing you can imagine in a URL) and two (or three) attributes to describe the content behind this URL: the language, the country and the segment (optional). Another option is the use of placeholders. In this scenario you can put some variables enclosed in curly braces.

Titel

Hallo

<urls>
    <url language=“en” country=“us”>www.sulu.io</url>
    <url>{language}.sulu.{country}</url>
</urls>