• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add Feature: Shared Workflow Definitions

Background: so far, xowf stored workflow definitions in the workflow

context, which is generated for every instantiated workflow instance

due to the needs of the State Pattern. While the old approach works

perfectly fine, when pre request only one or a few workflow instances

are created, but is inefficient, when e.g. 100 or more instances of

the workflow definition are created.

Now, the instances can share the definition, which is shared based on

the revision_id of the workflow FormPage.

OLD: obj <-> obj::wf_ctx

NEW: obj <-> obj::wf_ctx <(n)----> wf_definition

OLD scenario:

- the wf_definition was part of the context (no distinction)

- navigation from wf_ctx (and wf_definition) to object was possible

via "info parent"

NEW scenario:

- the wf_definition is separate

- one wf_definition can be used for multiple wf_ctx

- new methods are required instead of "info parent"

to navigate between these cooperating objects

* xowf::WorkflowPage.wf_context

* xowf::WorkflowConstruct.wf_context

* xowf::Context.wf_container

The navigation from a WorkflowConstruct (e.g. State) to the wf_ctx

is slow and fragile if not following usual programming conventions

and should e avoided (the methods of these constructs have the obj

passed in, so this path should not be necessary in most situations)

- as long the contents of the wf_container is constant, it can be

shared in the per-thread cache.

For now, the new feature is turned off by default via variable

::xowf::sharedWorkflowDefinition, but this will change in the future.

  1. … 3 more files in changeset.
merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
- add option "-path_encode" to methods "pretty_link" and "folder_path"

to allow to control, wether the result should be encoded or not

(default true)

- simplify logic around path encoding by using parameter -query of pretty_link

- Bump version number of xowiki and xowf to 5.9.1b4

  1. … 10 more files in changeset.
Avoid other double encoding when export_vars is applied on xowiki pretty_links

  1. … 6 more files in changeset.
- Fix more spelling errors

- Use uniform spelling of "Tcl"

  1. … 9 more files in changeset.
Fix spelling errors

  1. … 75 more files in changeset.
Improve robustness of "file delete" operations

  1. … 25 more files in changeset.
- improve commented out debug line

- reduce dependencies on xinha

- use repeat form field specs for mc exercises

- provide a more decent feedback on correct/incorrect answers

  1. … 2 more files in changeset.
use variable resolver instead of method for better performance

Fix typo: form_object instead of form_id

- fix potential problem, when form objs is already preloaded

  1. … 1 more file in changeset.
- fix autoform loader

- bump version to 5.9.1d3

  1. … 1 more file in changeset.
- don't report errors in the log file for script_aborts

- add missing "instproc" (not sure, how this could be lost)

- add property "payload" to "WorkflowConstruct" in order to simplify

customized workflow "allocate" actions (payload might contain a dict

with the fields {name parent_id m})

- simplify form loading and document source code

- rename all xowiki methods called via url to www-OLDNAME.

This makes it clear that these pages can call

ns_return, ns_returnredirect, or ad_script_abort, etc.

- bump version numbers to 5.9.1d1

  1. … 1 more file in changeset.
- prefer "ad_log error" for error messages in the log file

  1. … 5 more files in changeset.
- change "info command" -> "info commands"

  1. … 6 more files in changeset.
Merging back to HEAD all changes that happened in branch oacs-5-8 between tags: vg-merge-oacs-5-8-from-20141027 and vg-merge-oacs-5-8-from-20150427

  1. … 520 more files in changeset.
- add package_parameter use_hstore to xowiki

- updat descriptiong for use_hstore in xowf

- update xowiki_form_instance_item_index when renaming items

- new function xowiki::update_item_index to manually update certain

fields in the xowiki_form_instance_item_index

- remove obsolste function in xowf

  1. … 4 more files in changeset.
- improve tailorability of form action buttons

- the last commit deleted to much; reinstantiate save_data

- refactor code such that "save_in_hstore" is called from "save" and "save_new" operations

- when a package instance has save_in_hstore set, now all FormPages use the hstore index

- fix typo

- provide a more generic interface to references (links between pages)

# $page references clear

# $page references resolved [list $item_id [my type]]

# $page references get resolved

# $page references all

  1. … 4 more files in changeset.
- use same logic for connection context settings when using form variables or when setting up context in workflow actions

  1. … 1 more file in changeset.
Merging back to HEAD branch oacs-5-8 (using tag vg-merge-oacs-5-8-from-20141027).

  1. … 2547 more files in changeset.
- mark installation callbacks as private

  1. … 2 more files in changeset.
- Only one backslash is needed when scaping double quotes on hstore values.

- include_get proc expects a list of variables therefore we dont want to expand vars.