Method for Generating a Generic Reusable Database-Table Driven Graphical User Interface for a Workflow Solution
Original Publication Date: 2004-Aug-20
Included in the Prior Art Database: 2004-Aug-20
Typical workflow solutions, at least for Print workflows, have been generated by modelling the business process and creating a workflow using a variety of tools to generate a set of code that implements the mechanics of the workflow. At that point, or concurrently, a Graphical User Interface (GUI) is designed and built customized for that workflow solution. Many issues must be taken into account, such as the level of security provided, the functionality and buttons available, and the code to accomplish the activity. Generating the GUI is often a process of many months for each solution. This invention is aimed at providing, within the context of a workflow solution, a generic GUI that responds to minor database-table configuration changes to produce a customized set of function for any given workflow, in a matter of weeks, if not hours. The basic workflow diagram incorporated into the GUI can be accomplished quickly by changing process-step associations with a workflow "block", and a database-table based finite state machine enables the GUI to control access to various functions of the system through "policy" or configuration changes. User ids and security are accomplished in the same fashion, with the finite state machine based tables. Any code changes needed to handle new functions and buttons are standardized in such a way to provide encapsulation and modular access, even in a non-Object Oriented language
Method for Generating a Generic Reusable Database -Table Driven Graphical User Interface for a Workflow Solution
The invention works by dividing the GUI into "Blocks", or major functional groupings, and attaching the steps in the defined workflow process to those blocks. Each block can be either visible (shown in the workflow diagram), or abstract (accessed through a button or other method, but not shown inline in the workflow). Once the workflow blocks are defined, they can be enabled, reorganized, or disabled through the use of database configuration entries. The transitions between the blocks in the workflow are attained in much the same way, with arrows representing the transitions visually, and colors indicating different paths through the workflow. All of this is controlled by database table entries. Once the blocks are defined, the SQL method (or other data source query) for summarizing the "jobs" contained in that block of the workflow can either be the default query, or overridden by an attribute of the defined block. Each supporting window or panel in the GUI, including the main panel of the workflow, is defined in the database, along with the buttons/controls that are possibly to display. A Finite State Machine table defines the policies under which the buttons are activated, deactivated, allowed, or disallowed. Security can be implemented by either an extension of the FSM, or a separate table which is checked prior to the FSM. The code for the GUI the...