[daisy] What is workflow exactly?
Bruno Dumon
bruno at outerthought.org
Sat Jan 20 04:29:36 CST 2007
On Sat, 2007-01-20 at 08:40 +0100, Marc Portier wrote:
>
> Mindaugas Idzelis wrote:
> > Just general questions about what exactly is workflow and what it does.
> >
<snip/>
> > With the workflow feature, would the following use case be possible?
> >
> > Say you have "quality controlled" documents. These docs have fields like:
> > Approvers, Required reviewers, Approval Level: (Draft, For Approval, For
> > Review, Approved, etc. ). After the user commits the document, the
> > approval level can't be changed by the submitters. It must be changed by
> > the reviewer, which has the option of kicking it back, then moving it to
> > the approver were it finally goes to the "approved" state.
> >
>
> yes, I'm not saying the exact wording of your description would be the
> easiest or recommended way to do it (would need some more thinking) but
> essentially this is exactly the kind of stuff we're thinking about.
Indeed these sort of things are what the workflow is about, but doing
this with the current document fields doesn't seem the best to me:
- there's no field-level access control
- modifying the fields itself modifies the document, and hence creates
new versions, and thus interferes with working on the content of the
document. In other words, I would keep this approval-state info outside
of the actual document.
So like marc, I need to do more thinking about this, I feel this
'approval level' thing might be related to workflow-triggers Steven
wrote about.
>
> > As the document goes through the process, would a timestamped "history"
> > of the flow be available (for auditing purposes, who did it, when, etc)?
> >
>
> is http://demo.daisycms.org/daisy/DemoSite_A/workflow/process/14 what
> you think about?
That shows the current state of a workflow process. jBPM also keeps a
full audit log in a big database table: all changes to variables and
each progression of the execution tokens. For the current iteration it's
not planned to have a Daisy API or GUI to that.
>
> (need to login using info at
> http://cocoondev.org/daisyscratchpad/g4/305.html)
> > On a side note, I know you get JMX notifications for "create" "update"
> > documents, comments etc. Do you get notifications for "read?" That is - is
> > it possible to get a list of users that have accessed a document?
As Scott pointed out, there's no read JMS events, as this would be
rather meaningless on the level of the repository. A document can be
accessed very frequently besides the purpose of reading its actual
content: e.g. when it is occurs inside query results, or for the purpose
of annotating links, or when it occurs in navigation trees, and so on.
So the better solution is to do this in the front-end application,
Scott's solution is a simple and effective way to do this as it assures
it is only triggered when the document is displayed in the browser.
Eventually I'd like to see something like this managed by a standard
repository extension, and make this available to the query language
(through some yet-to-be-created query-extension mechanism), so that it
becomes possible to do things like querying for the most popular
documents.
--
Bruno Dumon http://outerthought.org/
Outerthought - Open Source, Java & XML Competence Support Center
bruno at outerthought.org bruno at apache.org
More information about the daisy
mailing list