Hot answers tagged

39

XSD would allow for this, and it is a very commonly used pattern. The Tridion CME/FieldBuilder will not understand it though, so you'd have to create a custom schema and an editor to go with it. I've done this in the past using Component links - you create a hierarchy, just like you defined it, but each entry in the menu is represented by a component, with ...


17

You need to use RepositoryItemsFilterData: var filter = new RepositoryItemsFilterData(); filter.ItemTypes = new[] {ItemType.Schema, }; filter.Recursive = true; var schemasXml = ClientAdmin.GetListXml("tcm:0-2-1", filter); You can also use OrganizationalItemItemsFilterData in the similar way, but on the BuildingBlocks level


17

Constraining field content describes constraining field content with the use of facets. Facets constrain the properties of a field type, so you will have to adjust the type definition of your Schema field. Take your current field definition in your Schema <xsd:element name="tag" minOccurs="1" maxOccurs="unbounded" type="xsd:normalizedString"> <...


15

Reusability is good, but if you have different types of content, it can be an error trying to fit all of them on the same schema. The most affected by these decisions will be the editors, it is good to check with them how they envision the content model. Advantages: Reusability. You can reuse the same content with different presentations avoiding repeated ...


14

Tridion doesn't have 'page links' it uses component links. This makes sense if you think about how you separate the components (content) and structure (pages) in different publications. you link / relate one component to another. You then can build the linking rules and logic into your templates. Tridion can then also own broken links to stop them ...


14

You can localise and change the schema field descriptions, to allow a local team content editors to see friendlier labels, which is a nice touch. You may also localize a schema to apply a different workflow. You can't localize a schema to add new fields or change the structure of it. This is by design in the CMS. Imagine if a user accidentally ...


13

Manoj, I really want to understand why you really need that; Tridion does not have the functionality that you are looking for OOTB, and there is a valid reason for that. Please see my points below: If you want to link to a page maintained outside the Tridion, make a schema field of type - External Link If you want to link to a page maintained in Tridion, ...


13

There is no reason in principle not to use one namespace for multiple schemas, as long as those schemas don't attempt to define the same types. A namespace is a mechanism to enable you to prevent name collisions. If you have some other factor helping to prevent such collisions, there's no reason why namespaces should do all the hard work. The most ...


13

I - like most other Tridion implementers, I'm sure - have also been confronted with this very important decision, and my conclusion has always been that It doesn't matter as long as it is consistent Often the challenges I've seen are more around semantics than actual grammar - making sure your "displayHeadline" field is always called "displayHeadline" on ...


12

In a typical Tridion Blueprint, you have content created or translated in a single language per publication. With this in mind, Tridion allows you to localize the schema and change the Description of each field in the schema. So in your French translation publication, or your French website publcation you could have schema field descriptions translated to ...


12

Using the same namespace on all your schema is a TERRIBLE idea. Especially if you ever use XML technologies to read values from the XML. Imagine you have a Sandwich Schema and and a Restaurant Schema, both schemas have a field called "Name". Now for what ever reason you need to merge these resulting Component XMLs into one document. All the nodes in the ...


12

