2

Working as a regular C# developer, I was experimenting around the "Sealed" functionality of C#.

So, while using Sealed, Child class CANNOT override Parent class Method. So, in Tridion, Is it possible to stop a Component / Page from getting kind of "Overridden", i.e Localized in the Child Publication ?

I checked the Folders/ Structure Groups / Publications property to check if there is any such setting but couldn't find any.

Also, is there way to Stop the Inheritance at all ? What I mean is there a way to Stop the Page/Component from getting inherited in Child Publication ?

4

I'm going to answer off-topic, at least to give some context here.

Like David and Rick said, the answer is "no." But similar to the "favor composition over inheritance" object-oriented design pattern (from how I understand about it in comparison to Blueprinting), it is probably best to apply localization sparingly. Community member Manuel Garrido even coined the term, "minimizing localizations" as a good practice.

I'd say you're on the right track and here are items you may want to reduce localization and how.

As you create a content model, certain items should or shouldn't be localized based on the BluePrint.

Items that should be localized (or are at least okay to localize):

  • Components for translation or region-specific localization (articles, labels, etc.)
  • Structure groups for path "localization," if desired (but it can make it harder to separately manage page localization)
  • Schemas for Publication-specific or editor-specific descriptions (if you really want to)

Considering letting certain editors keep the localize permission for these.

Things that are harder to manage when you localize them:

  • Containers or link list type components
  • Templates (I've rarely recommended this)
  • Folders, if you can avoid it. Sometimes you might localize for permissions or metadata, but use as needed.
  • Pages, if you can avoid it (to be able to manage the content globally)

Most of these tend to be global or system-specific items and you can remove the localize permission for the organization item containing them. It's probably a good idea to put global items in global folders. Users will still need read to select templates.

There are a few options when you need to assemble, or dare I say, "compose" some set of content or functionality for a given page.

  1. If editors control the specific set of content in the context of a Publication for a given page, only localize a container component on the page but leave the page shared. The placement and rendering/template of the page remains the same, with local flexibility for the items in the container.
  2. If the set of content depends on the visitor's attributes and the context and rules are known, use the Content Delivery APIs (Taxonomy and Criteria filters) and possibly the Ambient Data Framework to create the selection of content during the visitor's session. The classic scenario is to present a list of articles in reverse sorted order by date.
  3. If the rules are not known, nor even which page the content should appear on, consider a personalization implementation using Experience Optimization or other solution.

Anyways, the point is to separate parts of a page and a content model (but not too much--consider the editors!) so the modular parts can be managed easily and localized (or not) as needed.

And in practice, it's hard enough to implement a proper authorization model. I suspect going one step further to prevent localization at an item level would be tedious for implementers and editors.

| improve this answer | |
3

You can prevent localization (in certain Publications) using security: you can set (un)localize permission on Structure Group level.

Stopping inheritance/sharing is not possible.

| improve this answer | |
2

No, there is no way to prevent Blueprinted (i.e. Repository Local Objects) from being inherited or localised. This is one of the 'rules' of BluePrinting. You can, of course, control who is able to localise items through user and group permissions and just because something is inherited through BluePrinting doesn't mean that you have to use or publish it. I have yet to see a real need for it in an implementation, but you could also apply additional business rules via one of the Content Manager extension points such as the Event System or a GUI Extension.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.