• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Deprecate get_root_dir proc, duplicated to every extent by acs_root_dir

  1. … 9 more files in changeset.
Revert massive replacement of empty list creation sentences. The use of '[list]' instead of '{}' adds semantics that could be used for performance improvements in the future, such as using a different internal representation. There is already work in this direction, avoiding the generation of the string representation during comparison of empty strings (huge thanks to Stefan Sobernig for the pointer: https://core.tcl.tk/tcl/info/44527c632ed609c2).

  1. … 475 more files in changeset.
Prefer '{}' to '[list]' when creating empty lists

  1. … 225 more files in changeset.
Prefer '{}' to '[list]' when creating empty lists

  1. … 204 more files in changeset.
improve code documentation

  1. … 10 more files in changeset.
prefer XOTcl2 idioms

  1. … 2 more files in changeset.
prefer XOTcl2 idioms

  1. … 4 more files in changeset.
remove obsolete comment (basic hastore support was moved to xowiki)

make sure to create in initialize WorkflowContext new and remove duplicated instproc

use directly revision of workflow in id of wf_container when object is a workflow

fallback to determine the workflow context from the workflow page, needed for call_action

fix variable name

reduce verbosity

Cleanup of yesterdays changes (based on experiences with learn@wu)

Whitespace changes

  1. … 1 more file in changeset.
Shared Workflow Definitions (Part 2)

When shared workflow definition are used, a different management of

object specific code is necessary, since one definition seves for many

objects, and it is not freshly created per object. Therefore, a new

concept is introduced for workflow definitions, named "object-specifc"

Instead of writing in a workflow definition

Action save

state initial -actions {save}

[my object] proc foo {} { ns_log notice "===foo==="}

one has to write now:

Action save

state initial -actions {save}

:object-specific {

:proc foo {} { ns_log notice "===foo==="}

}

where the object-specific is evaluated once per request for every

involved workflow instance in the context of the object (a [self]

in this block refers to the object).

In case a [my object] is encountered and sharedWorkflowDefinition is

activated, a warning is produced and the code falls back to old-style

shared workflow definitions.

  1. … 3 more files in changeset.
Turn off shared workflow definition as indicated in the last message

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.