Design a workflow

eTraxis is not a tool to design a workflow, it only allows to enter pre-designed one. You should have your workflow ready before trying to configure it in eTraxis (e.g. like an example at right).

Figuring out what you want from your workflow, keep in mind the following things:

  • set of states in your workflow,
  • possible transitions among your states,
  • what attributes (custom fields) should each state have,
  • workflow permissions (e.g. who can move a record from state A to state B).

Workflow example

Step 1. Create a project

Go to the "Projects" menu, and click "Create" button there. If you already have a project and just want to create another template in it, you may skip this step.

Screenshot

Step 2. Create local groups

Recall permissions of your workflow, as you conceived them above, and decide what user groups will you need. You should prefer local groups against global ones every time, besides one particular case − you have a group, which you need in most of your projects and which will have exactly the same list of members no matter what project is it.

In the "Projects" menu open your project and go to the "Groups" tab − this is where you have to create your local groups one by one. If you need some global group, use the "Global groups" top menu item.

Screenshot

Step 3. Create a template

Having your project opened, go to the "Templates" tab and click "Create" button there. You will need to specify several attributes:

  • template name (required),
  • prefix (required),
  • critical age (optional),
  • frozen time (optional),
  • guest access.
Screenshot

"Template name" is used in the list of available templates when user is creating new record.

"Prefix" is a short string up to 3 characters length. This prefix will be displayed with unique identifiers of records. It helps to remind what template was used to create the particular record.

"Critical age" is an optional integer value of range from 1 to 100 which means amount of days. When record remains opened more than this amount of days it is displayed in red in the list of records. If this value is not specified, the record will never "expire".

"Frozen time" is an optional integer value of range from 1 to 100 which means amount of days too. When record is closed you cannot change its state anymore, but you still can modify its fields, add comments, and attach files. If frozen time is specified it will be allowed to modify record only this amount of days after its closure, then the record will become "read-only". If this attribute is not specified, record will never become "read-only".

"Guest access" means that non-authenticated users will be able to read records of this template.

Step 4. Set template permissions

Open your template and go to the "Permissions" tab − you can grant or revoke permissions for particular operations under a record to each existing group or system role. Below is a brief description of them.

Screenshot

Permission to view records means that members of the group are allowed to read records. Please note that roles "author" and "responsible" always have this permission.

Presence of permission to create records allows group members to create records using this template.

Presence of permission to modify records allows group members to modify records created by this template. Modification of record means changing existing values of its fields; any other operation with a record including changing its state is not a modification.

Permission to postpone records allows group to postpone existing records created by this template. Postponed record can be only commented until it is resumed − all other operations are disabled. All postponed records are displayed in blue in the list of records. Permission to resume records allows group to resume postponed records created by this template.

Permission to reassign assigned records allows to reassign record, which is already assigned, from current person to another. Usually this permission is granted to management and is not required for regular team members.

Permission to add comments gives an ability to post comments to any record created by this template.

Permission to add/read confidential comments allows to post confidential comments, and read existing confidential ones. Without this permission user can post and read regular comments only (see above).

Permission to attach files gives an ability to attach files to any record created by this template. By default, user can remove only file, that he had attached. Permission to remove files allows to remove any file, even it was attached by another person.

Permission to send reminders allows to create and send reminders about records created by this template.

Permission to delete records allows to completely erase any existing record created by this template. Software Configuration Management (SCM) standards strongly recommend do not delete any record − it's always better to have some kind of specific final state for such cases (e.g. named "Deleted"). This ability is given for extraordinary special cases only. Please use it with care (and better do not use it at all).

Any record (named "parent") can have unlimited number of subrecords, attached to it. Permissions to add subrecords and to remove subrecords allow to specify subrecords and remove specified ones.

Step 5. Create states

Now go to the "States" tab and create all your intermediate and final states using corresponding buttons on the page. Besides name of the state you will be requested for a couple of additional attributes.

Screenshot

"Abbreviation" is to be shown in the list of records and its purpose is just to remind you what is the current state of each record. It can be up to 50 characters long, but it's recommended to keep it really short − best abbreviation is about 3-5 characters long.

"Responsible" attribute is already described here.

Step 6. Set transitions

Configuring of transitions is obvious. Just open each intermediate state, and go to the "Transitions" tab there. You will see already familiar to you list of system roles and existing groups, which can be used to specify who exactly can move a record from this state to some another.

Screenshot

Step 7. Set responsibles

If you specified "assign" in the "Responsible" attribute of some state, you will see additional tab for this state named "Responsibles". Use it to specify members of which groups can be used for assignment in this state. Please note that record's author is always present in the list of possible assignees.

Screenshot

Step 8. Create fields

Now you can go to the "Fields" tab for every state, which should have some custom fields, and create them there. Do not forget to set permissions on your created fields. Custom fields, their types, and related permissions are described in details here.

Screenshot

Step 9. Select initial state

Everything is completed, but we didn't mark any state as initial. Open the corresponding state and click "Make initial" button there.

Screenshot

Step 10. Unlock the template

Any existing template can be locked, or unlocked back (active). When a template is locked, you can configure it (add new states and so on), but nobody can create new records with this template. When a template is active, it can be used to create new record, but you cannot change its states. This is meant to avoid possible conflicts when someone is trying to use a template which is being configured at the moment. By default new template is created in the locked state, so you have to unlock it when you done with its configuration.

Screenshot