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.

Image: Edit property screen

Adding a property

  1. In admin view, from the Content Type tab, select a page type and click Add Property.
  2. Fill in the fields.
  3. Field Description
    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.

    Name

    Name the property. This is used when programming and making language settings.

    Presentation control

    Use of multiple editors is supported but the TinyMCE editor is used most often, and the Presentation control drop-down list appears dimmed. If your website is configured to allow multiple editors and you chose the property type XHTML String (>255), the Presentation control drop-down list is enabled, and you can select the XHTML editor to use.

    Default value

    Select a value for the property. This is the default value on all pages where it is used. You can specify a default value for both customized and built-in properties.

    Value must be entered

    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.

    Searchable property

    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.

    Unique value per language

    Select whether the property is unique for a certain language. This is needed only if the website supports globalization.

    Display 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.

    Field 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.

    Tab

    Select the tab on which the property is to be displayed in the Tab drop-down list.

    Sort index

    Select a relative number to sort this property among other properties.

  4. Click Save.

The Custom Settings tab displays custom information for the selected property type.

Defining language-specific properties

When working with globalizationManaging 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

  1. On the Content Type tab, select the page type that contains the property to be set.

    Image: Edit property, Common settings tab

  2. Click the name of the property that you want to change.
  3. Select the Unique value per language option.
  4. Save your changes.

Organizing properties in content

You can alter the order in which properties are displayed to editors in a page or block type. You can also move properties between tabs in a page type. These changes are done for each page type in admin view.

Changing the order of properties

Follow these steps to change the order in which properties appear in the All properties editing view. For example, you can display important properties at the top of the page.

  1. Select the page or block type on the Page Type or Block Type tab.

    Image: Page type settings screen

  2. Click an arrow to move a property, or drag and drop the property to a desired order.

Placing a property on a tab

  1. Select the page type on the Content Type tab.
  2. Click the name of the property that you want to modify.
  3. In the Tab drop-down list, select the tab on which the relevant property will be placed.
  4. Click Save.

Configuring customized property settings

On the Config tab under Property Configuration > Edit Custom Property Types, you can configure custom property types.

Priorities and configuration

The property settings have the following priority:

  1. 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.
  2. A specific setting for a property defined for the model in code.
  3. A global setting defined in admin marked as the Default settings for the property type.
  4. 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.