See
PublishedAPI for packages intended to be used by Plugin and Contrib authors, or
browse all packages.
See also
Developing plugins,
Developer's Bible,
Technical Overview
internal package Foswiki::Plugins::QMPlugin::Core
core class for this plugin
an singleton instance is allocated on demand
ClassProperty TRACE
boolean toggle to enable debugging of this class
ClassProperty @defaultHandler
list of default handlers
ClassMethod new() → $core
constructor for a Core object
ObjectMethod finish()
called when this object is destroyed
ObjectMethod getUsers() → @users
get the list of all users known to the core up to this point
ObjectMethod getUser($id) → $user
get a user of a specific id
ObjectMethod getSelf() → $user
get the user for the currently logged in user
ObjectMethod getGroups() → @groups
get the list of all groups known to the core up to this point
ObjectMethod getGroup($id) → $group
get a group of a specific id
save a meta by suppressing the beforeSaveHandler
ObjectMethod afterSaveHandler($web, $topic, $meta)
make sure the saved topic has got the right access control settings
ObjectMethod beforeSaveHandler($web, $topic, $meta)
- make sure the saved topic has got the right workflow
- trigger a state change when a qmstate formfield has been altered
returns a
Foswiki::Form::FieldDefinition for the given formfield type.
this is used to return the definitions of a qmstate or qmworkflow formfield.
returns undef if the form doesn't have a formfield of the requested type
return a formfield of a qmstate if it exists
return a formfield of a qmworkflow if it exists
ObjectMethod jsonRpcCancelTransition($session, $request)
json-rpc handler for the
cancelTransition procedure
ObjectMethod jsonRpcChangeState($session, $request)
json-rpc handler for the
changeState procedure
ObjectMethod jsonRpcSendNotification($session, $request)
json-rpc handler for the
sendNotification procedure
ObjectMethod restTriggerStates($session)
this handler searches for topics with a workflow attached to it and triggers
any automatic transition found. Parameters
- webs: list of webs to search for controlled topics, defaults to all webs
- includeweb: regular expression of webs to include into the process (default all)
- excludeweb: regular expression of webs to exclude from the process (default none)
- includetopic: regular expression of topics to include into the process (default all)
- excludetopic: regular expression of topics to exclude from the process (default none)
- includeworkflow: regular expression of workflows to process (default all)
- excludeworkflow: regular expression of workflows to exclude from the process (default none)
- dry: boolean switch to enable a "dry run" not changing anything (defaults to "off")
WARNING: this handler is typically called by a cronjob, from the commandline or by admins.
ObjectMethod QMHISTORY($session, $params, $topic, $web)
macro implementation for
%QMHISTORY
ObjectMethod QMNET($session, $params, $topic, $web)
macro implementation for
%QMNET
ObjectMethod QMSTATE($session, $params, $topic, $web)
macro implementation for
%QMSTATE
ObjectMethod QMNODE($session, $params, $topic, $web)
macro implementation for
%QMNODE
ObjectMethod QMROLE($session, $params, $topic, $web)
macro implementation for
%QMROLE
ObjectMethod QMEDGE($session, $params, $topic, $web)
macro implementation for
%QMEDGE
ObjectMethod QMGRAPH($session, $params, $topic, $web)
macro implementation for
%QMGRAPH
macro implementation for
%QMBUTTON
ObjectMethod getState($web, $topic, $rev, $meta, $force) → $state
get the workflow state of the given topic
ObjectMethod getNet($web, $topic, $state) → $net
returns a
Foswiki::Plugins::QMPlugin::Net object and assignes the given state.
ObjectMethod getStates($web, $topic, $rev, $params) → @states
get all workflow states of the given topic up to revision
$rev
ObjectMethod registerCommandHandler($handler)
register a command handler. commands are executed when an edge is traversed.
The handler is a hash reference with the following properties:
- id: name of the command that may is executed, e.g. "fork", "merge" or "trash"
- type: type of the command: "beforeSave", "afterSave"
- package: perl package
- function: function within the package to be called
- callback: callback function
Note that either "package" and "function" are specified, or a "callback" is given right away.
ObjectMethod getCommandHandlers($id) → @callbacks
get the list of registered handlers for a specified action id
ObjectMethod redirectUrl(url)
the redirect property records the need of the system to initiate a redirect
at the end of the processing queue
ObjectMethod solrIndexTopicHandler($indexer, $doc, $web, $topic, $meta, $text)
hooks into the solr indexer and add workflow fields
ObjectMethod solrIndexAttachmentHandler($indexer, $doc, $web, $topic, $attachment)
hooks into the solr indexer and add workflow fields
ObjectMethod dbCacheIndexTopicHandler($db, $obj, $web, $topic, $meta, $text)
hooks into the dbcache indexer and add workflow fields