History of GalaxiaTutorial

Version 11


Created by: Stephan Borg, Last modification: 09 May 2004 (11:45 UTC) by Stephan Borg
Pre Requisites
  • Its presumed that you have basic programming knowledge including the assignment and use of variables.
  • PHP will be used for the coding part of workflow generation. If you don't know what PHP is, take a look at What can PHP do?. If you are unfamiliar with PHP, its recommended that you read the PHP Tutorial.
  • Smarty Template Engine will be used for the displaying of information in workflow generation. If you are unfamiliar with Smarty, it is also recommended that you read Codewalkers Smarty Tutorial.


Tikipro, has inherited a Workflow Engine from TikiWiki called Galaxia. This engine is quite powerful and easy to use once the basic concepts have been mastered. Rather than give you all the concepts now, I will introduce them throughout the tutorial to help understand their use and context in the scheme of workflow generation.
Ensure Workflow is enabled on your website. If you have the permissions, you can visit Administration / Administer Packages / Features and check the Workflow feature. Click Change Preferences to save your change.


The first part of creating a workflow is to create a Process. A process is usually the objective of the workflow. A process is defined as a set of activities that must be done to achieve
some goal. Business circuits are mapped to processes to automate them. Be careful not to confuse a specific Activity with the Process. Some example Processes are:
  • Tracking Employee Holidays
  • Approval for department budget requests
  • Tracking a CD Library

To create our Test Process, open the Workflow / Admin Processes section of Tikipro.
(TODO: Possible move to another section)You notice at the top of the page are 4 icons.
These icons are shortcuts to monitor other parts of workflow generation. For now know that they represent monitoring processes, activities, instances and work items.(/TODO)

In Process Name, enter the title of your process. As an example, we will do Hello World Process.
Optionally in the Description, enter a short description about the process.
Is active? indicates that the process is available for users. Leave this unchecked, as nothing will work while the process is blank.
Now click Create.

Uploading Process XML Files
Just below the Create button are Browse and Upload buttons. Later in the tutorial, we will export our process to an XML file which can be later uploaded here or used on other Tikipro installations.
To use, just Browse to your XML Process file and click Upload to create the process.

List of Processes
Once you've created or uploaded your new process, you'll find it listed at the bottom of the Admin Processess page.
Adjust the Find filter to find your process, if there are a lot of processes in the list - and click Filter to search.

Our Hello World Process should appear in the list.
The checkbox at the beginning is used if you wish to delete the process. Just check the checkbox and press the Delete button. If you do this now, be sure to recreate the process as shown above.

Next is the process name. Click on the process name and you'll find the details are entered in the form above to allow editing of the title or description. Also note the icons have changed as well as the errors shown below This process is invalid:. Don't worry about these for now, as we will get to them later in the tutorial. Click _Update to save changes.

Next column is the Version. As you improve on your processes, you can create new versions to work on while leaving existing users on the previous stable version. Once you are convinced that the updated version is suitable for public use, you can make it the default process. All existing user instances of the previous version will continue to completion and not be affected by the new version. This ensures that your workflow functions correctly during upgrades.

Active indicates if the process is free from errors and available for public use.

Valid is a green or red circle indicating whether the process can be activated or not. This is dependent on whether it has any errors - mentioned above.

Lastly, the Action icons are shortcuts to administer the process's activities, instances and other components.

Click on the first Action icon - activities Image.


Activities are actions that are performed during your process. A process can consist of many activities. By default, a start and end activity are created for you, but these can be renamed or deleted at a later stage. I'll define two other terms so you can understand their context later.

An instance is a particular process currently being executed. An activity can have many instances associated with it at any time. An instance is created when a process is initiated by a user and the instance will pass through the process activities until the process is terminated or completed.

A transition is the path between two or more activities. A transition defines what has to be done after each activity is completed.

Activities are broken up into different types. Here are two types listed below:
  • Image start - This activity type marks an entry point into the process. A process can contain many start type activities allowing for multiple ways to begin a process. Processes with many start activities are very strange but possible. Every process must contain at least one start activity. Instances are created when a start activity is executed. No transitions can lead to a start activity and only one outgoing transition is allowed per start activity.
  • Image end - This activity type marks the end point of the process. When an instance reaches the end activity the process is considered completed. A process can must contain only one end type activity. This doesn’t mean that processes can’t end in different ways. Since the end activity represents the process end, how the process ends depends on the activities visited beforehand. The end activity can have many inbound transitions but Outbound transitions are not allowed.

