The structure editor

The structure editor allows you to define the structure or blueprints of content instances. In essence, the structure of a content instance is defined by three main building blocks:

The smallest building block is represented by property, which defines what data may be assigned to a content instance and who has access to that data. In order to make life easier, a specific set of properties can be grouped together into a group. A group can then be assigned to a different type later on, therefore saving you the trouble of manually assigning every single property to the type all over again. A more detailed explanation can be found in the chapter about structures.

Important

Please note that properties and groups on their own do not "belong to" types and also types do not "consist of" properties. Instead properties and groups need to be assigned to types. In practice this means that, when you want to add a property or a group to a type, what you really do is creating a property assignment or group assignment which acts as a "link" between the type and the actual property. Similarly, if you remove a property or group from a type, means removing the assignment so that this specific property or group is no longer assigned to the type anymore. Also note that properties or groups that are not assigned to any type or another group will be automatically removed from the system.

The structure editor GUI is reachable by clicking the Structure tab (1) in the administration backend. The GUI is separated into two parts: the structure tree (2) on the left half of the screen and the edit view (3) on the right half.

  • Left click: left clicking on an element in the structure tree opens the element in view mode on the right half of the screen. Left clicking on the [+] graphic icon to the left of a specific element expands the tree and shows the children of the specific element. Left clicking on the [-] graphic icon to the left of a specific element collapses the tree and hides the element's children.

  • Left clicking on the caption of the structure tab opens a drop down menu. The following options are available:

    • Create a new type.

  • Right click: right clicking on an element in the structure tree opens a context menu with possible actions. Depending on which element was right clicked different actions are possible:

    • For types it is possible to:

      • Open the type in view mode.

      • Open the type in edit mode.

      • Create a new property that will be automatically assigned to this type.

      • Create a new group that will be automatically assigned to this type.

      • To create content for the selected type (this aciton will open the content editor).

      • To search for content instances of this specific type (this aciton will open the query editor).

      • To delete the selected type.

    • For group assignments it is possible to:

      • Open the group assignemnt in view mode.

      • Open the group assignment in edit mode.

      • Create a new property or group that will automatically be assigned to the selected group assignment's group.

      • To copy the group assignment, so it can be pasted into another group or type.

      • To cut the group assignment, so it can be pasted into the same group or type at a different position.

      • To delete the selected group assignment.

    • For property assignments it is possible to:

      • Open the property assignment in view mode.

      • Open the assignment in edit mode.

      • To copy the group assignment, so it can be pasted into another group or type.

      • To cut the group assignment, so it can be pasted into the same group or type at a different position.

      • To delete the selected group assignment.

  • Cut: the cut operation is used to change the position of an assignment at its current hierarchy level. To change the position of an assignment, you have to right-click on the assignment you want to move and select "Cut" from the context menu. Then you are able to select another assignment on the same hierarical level, perform a right-click and select either "Paste above" or "Paste below". The assignment which you have cut will then be inserted either above or below the selected assignment. Note that you cannot change the position of system internal assignments at the root level of the structure tree.

  • Copy: the copy operation is used to create derived assignments and paste them into the structure tree at a chosen position. To facilitate insertion various paste operations are provided:

    • Paste into: This is the default pasting operation for copied assignments. A derived assignment will be created and pasted into the chosen group or into the chosen type at the last position.

    • Paste into as: Works like "Paste into" but additionally prompts you specify a new alias so you can create a derived assignment and paste it into the same group with a different alias.

    • Paste above and paste below: pastes an assignment directly above or below another assignment.

    • Paste above and paste below as: Works like "Paste above" and "Paste below" but additionally prompts you specify a new alias so you can create a derived assignment and paste it into the same group with a different alias.

If you want more information on types and their specific settings please refer to the section called “Type parameters”.

Generally speaking an option is just a pair of a key and a value. The user can access the options by left clicking the "Edit Options" tab.

In the image above, the group options table and the group assignment options table are displayed. The group has three options with the keys "MYOPTION", "MYOPTION2" and "MYOPTION3". The "Overridable" checkbox indicates which options may be overwritten by the group assignment (i.e. may have the same key but a different value).

In the example above, only the group option with the key "MYOPTION2" and value "myvalue" is marked as overridable. This option is successfully overwritten by the group assignment option with the same key "MYOPTION2" and the different value "another value".

Options can be added by filling in the empty fields on the bottom of the according table and clicking the "Add" button which is located in the "Actions" column of the table. An option can be deleted again by selecting the according row and pressing the "Delete" button which is also located in the "Actions" column of the table.

In order to facilitate the editing of options, visual helpers are provided:

  • Option displayed in green: This is a valid option, for example "MYOPTION" in the group options table.

  • Option displayed with grey background: The assignment tries to override a group option which is currently not set to "Overridable", for example "MYOPTION3" in the group assignment options table.

  • Option displayed in red: This is an invalid option. Either the option has no key, or the option has no value, the key already exists or the assignment tries to override an option with the same value. The key "MYOPTION4" exists twice in the group assignment options table, therefore making it invalid.

In order to display the visual helpers, the "Validate" button on the bottom left has to be clicked.

If you want more information on groups and their specific settings please refer to the section called “Group parameters”.

If you want more information on properties and their specific settings please refer to the section called “Property parameters”.

Scripts can be assigned to a type or property assignment by using the script assignment editor, wich is reachable by clicking on the "Scripting" tab. The number in brackets on the "Scripting" tab refers to the number of scripts that have already been assigned. Note that only users that are in the role of "Script Manager" may edit script assignments.

Via the editor it is possible to add, remove and edit existing script assignments. Clicking on a specific script name provides a shortcut to the script editor in the "Admin" section, where the script code can be inspected or changed. A script assignment consists of a specific script and a specific script event, which designates when a script will be run. Naturally, types and assignments provide different subsets of events to choose from.

Furthermore it is possible to activate and deactivate script assignments. For deactivated script assignments, script execution will be prevented. It is also possible to derive script assignments to child types or property assignments. The inherited script assignments of a parent type or property assignment can not be directly in the script assignment editor of the child. Instead a link is provided for derived script assignments, which opens the script assignment editor of the parent type where changes can be made and are in turn propagated to all derived children.

In order for changes to take effect, the script assignment editor -just like the other editors- provides the "Save" button at the bottom left of the script assignment editor view. A shortcut to the button can also be found on top of the content frame.

If you want more information on scripts and their specific settings please refer to the section called “Scripting Engine”.