History of GalaxiaTutorial

-=Pre Requisites=-
* Its presumed that you have basic programming knowledge including the assignment and use of variables.
* [http://www.php.net|PHP] will be used for the coding part of workflow generation. If you don't know what PHP is, take a look at [http://www.php.net/manual/en/intro-whatcando.php|What can PHP do?]. If you are unfamiliar with PHP, its recommended that you read the [http://www.php.net/tut.php|PHP Tutorial].
* [http://smarty.php.net|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 [http://codewalkers.com/tutorials/56/1.html|Codewalkers Smarty Tutorial].

!Introduction
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.

!Processes
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.
{img src=/Galaxia/icons/Process.gif}{img src=/Galaxia/icons/Activity.gif}{img src=/Galaxia/icons/Instance.gif}{img src=/Galaxia/icons/memo.gif}
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__ {img src=/Galaxia/icons/Activity.gif}.

!Activities
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:
* {img src=/Galaxia/icons/mini_circle.gif} __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.
* {img src=/Galaxia/icons/mini_dbl_circle.gif} __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:__ and __Auto Routed:__.

---
(TODO: Maybe move to another section as each type is introduced)
* {img src=/Galaxia/icons/mini_rectangle.gif} __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.
* {img src=/Galaxia/icons/mini_diamond.gif} __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.
* {img src=/Galaxia/icons/mini_triangle.gif} __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.
* {img src=/Galaxia/icons/mini_inv_triangle.gif} __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.
* {img src=/Galaxia/icons/mini_hexagon.gif} __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
Date/CommentUserIPVersion
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
SEWilco209.98.144.1615
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