Gjallar tries to deal with very different issue processes and still be able to integrate them in various ways. A large organization typically has a great many different issue processes, both trivially simple ones and those that are very complex.
Gjallar is meant to scale in complexity - it should be simple for the simple processes, and only as complex as it needs to be for more advanced processes.
Users and persons
Users are global objects in Gjallar and so are Persons. A Person is an object representing a real life individual. It has first name, last name, email, phone etc. There can be many Persons registered in Gjallar that are not users of the system.
A User represents an account in Gjallar so that a Person can log in. The User object has username, password, tool settings - and a reference to a corresponding Person object.
Users can be mirrored into Gjallar using an LDAP service. The exact settings to use are entered in the Ini file. There are also 4 builtin special Users: "root", "systemuser", "nobody" and "anybody", see Default objects. The root user is meant to be used sparingly since it is not restricted in any way. You typically first login as root in order to create other users and to assign one or more of them as Gjallar administrators. Then either of those can do most of the maintenance tasks, instead of using the root account.
If one of the Gjallar administrators create a User for you and you login you still can't do much unless they also give you access to one or more issue Processes.
The next fundamental object in Gjallar is the Process. A Process is a "system within the system" that handles one specific issue process in the organization.
An example would be the internal IT support issue process (most companies have one) or a customer support issue process. Almost everything in Gjallar is configurable per Process. Each Process imports subsets of the global object sets (users, persons and some other things) in order to control visibility. A customer support process might only show a small subset of all users so that the company does not open up unneeded information for their customers.
Each Process describes:
- A workflow graph with stages and transitions for the life cycle of its cases/issues.
- An optional permission model based on categorization of objects and users.
- Custom objects which are external entities that are mirrored into Gjallar using for example ODBC or a plain file source.
- Forms and fields used to enter information about a case.
- Role types that users can have in cases in this process.
- Various settings for how issues can be handled.
- ...and more.
Each Process also has one or more users assigned as Process administrators.