Properties
This topic is intended for administrators and developers with administration access rights in Optimizely.
Properties are central in Optimizely CMS. Content type properties store and present data, such as page types and block types, and they are fields where editors enter information into a page type. A property can be the page name, an image placeholder, or the editor area, where you can add text. For example, the XHTML editor is a property of the type XHTML String (>255), which results in an editorial area in the page type when used. For property content to be visible to visitors, link it to a content type with corresponding rendering.
Property types
You can define properties in code or from the admin view. For certain properties defined in code, you can create "non-breaking" changes in admin view to override these settings. If a property is defined in code and cannot be changed in admin view, information appears. If you make changes to a property defined in code, you can reset the changes to the values defined in code.
The following types of properties are used:
- Built-in properties are set by the system and are automatically available for all pages and blocks regardless of type. For example, PageName (name of the web page) and PageStartPublish (start publish date for the page).
- User-defined properties are added to the page or block type definition in code or from the admin view. Typical examples are Heading and MainBody.
You can locate property settings under the Config tab in the Property Configuration section, and under the Content Type tab when you work with content types.
Editing and adding properties on content types
You normally define properties in code but occasionally add them in admin view, because properties added from there are not rendered.
When you edit and add properties, the following tabs are available:
- Common Settings is where you edit a property's common settings.
- Custom Settings depend on the property data type being editing.
Editing a property
The upper General section of the Common Settings tab contains information about a selected property. If a property is defined in code, information about it appears, but you cannot change values such as property type and presentation control. You can change other settings, such as making a property mandatory or searchable. The lower User Interface part contains settings related to the property display in edit view.
See Adding a Property below for information about available settings for properties.
Adding a property
- In admin view, from the Content Type tab, select a page type and click Add Property.
- Fill in the fields.
- Click Save.
Field | Description |
---|---|
Name |
Name the property. This is used when programming and making language settings. |
Type |
Select a property type. You can choose from several property types: integer, string, page, date, and so on. You can also create a property type. |
Default value |
Select a value for the property. No value, Inherits value, or Custom properties. |
Localized |
Select whether the property is unique for a certain language. This is needed only if the website supports globalization. |
Searchable |
Clear the check box to exclude a property from search. It might be beneficial to avoid undesired property values the search index. By default, all properties are searchable. |
Required |
Select the check box to make it mandatory to enter a value for the property before saving. The setting is configured per property and content type. |
Display name |
Specify a heading for the property. This text appears for the editor when editing the page in All properties editing view unless a translation of it was added language resources. |
Help text |
Specify a help text to help the editor understand how to use this property, and appears in All properties editing view when hovering over the property name. |
Sort index |
Select a relative number to sort this property among other properties. |
Available in edit view |
Determine if the property is visible in edit view. By default, all properties are visible in the editorial interface. The setting is configured per property and page type. |
Tab |
Select the tab on which the property is to be displayed in the Tab drop-down list. |
The Custom Settings tab displays custom information for the selected property type.
Defining language-specific properties
When working with globalization Managing content in multiple languages, and localizing the user interface., you define in every template which fields vary depending upon the language. To do this, set the property for that field to "locked" or "open" for globalization using the Unique value per language setting in admin view.
Properties that have unique value per language are editable in all enabled languages on the website, which is normally the case. You can edit only properties that do not have language-specific values in the language in which the page was created (the original page language). These properties are disables in edit view with an icon indicating the original language.
Imagine the property defining the sort order field is not set as a unique value per language (that is, the Unique value per language check box is cleared). When creating a new page, you can set sort order in the original page language. But if you create a version of the page in another language, the sort order field is not editable. As a result, the sort order is the same for all enabled languages. If you want to change the sort order for each language, select the Unique value per language check box.
If a property is changed to not having a unique value, all existing values for that property are deleted. So if the property for the editor area is changed to not have a unique language, all text entered in the editor area for all languages on the website are permanently deleted.
Setting a property to be language-specific
- On the Content Types tab, select the page type that contains the property to be set.
- Click the name of the property that you want to change.
- Select the Localized option.
- Click Save.
Placing a property on a tab
- Select the page type on the Content Types tab.
- Click the name of the property that you want to modify.
- In the Tab drop-down list, select the tab on which the relevant property will be placed.
- Click Save.
Configuring customized property settings
You can configure custom property types.
Priorities and configuration
The property settings have the following priority:
- A specific setting for a property defined in admin view. This can be a custom settings for this property or pointing to a specific global setting.
- A specific setting for a property defined for the model in code.
- A global setting defined in admin marked as the Default settings for the property type.
- A global setting defined in code.
You can create a property, name it, and give it a data type and other settings.
Creating custom property types
The list of available custom property types done by a developer has the following columns:
- Name. The name of the content type created by a developer, of which some are selectable in the editorial interface.
- Base type. Shows the built-in types that can be extended by a developer.
- Class name. Shows the full name of the class. The class is defined in the assembly.
- Assembly name. Shows the class reference. A blank column indicates a built-in property.
A developer can create property data types by inheriting from the existing available ones.
Data type name | Base type | Description |
---|---|---|
Boolean | Selected/not selected | True or false. |
Number | Integer | An integer. |
FloatNumber | Floating point number | Number with decimals, for example, 3.14. |
PageType | Page Type | Optimizely CMS page type defined in admin view. |
PageReference | Page | Link to an Optimizely page in the current site. |
Date | Date/Time | Date and time. |
String | String (<=255) | Short text, fewer than 256 characters in length. |
LongString | Long String (>255) | Used for text that can exceed 255 characters in length, for example the main editor area in edit view. |
Category | Category selection | List of categories. |
LinkCollection | Link collection | A collection of links that can be added and edited in edit view. |
Default values for properties are not defined in code.