There is a lot to think about when designing an OnBase Workflow solution, but keep these 5 things in mind to make it a little simpler.
1) Use OnBase Studio. Hyland Software has invested a great deal of time and effort into the new Workflow configuration utility available in OnBase Studio (formerly Workflow Studio). Features such as drag-and-drop configuration, quick copying and link breaking and its overall intuitiveness far outweigh the sacrifice of the small amount of time you’ll need to drop OnBase Configuration Workflow and learn the new design interface.
2) Create a Unity Life Cycle. When creating a new Life Cycle in OnBase Studio, you have the option to make it a “Unity Life Cycle”. Although Unity Life Cycles only work in the Unity Client, this is the future and by creating a Unity Life Cycle you are putting yourself and your system in a great position for whatever comes next. Using a Unity Life Cycle guarantees you’ll have access to all the latest Workflow Actions, Rules and underlying checkboxes that may not be available for legacy Life Cycles.
3) Use Property Bags. Property Bags are temporary variables you can assign to and use throughout the workflow process. They allow a number of things such as storing a popular Keyword value or other metadata to avoid repetitive database chatter. They can also be used to communicate between Workflow Actions and Unity Scripts or to communicate between Workflow Actions and User Forms. The power of Property Bags is great so you might want to think about which Workflow Actions and Rules support Property Bags before beginning the design of your solution.
4) Use Scoped Property Bags Where Possible. Well, you can tell – I really think you should use Property Bags. There are 2 different types of Property Bags, Session Property Bags and Scoped Property Bags. When using the Unity API or any Workflow Rule/Action, you must specify which type you are using. For example, if you create a Scoped Property Bag in the API or in Workflow called “totalCost”, then later try to use the “totalCost” Property Bag in the Workflow Action of “Set Keyword to Property”, you have to make sure you check the “Use Scoped Property Bag” checkbox for that Action. Otherwise it won’t work.
Session Property Bags exist for an entire session or the entire time a user is logged into the Unity Client. I generally try to avoid these for the reason that they don’t clear their value until you either manually clear it or close the current OnBase session. For example, let’s say you’re performing a math calculation of the “Cost” Keywords on a group of documents. You would have a Property Bag called “totalCost” where you constantly update the value with every document: Total = Total + Cost. The problem with Session Property Bags is that if you get an exception or otherwise forget to reset the value, your Total won’t clear automatically and will mess with future calculations unless you take proper measures to clear it.
Scoped Property Bags are relatively new to OnBase. The values in Scoped Property Bags persist only for the duration of the execution of a task list of a single document and are cleared once control is given back to the user. Scoped Property bags are what I would recommend using because they are the most “safe”. However, you must always test to ensure Scoped Property Bags work in your specific Workflow scenario as they are not fully supported in all cases (e.g. User Forms and some Workflow Actions cannot use Scoped Property Bags). If you notice you’re not getting the value you expect, then try using Session Property Bags instead but again make sure you handle cases where your value should be reset.
5) Use Existing Actions and Rules Whenever Possible. It is in your best interest to simplify your workflow’s configuration. To do this, you can use existing Workflow Actions, Rules and Task Lists when creating new Queues in your Life Cycle. For example, if an existing Task List can fit into a new Queue except for one Action within that Task List, then you can (and should) still use the existing Task List. Simply add the ‘Item in Particular Queue’ Rule to the Task List then within this Rule configure the Queue that will perform the unique Action. Next, under the ‘On True’ of this Rule, configure the unique Action. Now, this unique Action will only execute for this certain Queue – and you saved yourself a lot of time and confusion by avoiding the need to create an entire new Task List just for one unique scenario.
Remember to keep these few quick and easy steps in mind to make designing your workflow solution more intuitive and user-friendly. A little time in the design stages can save you time and money in the later stages.