00319: Add a page version/status attribute

Summary: Add a page version/status attribute
Created: 2005-02-05 11:42
Status: Suspended
Category: Feature
From: Pyg
Priority: 55

Description: It would be great if pmWiki could store information about the revision status of a page. ("Todo", "Draft", "Under revision", etc)

  • "Hard" way : using the same functionnality as Comments or Draft page (see here for more details and propositions)
    • Summary of proposal: So my question is : is there a simple way to indicate the state of a Wiki page (Todo, work in progress, validation, ok, etc...) ? (I tried without success to adapt the PITS system, but it was too heavy to manipulate for my users). I just hoped that, as for drafts or comments, it belong to the same idea : add some informations *linked to* a page, but not necessary *into* the page. This system/cookbook should be very usefull for anybody that want to produce/mark a "definitive" version of a page (like in documentations, tutorials, translastions, etc.) So, as you're in brainstorming stage for Group.Page,Draft or Group.Page,Comments maybe we could think of Group.Page,Revision (or Group.Page,Status) ?
  • "Soft" way (Neil's proposal) : store a page revision attribute (as we store password attribute). See here for details and proposition.
    • Summary of proposal: I think that items such as revision levels or status should be treated as page attributes. Currently, the only attributes used for pages are passwords. But it makes perfect sense to me that a page attribute (revision level) could be "just started", "draft", "under revision", or "complete". I am sure that admins will want to use their own terms for these states, and they may want more or fewer levels. The big question for me is "how does an author set this attribute?", and the only answer that comes to mind is that there would be radio buttons on the edit form that would allow the author to select the revision level.
  • Comments from PM in email
    • Actually, this is another one of those cases where I think a directive in the page text markup may be more appropriate than an attribute on the page: (:page-status draft:) (:page-status under-revision:) (:page-status final-review:) (:page-status complete:) This way the status is stored in the page's history (attributes aren't held in the history). Indeed, I can even imagine that one might want to assign a different status to different sections of a page, with the overall page's status being the "least complete" of any of its sections. It also wouldn't be too difficult to get the (:page-status:) markup to generate a form which would allow authors to quickly change the status of the page (e.g., similar to what is done by http://www.pmwiki.org/wiki/Cookbook/Voting). Another, somewhat more straightforward solution is to just use categories, and markup each page with [[!draft]], [[!complete]] [[!under-revision]], etc. It then becomes a fairly simple process to find all of the pages that are in a given category or state.