Introduction to ]po[ Petri-Net Workflows

This package is part of ]project-open[, an open-source enterprise project management system.

For more information about ]project-open[ please see:

About Introduction to ]po[ Petri-Net Workflows :

This document provides a quick overview of contents of the ]project-open[ workflow package.

Online Reference Documentation

What is a Workflow?

Elements of a Workflow

Workflows and Business Objects

Starting a Workflow for a ]project-open[ Objects

The Inbox - Interacting With Users

Assignments - Who Should Take Action?

Panels - Working with User Input

Callbacks - Taking Action

Pre-configured Workflows

Procedure Files

tcl/display-procs.tclProcs to render workflow information in HTML.
tcl/expenses-procs.tclProcs to render workflow information in HTML.
tcl/graph-procs.tclHelper procs for generating graphical representations of workflows.
tcl/intranet-workflow-procs.tcl]project-open[ specific extension for acs-workflow.
tcl/wizard-procs.tclHelper-procs for the process wizard.
tcl/workflow-procs.tclTcl-API for the workflow engine.

Procedures

wf_action_prettyReturns the pretty version of a task action.
wf_add_arc
wf_add_arc_in
wf_add_arc_out
wf_add_place
wf_add_role
wf_add_trans_attribute_map
wf_add_trans_role_assign_map
wf_add_transition
wf_assignment_widgetReturns an HTML fragment containing a form element for entering the value of an attribute.
wf_attribute_value_prettyReturns a nice display version of the value of an attribute.
wf_attribute_widgetReturns an HTML fragment containing a form element for entering the value of an attribute.
wf_case_add_manual_assignment
wf_case_add_task_assignment
wf_case_cancelCancels a case
wf_case_clear_manual_assignments
wf_case_clear_task_assignments
wf_case_commentComment on a case
wf_case_infoGet information about a case.
wf_case_newCreates and initializes a case of the given workflow type.
wf_case_remove_case_deadline
wf_case_remove_manual_assignment
wf_case_remove_task_assignment
wf_case_resumeResumes a suspended case
wf_case_set_case_deadline
wf_case_set_manual_assignments
wf_case_set_task_assignments
wf_case_suspendSuspends a case
wf_decorate_workflowAdds linking information to the workflow net, based on the arguments given.
wf_delete_arc
wf_delete_place
wf_delete_role
wf_delete_trans_attribute_map
wf_delete_trans_role_assign_map
wf_delete_transition
wf_expenses_get_assign_panels
wf_export_workflowGenerates a SQL script that can re-create this process in another installation.
wf_generate_dot_representationGenerates a dot-file for use with Graphviz.
wf_get_workflow_netWe cache the workflow net, although we don't really need that anymore.
wf_get_workflow_net_internal
wf_graphviz_dot_execImplementation of wf_graphviz_dot_exec.
wf_graphviz_installed_pWill tell you whether the AT&T GraphViz package is installed or not.
wf_if_nullIf string is emtpy, returns <code>value_if_null</code>, otherwise returns string.
wf_ismap_to_client_mapTranslates a server-side imagemap as generated by graphviz into a client-side imagemap that you can include in your HTML.
wf_journalGet the journal for a case.
wf_make_uniqueTakes a name (split in two parts) and makes it unique with respect to the list passed in <code>taken_names</code>, by putting an integer number between <code>name_part_one</code> and <code>name_part_two</code>, chopping <code>name_part_one</code> as required to stay within maxlen.
wf_message_transition_fireFires a message transition.
wf_move_role_down
wf_move_role_up
wf_name_to_keyGenerates a key from a name by making it all lowercase, removing non-letters and putting in underscores instead of spaces.
wf_new_journalCreates a new journal entry that can be passed to PL/SQL routines
wf_progress_barReturns an HTML fragment that displays the progress of a wizard nicely.
wf_simple_wizard_process_defGives the process definition list for use with <code>wf_progress_bar</code>
wf_simple_workflow_pReturns whether the workflow is "almost linear" or not.
wf_split_query_url_to_arg_specSplits a URL including query arguments (e.g., /foo/bar?baz=greble&yank=zazz) up into a list of lists of name/value pairs, that can be passed as an argument to export_vars.
wf_sweep_message_transition_tclSweep those message transitions that have a TCL callback and advance the transitions.
wf_sweep_time_eventsSweep timed transitions and hold timeouts.
wf_task_actionTells the workflow engine that the given action has been taken.
wf_task_actionsReturns a list of the possible actions given the task state.
wf_task_infoGet detailed information about one task.
wf_task_listGet information about the tasks are on a user's work list.
wf_task_panelsAdd the panels for a task into the multirow target.
wf_task_state_prettyReturns a pretty-print version of a task state.
wf_valid_key_pCheck that a value is valid as a key for a workflow/transition/place in a workflow definition.
wf_wizard_massage_tasksWe store tasks in a client property as a list of array gets with the keys: task_name, transition_key, task_time, loop_to_transition_key, loop_question, loop_answer, assigning_transition_key.
wf_workflow_changedFlushes the cache.
wf_workflow_infoGet the definition of a workflow.

SQL Files

sql/postgresql/acs-workflow-create.sql
sql/postgresql/acs-workflow-drop.sql
sql/postgresql/load-workflow.sql
sql/postgresql/sample-article-create.sql
sql/postgresql/sample-article-drop.sql
sql/postgresql/sample-expenses-create.sql
sql/postgresql/sample-expenses-drop.sql
sql/postgresql/test/workflow-case-package-test.sql
sql/postgresql/upgrade/upgrade-4.0-4.0.1.sql
sql/postgresql/upgrade/upgrade-4.0.1-4.1b.sql
sql/postgresql/upgrade/upgrade-4.1.1-4.3.sql
sql/postgresql/upgrade/upgrade-4.5.0-4.5.1.sql
sql/postgresql/upgrade/upgrade-4.5.1-4.5.2.sql
sql/postgresql/upgrade/upgrade-4.5.2-4.5.3.sql
sql/postgresql/upgrade/upgrade-4.5.3-4.5.4.sql
sql/postgresql/upgrade/upgrade-4.5.4-4.5.6.sql
sql/postgresql/upgrade/upgrade-4.5.6-4.5.7.sql
sql/postgresql/wf-callback-package-body.sql
sql/postgresql/wf-callback-package-head.sql
sql/postgresql/wf-callback-package.sql
sql/postgresql/wf-core-create.sql
sql/postgresql/wf-core-drop.sql
sql/postgresql/workflow-case-package-body.sql
sql/postgresql/workflow-case-package-head.sql
sql/postgresql/workflow-case-package.sql
sql/postgresql/workflow-package-body.sql
sql/postgresql/workflow-package-head.sql
sql/postgresql/workflow-package.sql

Content Pages

www/
active-tasks.adp
active-tasks.tcl
admin/
arc-add.tcl
arc-delete.tcldelete an arc.
arc-edit-2.tclEdit arc.
arc-edit.adp
arc-edit.tclEdit arc.
assign-transition-role-2.tclAdd assignment of a transition to a role.
assign-transition-role.adp
assign-transition-role.tcl
attribute-add-2.tclReally add the attribute.
attribute-add.adp
attribute-add.tclAdd a workflow attribute.
attribute-delete.tclDelete the attribute.
attributes-table.adp
attributes-table.tcl
attributes.adp
attributes.tclManage workflow attributes.
case-debug.adp
case-debug.tclDisplays information about a case.
cases.adp
cases.tclView active cases.
context-add-2.tclAdd new context.
context-add.adp
context-add.tclAdd new context.
define-place-info.adp
define-place-info.tcl
define-transition-info.adp
define-transition-info.tcl
define.adp
define.tclThe advanced process builder main page.
export-2.adp
export-2.tclExport the definition of a workflow as a SQL script.
export-download.tclExport the definition of a workflow as a SQL script.
export.adp
export.tclExport the definition of a workflow as a SQL script.
index.adp
index.tclAdmin index page.
init-2.tclHack to initialize a new case.
init.adp
init.tclThis page should go away and the applications take care of this themselves.
name-edit-2.tclEdit name of workflow.
name-edit.adp
name-edit.tclEdit name of workflow.
place-add-2.tclAdd place.
place-add.adp
place-add.tclAdd place.
place-delete.tclDelete place.
place-display.adp
place-display.tcl
place-edit-2.tclEdit place.
place-edit.adp
place-edit.tclEdit place.
role-add-2.tclAdds a role
role-add.adp
role-add.tclAdds a role to a workflow
role-delete.tclDelete role.
role-edit-2.tclEdits a role
role-edit.adp
role-edit.tclEdit a role.
role-manual-2.tclMake role manually assigned.
role-manual.adp
role-manual.tclMakes a role manually assigned
role-move-down.tclMove role down.
role-move-up.tclMove role up.
roles-assignment-table.adp
roles-assignment-table.tcl
roles-table.adp
roles-table.tcl
static-assignment-add.tcl
static-assignment-delete.tcl
static-assignments-table.adp
static-assignments-table.tcl
static-assignments.adp
static-assignments.tclManage static assignments for a workflow.
task-actions-2.tclUpdate task attributes.
task-actions.adp
task-actions.tclTask actions.
task-add-2.tclAdd task.
task-add.adp
task-add.tclAdd task
task-assignment-add.tclMake assignment manual.
task-assignment-delete.tclMake assignment static for the given transition.
task-assignment.adp
task-assignment.tclManage assignment of a transition.
task-attribute-add.tclAdd another attribute to be set by a task.
task-attribute-delete.tclThe attribute should not be set by the transition.
task-attribute-move-up.tclMove up one attribute in the sort_order sequence.
task-attributes.adp
task-attributes.tclManage attributes to set during a task.
task-delete.tclDelete task.
task-edit-2.tclEdit task.
task-edit.adp
task-edit.tclEdit task.
task-panel-add-2.tclAdd the panel.
task-panel-add.adp
task-panel-add.tclAdd a task panel.
task-panel-delete.tclDelete the panel.
task-panel-edit-2.tclEdit the panel.
task-panel-edit.adp
task-panel-edit.tclEdit a task panel.
task-panel-move-up.tclMove up one task panel in the sort_key sequence.
task-panels.adp
task-panels.tclManage workflow task panels.
transition-display.adp
transition-display.tcl
transition-panels-table.adp
transition-panels-table.tcl
transitions-table.adp
transitions-table.tcl
unassigned-tasks.adp
unassigned-tasks.tclList unassigned tasks
wizard/
assignments.adp
assignments.tclFourth stage of simple process wizard.
create.adp
create.tclFifth stage of simple process wizard.
debug.tcl
index.adp
index.tclSimple process wizard.
loop-add-2.tcl
loop-add.adp
loop-add.tcl
loop-delete.tcl
loops.adp
loops.tclThird stage of simple process wizard.
manual-assignment.tcl
new-2.tclSecond stage of simple process wizard.
progress-bar.adp
progress-bar.tcl
reset-tasks.tcl
static-assignment.tcl
task-add-2.tcl
task-add.adp
task-add.tcl
task-delete.tcl
task-edit-2.tcl
task-edit.adp
task-edit.tcl
task-move.tclMove a task up one step.
tasks.adp
tasks.tclSecond stage of workflow definition.
workflow-add-2.tclAdd new process.
workflow-add.adp
workflow-add.tclCreate new process.
workflow-cases-delete.tclDelete a workflow definition from the system.
workflow-copy-2.tclMake a copy of a process.
workflow-copy.adp
workflow-copy.tclMake a copy of a process.
workflow-delete.tclDelete a workflow definition from the system.
workflow-display.adp
workflow-display.tcl
workflow-dot.tclReturns a graphviz-dot file representation of the workflow.
workflow-graph.adp
workflow-graph.tcl
workflow-roles.adp
workflow-roles.tclDisplay roles for a workflow
workflow-summary.adp
workflow-summary.tclDisplays basic aggregate statistics on a workflow
workflow-tabs.adp
workflow-tabs.tcl
workflow.adp
workflow.tclIndex page for a workflow.
assign-yourself.tclThis page assigns a task to the user accessing this page.
assignee-add-2.tclAdd assignee to task.
assignee-add.adp
assignee-add.tclAdd assignee
assignee-remove-2.tclRemove assignee from task.
case-assignment-remove-2.tclRemove manual assignment.
case-assignment-set-2.tclSet case assignments for a role.
case-assignment-set.adp
case-assignment-set.tclSet case assignments for a role.
case-assignments-table.adp
case-assignments-table.tcl
case-assignments.adp
case-assignments.tclView/change role assignments for a case.
case-attributes-table.adp
case-attributes-table.tcl
case-deadline-remove-2.tclSets deadline for case transition.
case-deadline-set-2.tclSets deadline for case transition.
case-deadline-set.adp
case-deadline-set.tclSet the deadline for a transition in a case.
case-deadlines-table.adp
case-deadlines-table.tcl
case-deadlines.adp
case-deadlines.tclDisplays deadlines set for a case.
case-state-change.tclChange the state of a case
case-state-graph.adp
case-state-graph.tcl
case.adp
case.tclDisplays information about a case.
comment-add-2.tclAdd a comment to the journal for a case.
comment-add.adp
comment-add.tclAdd a comment to the journal for a case.
finished-tasks.adp
finished-tasks.tcl
index.adp
index.tclDisplays the user's task list.
journal.adp
journal.tcl
sample/
expenses-approval-aids.adp
expenses-approval-aids.tcl
expenses-claim-info.adp
expenses-claim-info.tcl
task-action.adp
task-action.tcl
task-assignees.adp
task-assignees.tclRemove one or more assignees for a task.
task-deadline-set-2.tclUpdate deadline for a task
task-deadline-set.adp
task-deadline-set.tclSet the deadline for a task
task-default-info.adp
task-default-info.tcl
task-instructions.adp
task-instructions.tcl
task-list.adp
task-list.tcl
task.adp
task.tclDisplays information about a specific task.
test-display.tcl
transition-fire.tclFire a transition.
workflow-gif.tcl
workflow.tclAdmin big picture view of a workflow, including places, transitions and arcs