You can see on our Admin process activities page, at the top is the shortcut bar, similar to the previous page.

Below that you will see errors shown below This process is invalid:. We will review these later.

In the Add or edit an activity form, you are able to add new activities or by clicking on the names of existing activities, edit their properties.

Apart from Name and Description, there is a Type drop down. From here, you are able to select different activity types shown later in this tutorial.

Next there are two check boxes.

Interactive: - Activities can be programmed or user interactive. Interactive activities are activities requiring some kind of interaction with the user and these activities usually present a form asking the user to fill information. After the information is submitted, the instance is ready to move on to the next activity. Automatic activities in contrast are executed automatically without any user interaction. Data manipulation and programming is the most common use of an automatic activity.

Auto-Routed: - When an activitiy is completed, the instance may or may not automatically route to the next activity in the process. Activities with the Auto-Routing setting activated automatically route the instance to the next process activity on completion. If the activity is not Auto-Routing, the user must send the activity to let the process continue. This can be used in activities where the user can edit information and review it many times before deciding that the activity is completed.
(TODO: Maybe move to another section as each type is introduced)
  • Image activity - Normal activities don’t have any special meaning so they are used to represent things that should be done as a part of a process. Normal activities can receive many inbound transitions but can only have one outbound transition.
  • Image switch - A switch activity represents a point of decision in a process. Instances reaching a switch activity are evaluated and depending on programmed conditions, the instance is routed to different activities. Switch activities can have many inbound transitions and many outbound transitions.
  • Image split - When two or more activities in a process can be performed independently in paralell - a split activity is used to split the an instance, routing the same instance to many activities. This allows an instance to be in many activities at the same time. Split activities represent subflows in a workflow. A split activity can receive many inbound transitions and can have many outbound transitions.
  • Image join - A join activity is used to re-group multiple instances from a split activity. When an instance reaches a join activity, it is verified that all other related instances have reached the join activity. At this point, the instance can be directed to the next activity. Join activities can have many inbound transitions (more than one is expected) and can only have one outbound activity.
  • Image standalone - A standalone activity is not part of the normal flow of the process and are not related to process instances. A standalone activity can be executed any time by a user with the right permissions. These activities are ideal for data management related to the process, listings, adding items, removing items, etc. If there is no order relationship between different activities in a process, it can be designed as a set of standalone activities. Otherwise a processes will consist of a route of activities and a set of auxiliar standalone activities. Standalone activities can not have inbound or outbound transitions.(/TODO)
Page History
18 Nov 2005 (17:44 UTC)
Added attachment
Stephan Borg218.214.1.11349
Current • Source
Stephan Borg218.214.1.11348
View • Compare • Difference • Source
Stephan Borg218.214.1.11345
View • Compare • Difference • Source
Stephan Borg218.214.1.11344
View • Compare • Difference • Source
Stephan Borg218.214.1.11343
View • Compare • Difference • Source
Stephan Borg218.214.1.11341
View • Compare • Difference • Source
Stephan Borg218.214.1.11340
View • Compare • Difference • Source
Stephan Borg218.214.1.11338
View • Compare • Difference • Source
Stephan Borg218.214.1.11337
View • Compare • Difference • Source
Stephan Borg218.214.1.11336
View • Compare • Difference • Source
Stephan Borg218.214.1.11335
View • Compare • Difference • Source
Stephan Borg218.214.1.11334
View • Compare • Difference • Source
Stephan Borg218.214.1.11333
View • Compare • Difference • Source
Stephan Borg218.214.1.11332
View • Compare • Difference • Source
Stephan Borg218.214.1.11331
View • Compare • Difference • Source
Stephan Borg66.93.240.20430
View • Compare • Difference • Source
Stephan Borg218.214.1.11329
View • Compare • Difference • Source
Stephan Borg218.214.1.11325
View • Compare • Difference • Source
Stephan Borg218.214.1.11322
View • Compare • Difference • Source
Stephan Borg218.214.1.11320
View • Compare • Difference • Source
Stephan Borg218.214.1.11319
View • Compare • Difference • Source
View • Compare • Difference • Source
Stephan Borg218.214.1.11314
View • Compare • Difference • Source
Stephan Borg218.214.1.11313
View • Compare • Difference • Source
Stephan Borg218.214.1.11312
View • Compare • Difference • Source
Stephan Borg218.214.1.11311
View • Compare • Difference • Source