From 3a1d4a2dfeae9d50e8dbf9fe7a2a53be2fa1c3fc Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Sat, 3 Mar 2018 15:38:24 +0100 Subject: [PATCH] docu issue #344 --- src/site/markdown/engine/documentservice.md | 15 ++++ src/site/markdown/engine/scheduler.md | 76 +++++++++++++----- .../images/modelling/bpmn_screen_35.png | Bin 0 -> 48203 bytes 3 files changed, 73 insertions(+), 18 deletions(-) create mode 100644 src/site/resources/images/modelling/bpmn_screen_35.png diff --git a/src/site/markdown/engine/documentservice.md b/src/site/markdown/engine/documentservice.md index 290d74c73..41d28a0fb 100644 --- a/src/site/markdown/engine/documentservice.md +++ b/src/site/markdown/engine/documentservice.md @@ -37,6 +37,21 @@ The next example shows how to use the $uniqueid of a stored ItemCollection to lo __Note:__ The method load() checks if the CallerPrincipal has read access to a document. If not, the method returns null. The method doesn't throw an AccessDeniedException if the user is not allowed to read the document. This is to prevent an aggressor with informations about the existence of that specific document. +### The Document Type +A document is categorized by the item 'type'. The type attribute can be used to group document or select documents by its type. + + + ItemCollection myDocument=new ItemCollection; + myDocument.replaceItemValue("type","product"); + .... + // save ItemCollection + myDocument=documentService.save(myDocument); + + // select documents by type... + List products=documentService.getDocumentsByType("product"); + + + ### Creation and Modified Date The _DocumentService_ also creates TimeStamps to mark the creation and last modified date of a document. These properties are also part of the document returned by the save method. The items are named "$created" and "$modified". diff --git a/src/site/markdown/engine/scheduler.md b/src/site/markdown/engine/scheduler.md index 1c049c372..f5184b080 100644 --- a/src/site/markdown/engine/scheduler.md +++ b/src/site/markdown/engine/scheduler.md @@ -1,24 +1,34 @@ -#The Workflow Scheduler -The Imixs WorkflowScheduler provides a JEE TimerService, which can schedule workitems based on scheduled Workflow Activities. A scheduled Workflow Activity can be defined using the [Imixs-BPM Modeler](../modelling/index.html) in the property tab 'Schedule'. If a workitem is in a stage with scheduled activities, the WorkflowScheduler will process this workitem automatically in a defined interval. This is useful for automatic workflow tasks like reminder or escalation tasks. +# The Workflow Scheduler +The Imixs WorkflowScheduler provides a TimerService to schedule workitems based on scheduled Workflow Events. A scheduled Workflow Event can be defined using the [Imixs-BPM Modeler](../modelling/index.html) by the property tab 'Timer'. If a workitem is in a status where scheduled events are defined, the WorkflowScheduler will process this workitem automatically based on the model definition. The Workflow Scheduler can be used to automatically process workflow tasks - e.g. a reminder or a escalation task. -##The WorkflowSchedulerService EJB -The WorkflowSchedulerService expects the scheduling configuration in a entity with the name 'org.imixs.workflow.scheduler' from type 'configuration'. The configuration entity is used to start the timer service and confgure the intervall the timer should schedule the workflow activities. The WorkflowSchedulerService implements the following methods: +
- public ItemCollection loadConfiguration() ; - - public ItemCollection saveConfiguration(ItemCollection configItemCollection) - throws AccessDeniedException; + +## The Configuration - public ItemCollection start() throws AccessDeniedException; - - public ItemCollection stop() throws AccessDeniedException ; - - public boolean isRunning(); +The _WorkflowSchedulerService_ expects the scheduling configuration document. The scheduling configuration defines the timer interval to run the workflow scheduler. + +A timer configuration can be created with the following item definitions: + + + + configuration + + + org.imixs.workflow.scheduler + + + hour=* + minute=30 + + + true + + + + +## Scheduling -The methods "loadConfiguration()" and "saveConfiguration()" can be used to lookup -or update the current workflow scheduler configuration entity. The methods "start()" and "stop()" can be used to start or stop the timer service. The method "isRunning()" returns true if the TimerService was started. If the workflowScheduler was started the timerService can be identified by the $UniqueID of the scheduler configuration entity. - -##The WorkflowScheduler configuration The Imixs WorkflowSchedulerService uses a calendar-based syntax for scheduling based on the EJB 3.1 Timer Service specification. The syntax takes its roots from the Unix cron utility. The following attributes can be stored in the txtConfiguration property of the workflowScheulderSercice configuration: @@ -90,8 +100,38 @@ The configuration entity for the WorkflowSchedulerService holds the following ad Note: The properties "statusmessage", "schedule", "nextTimeout" and "timeRemaining" are read only and will be updated computed if the method findConfiguration() was called. +## Ignored Workitems +The _WorkflowSchedulerService_ processes all kinds of workitems which are assigned to a valid workflow model definition with scheduled events. +A workitem is ignored by the _WorkflowSchedulerService_ only in case the workitem type ends with the sufix 'deleted' + + type=workitemdeleted + +or the workitem is marked as immutable + + $immutable=true + +See the [DocumentService](./documentservice.html) for details. + + +## The WorkflowSchedulerService EJB +The WorkflowSchedulerService EJB implements the following methods: + + public ItemCollection loadConfiguration() ; + + public ItemCollection saveConfiguration(ItemCollection configItemCollection) + throws AccessDeniedException; + + public ItemCollection start() throws AccessDeniedException; + + public ItemCollection stop() throws AccessDeniedException ; + + public boolean isRunning(); + +The methods "_loadConfiguration()_" and "_saveConfiguration()_" can be used to lookup +or update the current workflow scheduler configuration entity. The methods "_start()_" and "_stop()_" can be used to start or stop the timer service. The method "_isRunning()_" returns true if the TimerService was started. If the workflowScheduler was started the timerService can be identified by the $UniqueID of the scheduler configuration entity. + -## Security & Deployment +### Security & Deployment The ScheduledWorkflowService EJB is embedded into the security concepts of the Imixs Workflow Engine. As the ScheduledWorkflowService needs full access rights to all workitems to perform a scheduled activity the EJB is annotated with the @RunAs declaration: diff --git a/src/site/resources/images/modelling/bpmn_screen_35.png b/src/site/resources/images/modelling/bpmn_screen_35.png new file mode 100644 index 0000000000000000000000000000000000000000..9a195b4e81f80b4f4a7ec43890e7afd9ddb7c31f GIT binary patch literal 48203 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