[fleXive] administration

The [fleXive] user account administration UI provides an administration interface to administer your user accounts, assign users to user groups assign roles and administer additional settings like account activation and language settings.

The following screen shows the user account editor when creating a new user.

Roles are a key feature of the [fleXive] security concept. There are two ways to assign roles to a user.

  • (1) Direct assignment
  • (2) Inheritance through user group membership

After creation, you will be redirected to the user account overview where you can edit and delete users.

The user group editor allows you to create and edit user groups. You can specify a group name, a color and assign roles to the group.

After saving you will be redirected to the user group overview.

The following screen shows the user account overview. The default system user groups cannot be deleted:

Everyone (Default)

For every mandator an according "Everyone" group is created automatically. In order to be able to distinguish the different "Everyone" groups, the mandator's name is shown in the brackets. The "Everyone(Default)" group contains every user of the mandator named Default .

Everyone

System user group containing every user of every mandator.

Owner

The system user group Owner is used to assign ACLs and thereby grant permissions to content owners (i.e. users that created content).

By clicking the edit icon a user group may be edited and by clicking the delete icon a user group may be deleted.

This chapter explains the administration UI for mandators. Please see section Mandators in chapter Security for an explanation of the concept of mandators used in [fleXive].

The ACL administration UI provides an ACL editor to edit and create ACLs and to set permissions for user groups in the permission matrix. ACLs are a key feature of the [fleXive] security concept.

The following screen shows the ACL editor in create mode.

You must specify

  1. The mandator

  2. The ACL's name

  3. The ACL's label

  4. A color

  5. A category

    Please see chapter ACL's - Access Control Lists for information about ACL categories in [fleXive].

    The following categories are available:

  6. An optional description

After pressing the "Create" button the permission matrix becomes available.

On the following screen you can see the default ACLs for each category and a user defined ACL (named myacl).

You can switch between different mandators with the select box on top of the list.

By clicking the edit icon an ACL be edited and by clicking the delete icon an ACL may be deleted.

The [fleXive] workflow administration UI allows you to define step definitions and workflows. Step definitions are used as steps in one or more workflows. You can define routes between these steps. See the core component chapter Workflow Engine for additional information about workflows in [fleXive].

The basic elements of a workflow are:

Steps: Previously defined steps definitions may be used as steps in a workflow. Each step needs an ACL of category workflow assigned to it. See workflow ACL for details about ACL creation.

Routes: Routes define the possible transitions from one workflow step to another. Each route must have a user group assigned representing users who may perform this transition.

The following diagram illustrates the routes defined in the example workflow displayed on the screenshot.

The [fleXive] script administration allows you to create and edit scripts via the script editor and to execute scripts directly in the script console. The scripting language of choice is Groovy, but if JavaSE 6 or higher is used any language supported by the Java Scripting API can be used. Please see the section Scripting Engine for more information about scripting in [fleXive].

Before a script can be created a valid name is required. After a valid name has been provided in the "Name" text field, the script editor and the additional buttons become available. A script requires a script event and of course some code.

If the default script event is set to Manual, the script can be directly executed via the "Run script" button or via the administration UI in the script overview.

