Experience configuring CTC4 with the multi-linugal solution

For a customer last week I spent a bit of time trying to get MLS and CTC4 playing together, which was harder than it might have been. I may be missing something, but here is what I did.

References:

My set-up is WP8.0.0.1 with CTC 4. I set up the demo site by creating a base locale and 2 localized libraries. I also set up localization workflow and so on according to MLS documentation. That part all works a treat:

Multiple content libraries

In my demo site I thought I’d use the Biographies template to explain what was going on, so I created a page using the biographies page template. The central area on the page is the list of content items that use the biographies template, all nicely created via page templating for me (with 1 addition during the demo):

Biographies list

This list is a “specified” WCM rendering portlet that points to a content item in the content library for the base locale, all of which is created when the page template is instantiated:

Configuration from rendering portlet shared settings

Configuration from rendering portlet shared settings

I added the context processor to the portlet configuration as per the MLS instructions:

Context processor configuration

Context processor configuration

The page template instantiation process creates a sub-structure of pages under the Biographies site area. These contain a number of site area that aren’t rendered but which are containers to keep content and configuration items organized.

Content structure in WCM authoring portlet

The content items for biographies themselves live under the content site area and the Index List content item lives under the Components site area. The Index List content items is a fairly complex template that, in its entirety looks like this:

Index List content item

The MLS widget on the bottom of the content items shows the localizations that I created. This part works well and allows me to create localized versions of this content item. I needed to localize the Index List content items because it contains a context over-ride that points at the site area where the content items live:

Detail of Index List content item

Detail of Index List content item

The effect of this is that whatever the context processor does to try to switch context, the list item still points back to the en_GB library via the context over-ride.

As a result I had to do the following two things to successfully localize this page:

  • Create localized content of the individual biography entries as per normal process
  • Create a localized version of the Index List content item, and manually change the context override in each localized library

This pattern is repeated across the site – most of the CTC page templates use this approach with context overrides to force list components to render content from their sibling site area.

The issue I see with this is that in a site of any scale then you’ve got a whole load more content items to manage and update if you change aspects of your site design. That could get really cumbersome, so I’m hoping to find a simpler option.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s