When you opened your Schema to edit it, you got a notification indicating that your changes would not be updated in derived Components. (in 2013 it mentions Changes to this Schema will affect all related items. together with a Show Where Used button, agreed this isn't as clear as it was stated in older versions, but I believe this is the least read message ...


11

I would first say selecting a color for text is not a very common use case and most organizations prefer to set the style and color using CSS stylesheets to provide a consistent look and feel for the website. However, I understand your requirement and will provide 3 options: The Rich Text field has an option to set a color or a CSS class on text. You ...


11

Some constraints - maxLength, or min|maxOccurs - are handled really well by the CME. Other constraints may get a really hard to understand error message: You may want to test this before just rolling it out to your editors. Max length, if I'm not mistaken, will simply not allow you to type any more characters once the limit is reached. I did some research ...


11

We have a small command line application we modify as needed to update schemas. We use core services to call GetListXML on the folder containing the components we want to update: public XElement GetAllComponents(string folderUri) { var filter = new OrganizationalItemItemsFilterData() { ItemTypes = new[] { ItemType.Component }, ...


11

This is happening because you have 2 embedded schemas in the same schema, and did not change the Root Element name for either. More detail on this is available on this answer. The short story is that you can fix this by changing the Root Element Name of your embeddable schemas to something else than "Content". You may have to change the schema type to ...


10

Aside from manual or core service scripts consider the PowerTools PowerShell option, compliments of Dominic Cronin, or Content Porter, especially useful to set defaults field values. PowerTools 2011 has (a PowerShell Version of) Component Synchronizer. Dominic Cronin created a PowerShell version of Component Synchronizer branched within the PowerTools ...


10

I can tell you that I wish it was that simple. What you're asking for is not Page linking (which would be relatively easy to do in the Tridion Core). What you're really asking for is cross-publication linking, which is next to impossible to achieve in Blueprinting. That said, I commonly implement a set of "dummy" components for special pages, these ...


10

Through TDSE, you will not able to populate the default value automatically, however, you can try the Code Block below to retrieve the default value of a particular metadata field in the Schema: TDSEClass tdse = new TDSEClass(); tdse.Impersonate(userName); Schema schema = (tdse.GetObject(schemaId, EnumOpenMode.OpenModeView, null, ...


10

Actually, yes, it will potentially cause issues in the future. For one, we're looking into implementing "Find Schema by Namespace" functionalities on CM and CD - having the same namespace for all schemas will "confuse" Tridion, at the very least. I have also seen problems with Content Porter Translation Manager (though there was other stuff going on in the ...


10

To hide schema from specific users or groups, place them in a folder and apply security which reduces the read permissions to specific groups. When the drop down is generated in the create component view, only schema to which the user has read permissions will be displayed. I typically have a few folders for schema (e.g. System Schema, Content Schema and ...


10

It appears that having a keyword field in the metadata of a component causes this problem after HR1. Hotfix CME_2013.1.1.88649 available https://www.sdltridionworld.com/downloads/hotfixes/SDL_Tridion_2013_SP1_HR1/index.aspx fixes the issue.


9

You could write a .net Console application that uses the Tridion Core Service to update metadata on the existing pages. Elena Serghie has written a guide to setting up the Core Service. There's also this useful article on updating content with Core Service.


9

You need to remove that old version that is referring to your Schema. Make a note of the specific version(s) that were using it in the "Where Used" dialog. Then if you open up the version history of the item that was using your Schema (ensure you do this at the item's owning Publication), you can now delete the version by right clicking on it. The reason ...


9

You can localize the schema and update the Description field as shown below. Localization of schema's does not allow you to change any of the field definition e.g. data type


9

If you set a linked schema on folder and call GetDefaultData from Coreservice it will return a new component with the schema set and appropriate component type set multimedia or normal. Mandatory has no effect on returned default data. However, it has impact on saving the component as described below. From API docs If the linked Schema is not ...


9

I think it's something you agree as a team. At Building Blocks we tend to use underscored names for XML names e.g some_field. I don't think there's a "right" way of naming, as long as it's consistent throughout the implementation (and valid XML!)


9

In your screenshot, notice how the "Content" attribute is null. For each component, you need to call: ComponentData component = (ComponentData)coreServiceClient.Read( componentTcmId, new ReadOptions()); Now you can parse the component.Content to read the field values. By the way, if you happen to have metadata fields as ...


8

Vishal, Did you try doing a "Where Used" on the owning publication level? The error that you get "Only used in old version" indicates that the schema is still in use by some items in older versions. You might need to manually go to the item history and delete any older versions of item that have reference to the Schema before you can remove the Schema ...


8

A generic content schema can complement a well-designed content model, but shouldn't be the only schema in an implementation. Advantages A generic schema offers: Familiar and consistent fields for authors and template designers The ability to create a variety of component presentations (ultimate flexibility has a cost, though) Faster development; existing ...


Only top voted, non community-wiki answers of a minimum length are eligible