Galaxia Workflow Engine

Galaxia Workflow Engine

Dennis Cooley's general guide to Galaxia DB tables


Original post: https://sourceforge.net/forum/message.php?msg_id=2207055

By: Dennis Cooley - ibtubed
RE: Galaxia error
2003-09-24 12:59

Does this happen on any of your processes you have defined or just on one?

Did the activity have any transitions defined when you set it up before you tried to delete it?

If you can't figure out what happened you may try to look at the tables in your sql database and remove it there.

I am no expert at this, but you may find it helpful when looking at the tables to determine what to delete. This is a very general guide to save you the time of wandering through all the tables. Every field in the table is important otherwise it wouldn’t be there, but I highlighted a few of the fields you may use more than others.

galaxia_activities – List of activities just like you see in the user interface when setting up the activities. This table contains the unique identifier for each activity, activityId.

galaxia_activity_roles – Table contains only the activityId and the roleId.

galaxia_instance_activities – Table contains only the “open??? or “unfinished??? activities. Most important fields in this table are instanceId and activityId.

galaxia_instance_comments – I have no idea what this table is or does. I have not seen any data in this table yet. If you know, please pass it on.
galaxia_instances – Important information here - your current instances, instance start date, and next activity.

galaxia_processes – Contains the information about your workflow item as a whole. In this example it would contain the name and information about the CD Loans workflow process. The key field here is the pId.

galaxia_roles – This table maps your roleId to your process Id (pId)

galaxia_transitions – This table maps all the transitions to and from your different instances.

galaxia_user_roles – This table maps your users to their roles. The user identifier is name. This is the same as the persons log in name. Remember a user will probably have a different role assigned and defined for them for each process (not to be confused with instance). I would like to see an additional table here to contain approver. The approver would allow you to specify a person generically in the roles but specify specifically in the code without having to change the code each time you have some turn over.

galaxia_workitems – This table will quickly be your friend. Each and every field in this table will be vital to you for tracking history. It keeps a record of the result of every instance. Here are its fields – itemId, instanceId, orderId, activityId, properties, started, ended, and user.

When I am testing an active process and it blows up, I remove all of the data in the following tables -


You can use this sql script to empty the tables that will contain the test data if you like.

DELETE FROM galaxia_instance_activities;
DELETE FROM galaxia_instance_comments;
DELETE FROM galaxia_instances;
DELETE FROM galaxia_workitems;

This doesn't remove any of the set up you have done. Just the test data that is created as a result of testing the workflow. This seems to keep the next test from making any of the same mistakes and gives you only fresh data to troubleshoot with. This may be what you are experiencing.

Hope this helps.