System - Operations

From Cyclos Wiki
Jump to navigation Jump to search

Related sub-modules

System - Scripts

Description

A custom operation is an arbitrary operation triggered by users. They are conceptually different from System - Extension points in the sense that while extension points are triggered by other events (such as user registration, payment authorization, etc), custom operations are always manually invoked.

Business rules

A custom operation has form fields, which are defined as custom fields (similar to dynamic documents). Besides them, it also can allow the user to upload a file.

When the user submits (which may require a confirmation dialog, if a confirmation text is set in the custom operation), the form fields, the uploaded file and the script parameters (which is set in the custom operation configuration) are passed to the implementing custom script.

The result might be:

  • A notification message
  • A plain text, which is displayed in the page (and optionally printed)
  • A rich text, which is displayed in the page (and optionally printed)
  • A file download

Custom operations have 2 scopes:

  • System: Only accessible by administrators. The admin main menu where the operation will be shown is configurable.
  • User: Always have an user when executing. May be triggered by managers (admins / brokers) or users themselves, depending on permissions. The user main menu where the operation will be shown when the user running himself, or the profile action section for managers (when viewing an user profile) are configurable.

Notifications

N/a.

Page: List page

Security

Roles:

  • administrator

View permission:

Other permissions:

Page sections

Search result (list *)

  • Automatically shows custom operations sorted by name.
  • Show a button to create a new custom operation
Fields Type Rules
Name Text The custom operation name
  • When the operation is disabled, show as strikethrough
Remove Icon If confirming, removes the custom operation



Page: Details page

Tabs:

  • Details
  • Form fields

Security

Roles:

  • administrator

View permission:

Other permissions:

Page sections

Details page

Fields Type Rules
Name Text field The custom operation name
  • Required
  • Unique
Description Text area Optional description (only shown in this page)
Enabled Checkbox Indicates whether this operation is enabled for use
Custom submit label Text input Her you can define a custom label in case you want a specify a name on the submit action (and not just 'submit').
Scope Radio buttons Defines the scope of this operation. Possible values:
  • System

When system is selected the custom operation will be available from the administration interface. You can select in the 'Main menu' option the location where the custom operation will be available (e.g. banking, users, content.. etc.). In the left menu a new sub-menu section will appear with the label 'Operations' in which the Custom operation will appear.

  • User

Similar as with System option described above you can define in what main menu the operation will appear. With the option 'User management section' you can define where the action will appear for brokers and admins that can run the operation from a user profile.

  • Custom menu

If this option is selected the operation can be bound to a content item, meaning you can place it in any custom main menu or sub-menu. In a content item details you can select as 'Item type' a custom operation.

  • Internal

This option means the custom operation won't show up anywhere, but can be accessed by another custom operation or any script

Script Single selection Defines which script runs when this custom operation is executed
  • Required
  • Should show all scripts with type = Custom operation
Script parameters Text area Parameters passed to the script, with the same format as Java Properties
Result type Single selection Defines what is the expected result type for the script execution.
  • Required
  • Possible values:
    • Notification: The script should return a string, which is shown in a notification area
    • Plain text: The script should return a string, which is shown in the page as plain text, and optionally printed
    • Rich text: The script should return a string, which is shown in the page as rich text, and optionally printed
    • File download: The script should return a file, which will be downloaded by the client
Has file upload Checkbox Indicates whether the script will accept a file upload
Admin menu Single selection Defines in which main menu the operation will show up
  • Only visible if the scope is system
User menu Single selection Defines in which main menu the operation will show up
  • Only visible if the scope is user
  • Used by members to run the operation themselves
Profile section Single selection Defines in which profile management section the operation will show up
  • Only visible if the scope is user
  • Used by managers (admins / brokers) to run the operation over a specific user
Information text Rich text field If some text is entered, will display a notification in a box when running the custom operation
Confirmation text Text area Text show in a confirmation dialog when the user clicks submit (to run the operation).

When no text, there will be no confirmation.


Page: Run custom operation

Security

Roles:

  • administrator
  • broker
  • member

View permission: No specific permission. The permissions are granted via relationship to products.

Page sections

Form

  • Shows the custom operation form fields, as defined in the custom operation
  • If the custom operation allows a file upload, there will be a button to select a file
  • If the custom operation has an information text, show the text in the page
  • There is a submit button. If the custom operation has a confirmation text, that text will be presented in a confirmation dialog when the user clicks on submit
  • Result handling:
    • If the result type is notification, show the result in a notification area
    • If the result type is either plain text or rich text, show the resulting text in the page, with close and print buttons
    • If the result type is file download, present the browser download dialog