<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<pre wrap="">Patrick,

&gt;&gt;The problem I've always run into with this is finding good answers
to "hidden from who" and "visible to who"?

</pre>
I think it would be fair to say hidden from anyone with only read,
visible to anyone with edit or higher, but only on the edit page, only
in the preview section of the form, with a note that the version in
edit is not identical to the published version. If an author didn't
want the pending, he/she could just cancel (ie. implicitly delete the
copy) and restart with the source of the released version.<br>
<br>
It would be nice to be able to generate a list of pendings, for
administrative purposes, but if they're kept in a subdirectory, then
deleted when released, that shouldn't be too hard, I'm guessing.<br>
<br>
<pre wrap="">&gt;&gt;Are we assuming a limited set of authors?  Would authors always
see and edit the latest draft, while non-authors see only the
released versions?</pre>
I think the simplext would be if everyone would see the released
version, and authors would have to go to the edit page to see the
pending version in the preview portion of the form. Internally there
would be exactly one or two versions: one if the latest edit has been
released (can be done immediately&nbsp; by selecting a radio button), or two
(no more) if marked pending. From then on all edits would be done on
the pending copy, until the pending version is cancelled or released
(replacing the released version, with the copy deleted).<br>
<br>
<pre wrap="">I can envision situations where authors don't
realize that an updated version of a page hasn't been released,
or where an author views a released version of a page and goes to
edit it and gets very confused because the edited version doesn't
match the released one.</pre>
I think it would be totally acceptable if the pending view were only
available on the edit form as a preview section (so you could see the
'live' version and the preview version on the same page ie two preview
sections instead of the current single section). Plus after a person
has given the edit password, you could put a discreet note somewhere on
the released version saying that the page has a pending version. (eg.
&lt;!--PendingNotification--&gt;<br>
<br>
The email notification system could make a note that a change made is
pending, or perhaps email notifications could be opeionally filtered
for pending edits only. That would be PLENTY for workflow notification
and even an administrative authorization system. I think it would be
totally fine to run it by convention without system enforcement.<br>
<pre wrap="">One option is to configure the system so that edits always take
place on "-Draft" versions of pages, and then provide an easy way
to replace the released version with the -Draft text.</pre>
But many people may not want this, so making it an option (off by
default) would certainly suffice. When the pending option is selected
then something like that would do just fine (though I would be inclined
to place pending copies in a separate directory, perhaps a subdirectory)<br>
<br>
The author could always see the public version in another browser
window, while having the preview version in a preview pane of the edit
form.<br>
<br>
<pre wrap="">Another option is to create a special "released.d/" directory for
released versions of the pages, while edits always take place on 
the pages in the "wiki.d/" directory.

</pre>
I don't know that a full blown versioning system is necessary. You
might consider a 'pending' subdirectory for in-process pages, if that
makes it easier. The suffix approach may cause problems with searches
etc. I really think that in the spirit of simplicity of PmWiki, all I'm
suggesting is that once you throw a switch, then all edit operations
take place on a single copy (say in a pending dir) until the pending
copy over-writes the previous version, and is then deleted. Of course
the person making the edit would have the option of releasing the edit
immediately (ie. not making a pending copy).<br>
<br>
Mind you I'm talking a bit blind here, you may have a problem
rationalizing history files.<br>
<br>
<pre wrap="">In short, there are lots of options here, but we need a slightly
better specification to get to an implementation.</pre>
I would say if there is a simple way for you to do this (not time
consuming, perhaps even a recipe to try it out) then that would
probably be the right way.<br>
<br>
I'm using PmWiki for a content management system, so for me it's easy
to distinguish between authors (about 10) and readers (my guess is
2000-3000).<br>
<br>
Does this help?<br>
<br>
- Henrik<br>
<br>
<br>
Patrick R. Michaud wrote:
<blockquote cite="mid20051128023639.GA15552@host.pmichaud.com"
 type="cite">
  <pre wrap="">On Sun, Nov 27, 2005 at 03:32:00PM -0500, Henrik Bechmann wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Is there any way of implementing simple workflow?

Mostly, it would be convenient if new pages and changes were hidden 
until released, so that authors could complete work in stages.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
The problem I've always run into with this is finding good answers
to "hidden from who" and "visible to who"?

Are we assuming a limited set of authors?  Would authors always
see and edit the latest draft, while non-authors see only the
released versions?  I can envision situations where authors don't
realize that an updated version of a page hasn't been released,
or where an author views a released version of a page and goes to
edit it and gets very confused because the edited version doesn't
match the released one.

One option is to configure the system so that edits always take
place on "-Draft" versions of pages, and then provide an easy way
to replace the released version with the -Draft text.

Another option is to create a special "released.d/" directory for
released versions of the pages, while edits always take place on
the pages in the "wiki.d/" directory.

In short, there are lots of options here, but we need a slightly
better specification to get to an implementation.

Pm


  </pre>
</blockquote>
</body>
</html>