One of the main features of eTraxis is a complete customization of the items you track. You can set up any workflow with any rules, and actually you can track anything besides bugs in software. It can be your tasks, or your stamps collection, or stuff you borrow from your friends (or give them) − just anything that can be described as a state machine. This makes eTraxis not just another "bug tracking tool", and since an item to track can be not a bug but any object of the real world, we use term "record" in eTraxis. So, a record is a single item eTraxis tracks, and records are main objects you will work with in eTraxis.
You may have as many different workflows as you want. Each workflow much be preliminary described as a template, which will contain information about set of states, possible transitions, permissions for users, etc.
To avoid a mess of templates, they are grouped into projects. Each template belongs to exactly one project − it can't belong to several projects, or to no project at all. On the other hand a project can contain any number of templates. So, each time you create new record, you have to choose a project among all projects available to you, and then one of templates existing in selected project. Chosen template will define a workflow of this new record.
As you know, a workflow is a set of states with possible transitions between them. eTraxis has two types of states − intermediate and final. Intermediate state can have transitions from itself to some another state; final state cannot. Also, a record is called "opened" while its current state is intermediate. When state of a record is changed to final one, the record becomes closed. You can change state of a record only while the record is opened. By the way, all closed records are displayed in grey in the list of records.
Exactly one of intermediate states must be marked as initial. This is a first state of newly created records. You will not be able to use a template, if it doesn't have initial state.
eTraxis allows you to specify in a template what data must be provided by user in each state of your workflow. Each piece of data is a field, which is linked to particular state. When user is creating a record, he is requested for values for all fields linked to initial state. If user is moving a record to new state, he is requested for values for all fields linked to this state.
Please note, if a record never was in some state, then the record doesn't have fields of this state yet. Thus, when user is modifying a record, he's able to change current value of any field, which already exists in the record.
You can create any amount of such custom fields in any state. Each custom field is one of following predefined types:
- multilined text,
- check box,
Each field has "required "attribute, which defines whether a user can omit this field and leave it blank.
Also eTraxis has one predefined field, which is present in every created record and is required − "Subject". This is a string with maximum length of 250 characters. The field is implied as brief description of a record, and displayed in the list of records among other record attributes.
There are two kinds of users in eTraxis − regular users and administrators. Regular users work with records − create them, modify, track, etc. Administrators can also manage users and their permissions, and configure workflows.
When you are initially registering a subdomain at www.etraxis.com, you get one predefined administrator with login "root" and password which you entered on registration. Use this account to log on your subdomain and to configure workflows and other users.
One of the most important features in any tracker is an ability to assign tracking item on a person. Such assignment means that this person becomes responsible for actions, as they are expected according to the workflow. Unfortunately, a lot of existing trackers do not control such assignments and you are able to assign tracking item in any state, even when the item is completed and no more actions are required.
eTraxis allows you to specify exact rules how to control assignments when the state of a record is being changed. When setting up a new template, you have to specify a special "responsible" attribute of any intermediate state. This attribute can be one of following values:
- keep unchanged.
"Assign" means that a record must be assigned on somebody when it's being moved to this state. eTraxis will require assigning the record, even if it's already assigned.
"Remove" means that a record must become unassigned when it's being moved to this state. It doesn't matter whether the record was assigned before.
"Keep unchanged" means that current assignment of record must not be changed. If record was assigned on somebody, it will remain assigned; if record was not assigned on anyone, it will remain unassigned.
Final states do not have such attribute, and always work as they are set to "remove" option − when record is being moved to final state (i.e. going to be closed), its responsible is removed, if any.
When you are configuring a template and chose "assign" for some state, you will be able to specify list of groups, which members may be assigned in this state.
eTraxis has extensive permissions management. There are three bunches of permissions:
- permissions to operations on a record,
- permissions to transitions of a record from one particular state to another,
- permissions to custom fields of a record.
While projects lasts, a lot of people can join in or quit out. To avoid a lot of actions, needed to give required permissions to new person or to revoke from quiting one, all permissions are managed among groups only. You have to grant permissions to required groups just once, during your templates set up, and all that you will need later is just manage list of members of your groups. No permission can be granted or revoked for one particular person only.
There are two kinds of groups in eTraxis − local and global. Local groups exist only inside the project they belong to. You can use these groups to manage permissions only for templates of the same project. Global groups are system-wide and accessible in any project registered in eTraxis.
Besides groups, there are also three system roles in eTraxis − registered, author, and responsible − which can be used to manage permissions too.
Registered is any person, who successfully logged in eTraxis. This role is useful when you need to grant some permissions outside your project, e.g. to create new records in your project by any authenticated user, no matter what groups he belongs to.
Author is a person, created the record.
Responsible is a person, which is current assignee of a record.