The "Syntax check" button is available for all Groovy scripts (checking for a .gy or .groovy extension. The "Add default imports" adds the most commonly used [fleXive] classes to the import statements of the script.

Table 9.1. FxScriptEvent list
List of available events
  • Manual
  • BeforeContentSave
  • AfterContentSave
  • BeforeContentCreate
  • AfterContentCreate
  • BeforeContentRemove
  • AfterContentRemove
  • AfterContentLoad
  • AfterContentInitialize
  • PrepareContentCreate
  • PrepareContentSave
  • BeforeDataChangeUpdate
  • AfterDataChangeUpdate
  • BeforeDataChangeDelete
  • AfterDataChangeDelete
  • BeforeDataChangeAdd
  • AfterDataChangeAdd
  • BeforeAssignmentDataCreate
  • AfterAssignmentDataCreate
  • BeforeAssignmentDataSave
  • AfterAssignmentDataSave
  • BeforeAssignmentDataDelete
  • AfterAssignmentDataDelete
  • BinaryPreviewProcess
  • AfterAccountCreate
  • AfterTreeNodeAdded
  • AfterTreeNodeRemoved
  • BeforeTreeNodeRemoved
  • AfterTreeNodeActivated
  • BeforeTreeNodeActivated
  • AfterTreeNodeFolderReplacement
  • AccountLogin
  • AccountLogout
  • AfterAccountCreate

The Run-Once script information GUI displays valuable information about the run-once scripts. The GUI is a good starting point for debugging run-once scripts as script execution success, script execution time and possible error-messages are displayed. A popup containing the full error message is opened by clicking on an error message in the tabular overview.

The [fleXive] select list administration allows you to create, edit and delete select lists.

A select list consists of select list items . The select list editor allows you to add and delete select list items. The user can only add items to select lists after it has been created.

A select list item requires a name, a label and an ACL of category SelectList Item. Additionally String data may be stored within the select item a color may be selected to improve GUI display and already created select items may be assigned as sub-elements of this select item. Select items are created by pressing the "Create new item" button.

Existing select items may be modified (edit icon), repositioned within the select list (up and down arrows) and deleted.

The import and export of structures is already described in the section called “Structure export and import”. Additionally the Administration GUI provides the possibility to export and import whole divisions.

In order to export a division, a file name (including full path) has to be provided and the "Export" button needs to be pressed. The division export creates a .ZIP file using the given file name containing all division data. Note: If only a file name (without path) is specified, the file is created in the current working directory. After a successful division export the user feedback displays the the exact path of the export file.

In order to import a division, the file name of the export .ZIP file has to be specified and the "Examine" button has to be pressed. After pressing the "Examine" button information about the exported division is displayed.

Now the user can import the division by pressing the "Import" button.

The System administration contains on the one hand tools that display and allow to modify system settings and configuration and on the other hand tools that simply don't fit in anywhere else.

The available tools are described in the following sub-sections.

The search settings provide three tools:

  • FxSQL Query GUI: In contrast to the visual query editor the FxSQL GUI contains a text input area where the user may submit FxSQL queries directly and optionally create briefcases.

    FxSQL is a [fleXive] SQL (structured query language) dialect.

  • Default query: Allows the definition of a system-wide default query for [fleXive] administration GUI users using the query editor.

  • Default result preferences: Allows a fine grained control about what properties and in which order properties are displayed when searching for a content type.

    For every existing content type the properties that should be displayed in a result set can be selected. Via the "Add entry" button properties can be selected, and their position can be changed using the arrow icons. Properties can be removed from the result set again using the trash can icon.

    Different property sets for different view types are supported. I.e. the user may choose to display certain properties in Thumbnails> mode and different properties in List mode.

    Different property sets for different search locations are also supported. The search location is a parameter that can be supplied to a FxSQL search query in order to provide contextual information from which location the search was issued. In practice different search locations are used to display different property sets which can be customized:

    • Content results: Search location used by the [fleXive] administration GUI when searching for contents.

    • Browse references popup: Search location used by the [fleXive] content instance editor for displaying referenced contents.

    • Default location: Fallback search location which is used when the search location parameter is not set.

The System configuration allows the user to modify [fleXive] system settings.

The configuration includes:
  • Enable live tree: if this option is disabled, the user cannot switch to the live tree in the content instance editor anymore. Note that the administration GUI needs to be reloaded via the browser in order for changes to take effect!.

  • Auto flatten assignments: automatically flatten assignments that can be stored in the flat storage (max. multiplicity <= 1).

  • Export URL prefix: path used by the export servlet.

  • Store binary transit files in Database: if enabled, binary files are stored directly in the database during file upload, instead of the file system.

  • Binary transit path: file system path to store binaries during file upload.

  • Binary threshold: threshold in bytes to store binary files on the file system (instead of directly in the database) if exceeded.

  • Binary preview threshold: threshold in bytes to store preview files on the file system (instead of directly in the database) if exceeded.

  • Binary path: path to store binary files on the file system.