Warning: Use of undefined constant USER_AUTH_VERSION - assumed 'USER_AUTH_VERSION' (this will throw an Error in a future version of PHP) in /home/clients/8ef696c5eb3119a3a1c9089013d2fece/web/cookbook/userauth.php on line 31

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; UserSessionVars has a deprecated constructor in /home/clients/8ef696c5eb3119a3a1c9089013d2fece/web/cookbook/userauth/UserSessionVars.php on line 39

Warning: Use of undefined constant USERSESSIONVARS - assumed 'USERSESSIONVARS' (this will throw an Error in a future version of PHP) in /home/clients/8ef696c5eb3119a3a1c9089013d2fece/web/cookbook/userauth/UserSessionVars.php on line 37

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; HtPasswd has a deprecated constructor in /home/clients/8ef696c5eb3119a3a1c9089013d2fece/web/cookbook/userauth/HtPasswd.php on line 55

Warning: Use of undefined constant HTPASSWD_CLASS - assumed 'HTPASSWD_CLASS' (this will throw an Error in a future version of PHP) in /home/clients/8ef696c5eb3119a3a1c9089013d2fece/web/cookbook/userauth/HtPasswd.php on line 53

Deprecated: Function create_function() is deprecated in /home/clients/8ef696c5eb3119a3a1c9089013d2fece/web/pmwiki.php on line 501
Valdemar.fr

Drafts

PmWiki has the capability to stage draft versions of a page prior to them becoming "official". All of the draft pages end in "-Draft" by default (this can be changed by setting $DraftSuffix). Multiple interim edits to a page can be temporarily saved in a "-Draft" copy of a page until the draft is ready to be published to the original.

Configuration and usage

When the site administrator sets $EnableDrafts in a local customization file, the "Save" button on the edit page is split into separate "Publish" and "Save draft" buttons.

The "Save draft" button causes any edits to be saved to a "-Draft" copy of the original page, leaving the original page intact. Subsequent requests to edit the page (either the original or -Draft) bring up the draft copy for further editing.

The "Publish" button saves back to the original non-Draft copy of the page, removing any -Draft page that may have been created.

By default, saving drafts and publishing are available to anyone with 'edit' permissions (see Passwords). However, the site administrator can also set the $EnablePublishAttr configuration variable, which provides a separate 'publish' permission that is required to publish to the original page.

When "publishing", how the page's history is handled depends on whether the administrator has set the $EnableDraftAtomicDiff variable.

  • When set to 1, "publishing" a draft version will clear the "draft" history, leaving a single "diff" between the latest and the previous "published" versions. Note that this will delete the author names, dates and contributions of the intermediate, unpublished versions, so the change "Summary" you enter should summarize the changes.
  • Otherwise, all of the "draft" history entries are kept -- this is the default. The final "publish" history entry will show changes since the most recent "draft" version.

Drafts and (All)RecentChanges?

By default, using the "Save draft" or "Save draft and edit" button will be recorded to both Site.AllRecentChanges? and Group.RecentChanges?. Also after "publishing" a draft version an orphaned link to the "-Draft" page will remain.

To disable on both Site.AllRecentChanges? and Group.RecentChanges?:

$DraftRecentChangesFmt = array();

or alternatively:

if ( @$EnableDrafts && @$_POST['postedit']>'' || @$_POST['postdraft']>'' )
  unset($RecentChangesFmt);

To only disable one of these, unset it individually:

if ( @$EnableDrafts && @$_POST['postedit']>'' || @$_POST['postdraft']>'' ) {
  unset($RecentChangesFmt['$Group.RecentChanges']); # -and/or-
  unset($RecentChangesFmt['$SiteGroup.AllRecentChanges']);
}

If a $DraftRecentChangesFmt array is defined, it will be used instead of $RecentChangesFmt when saving a Draft version. For example, to have all draft versions only appear on a page Site.DraftRecentChanges?, you could add to config.php:

$DraftRecentChangesFmt['Site.DraftRecentChanges'] 
  = '* [[{$Group}.{$Name}]]  . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';

See also $RecentChangesFmt and $DraftRecentChangesFmt.

Drafts with searches, pagelists, and RSS

The drafts module also sets pagelists and searches (and thus RSS feeds) to ignore "-Draft" pages by default; one has to do list=all or similar in order to have draft pages included in a pagelist or RSS feed.

How do I moderate all postings?

Start by enabling drafts to change the "Save" button into separate "Publish" and "Save draft" buttons. Then set $EnablePublishAttr. This adds a "publish" authorization level to distinguish editing of page drafts from publishing.

This page may have a more recent version on pmwiki.org: PmWiki:Drafts, and a talk page: PmWiki:Drafts-Talk.

Valdemar.fr est un site personnel sur l'univers des Hérauts de Valdemar à but non commercial. Nous n'avons aucun lien avec Mercedes Lackey. Les textes ne sont pas libres de droit. Merci de prendre contact avec l'administrateur du site pour toute utilisation. Valdemar, une création de Mercedes Lackey. www.mercedeslackey.com