- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::xowf::WorkflowContainer
::xowf::WorkflowContainer create ... \
[ -auto_form_constraints (default "") ] \
[ -auto_form_template (default "") ] \
[ -autoname autoname ] \
[ -debug (default "0") ] \
[ -shared_definition (default "1") ]
Class Relations
::xotcl::Class create ::xowf::WorkflowContainer \ -superclass ::xowf::WorkflowObjectMethods (to be applied on instances)
auto_form_constraints (setter)
auto_form_template (setter)
autoname (setter)
cleanup (scripted)
# # Keep workflow container 10 minutes in the per-thread cache. # if {[clock seconds] - ${:creation_time} > 600} { #ns_log notice "======================== WorkflowContainer [self] self destroys" ::xo::remove_cleanup [self] :destroy }debug (setter)
init (scripted)
set :creation_time [clock seconds] ::xo::add_cleanup [self] [list [self] cleanup] nextobject (scripted)
# # Method for emulating "object". Object specific code cannot # work in shared workflow definitions, since one workflow # definition is used in the shared case for many objects at the # same time. Object specific code should use the # "object-specific" method below. # # Here we fall back to the unshared case # set ctx [:wf_context] set object [$ctx object] set template [$object page_template] if {${:shared_definition}} { ns_log warning "Workflow $template [$template name] does not work with shared definitions since it refers to 'object'; fall back to unshared definition" set :shared_definition 0 } return $objectobject-specific (scripted)
:specific object {*}$args
shared_definition (setter)
specific (scripted)
# # Make sure, we have always a value. # if {![info exists :$type-specific]} { set :$type-specific "" } # # If called without args, return the current value, otherwise # aggregate the values. # set l [llength $args] switch $l { 0 { # # Called without args, return the current value # return [set :$type-specific] } 1 { # # Called with a single value, aggregate partial values (and # separate these by an empty line for safety) # append :$type-specific \n [lindex $args 0] #ns_log notice "=== $type-specific [self] [set :$type-specific]" } default { error "wrong number of arguments" } }wf-specific (scripted)
:specific wf {*}$args
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables