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.

Login

Datum zadnje spremembe strani: 21 november 2019 22:17
 

© 2005-2024, Gobarsko društvo Lisička Maribor.
Ta spletna stran je last imetnika domene gobe.si, ki spletno mesto tudi upravlja. Vsebine, objavljene na spletnem mestu je dovoljeno reproducirati le v nekomercialne namene, pri čemer morajo ohraniti vsa navedena opozorila o avtorskih pravicah in se torej ne smejo prepisovati, razmnoževati ali kako drugače razširjati brez dovoljenja lastnika domene gobe.si. Po svojih najboljših močeh se trudimo, da na spletnem mestu objavljamo le prave in ažurne podatke, vendarle pa ne moremo zagotavljati popolne točnosti in zanesljivosti vseh objavljenih podatkov in povezav. Prav tako ne prevzemamo nobene odgovornosti za morebitne posledice, nastale zaradi uporabe datotek in podatkov, objavljenih na tem spletnem mestu ali začasnega nedelovanja spletnega mesta. Zavedamo se, da je zasebnost obiskovalcev naših spletnih straneh zelo pomembna. Zato ne zbiramo nobenih osebnih podatkov o obiskovalcih spletne strani gobe.si. Gobe.si si pridržuje pravico do spremembe vseh podatkov, ki so objavljeni na tem spletnem mestu. Z uporabo tega spletnega mesta obiskovalec potrjuje, da sprejema opisane pogoje in se z njimi strinja.

Stran generirana v 0.065 sekundah.