Search:

Apache » Lenya
project logo
  • Project
  • Developer
  • Community
  • Version 2.2
  • Version 2.0
  • Version 1.2
  • Version 1.2
    • Installation
      • Download
      • Subversion Access
      • Install Instructions
    • Tutorial
      • Introduction
      • 1. Understanding Lenya
      • 2. Installing Lenya
      • 3. Anatomy of the Pipeline
      • 4. Editing in Lenya
      • 5. Custom Navigation in Lenya
      • 6a. Mod Proxy and Lenya
      • 6b. Mod Proxy and Lenya
    • How-To
      • FAQ
      • New Publication
      • Deploy Publication
      • Look and Feel
      • Custom Resource Type
      • Adding Mime Types
      • Site Navigation
      • LDAP Authentication
      • CMS Menus
      • CMS Screens
      • Search Publications
      • External Data
      • Unit Tests
    • Components
      • Access Control
        • Basic Terms
        • Access Controllers
        • Access Controller Resolvers
        • Authenticators
        • Authorizers
        • Policies and Policy Managers
        • Accreditable Managers
        • SSL Encryption
      • Authoring
        • Adding a new document creator
        • Image Upload
        • OpenOffice
      • Deployment
        • Proxying
      • Editors
        • HTML Form Editor
        • HTML One Form Editor
        • Bitflux Editor
        • Kupu
        • Xopus
      • Layout
        • Navigation
        • XHTML templating
        • Serving static resources
        • Lenya Menubar
      • Publication
        • PageEnvelopeModule
        • Site tree
      • Resource Types
        • Resource Types
      • Revision Control
        • Revision Controller
        • RCML
        • Check In
        • Check Out
        • Revisions
        • Rollback
      • Repository
        • WebDAV Servers
      • Search
        • Searching with Lucene
      • URI Handling
        • URI Parametrizer
        • URI Scheme
        • Usecases
      • Asset Management
        • Asset Management
      • Link Management
        • Link Management
      • Meta Data
        • Meta Data Handling
      • Multilingual Documents
        • Multilingual Document Handling
      • Tasks
        • The Task Concept
        • Defining Tasks
        • The TaskAction
        • Scheduling a Task
        • Included tasks
          • AntTask
          • DefaultFilePublisher
          • StaticHTMLExporter
          • MailTask
        • Developing Tasks
      • Workflow
        • Terms
        • The State Machine
        • Configuration
        • Implementation
      • Site Management
        • Archive
        • Copy
        • Deactivate
        • Delete
        • Delete the trash
        • Move
        • Move Up/Down
        • Rename
        • Restore
    • Miscellaneous
      • Namespaces
      • Reserved Names
      • XInclude Processor
    • 1.2 API (Javadoc)

Current Event

Meeting Bad Säckingen 2009

Built with Apache Lenya

Workflow Terms

Table of Contents
  • Terms

Terms

Workflow Schema
A workflow schema defines a state machine (deterministic finite automaton - DFA), consisting of
  • states, including a marked initial state,
  • transitions, and
  • state variables.
Workflow Instance
A workflow instance is an incarnation of a workflow schema. It consists of
  • a current state,
  • a mapping which assigns values to all state variables.
Transition
A transition describes the switching of a workflow instance from one state to another. A transition has
  • a source state,
  • a destination state,
  • an event,
  • a set of conditions,
  • a set of assignments.
Additionally, a transition can be marked as synchronized.
History
The history of a workflow instance contains a list of all versions of the instance. A version contains
  • the state,
  • the event that caused the transition (omitted in the first version),
  • a description of the identity that invoked the event (username and IP address)
State Variable
A workflow schema can contain a set of state variables. For each instance, the state variables hold certain values. Values can be assigned during transitions, so a variable can change its value when a transition fires. Currently, Lenya supports only boolean state variables.
Condition
A condition can prevent a transition from firing, based on the current situation. Examples:
  • Does the current user have a certain role on the current URL? (RoleCondition, included in Lenya)
  • Does a certain state variable have a certain value (e.g., is the document published)? (BooleanVariableCondition, included in Lenya)
  • Is the sun shining? (e.g., if the weather report may only be published on sunny days)
Situation
A situation defines the state of the environment of a workflow instance. Examples are:
  • the current user ID
  • the roles of the current user on the current URL
Synchronization

A set of workflow instances with the same workflow schema can be synchronized. If a transition in this schema is marked as synchronized, it can only be invoked on all instances in the set at the same time.

When a workflow event is invoked on a set of synchronized workflow instances, the transition is invoked only if

  • all instances are in the source state of the transition, and
  • all conditions of the transition are complied for all instances.

Then the transition is invoked for all instances in the set.

A common usecase of this concept is the simultaneous publishing of a set of documents (all language versions of a document, a section, ...).

Copyright © 1999-2009 The Apache Software Foundation. All rights reserved.