Publish / Unpublish
Configure publish and unpublish dates on documents. Unpublished documents are only visible to user which have edit rights. |
Type | Authenticator |
Category | |
Developed by | |
Rating | |
License | GNU Lesser General Public License 2.1 |
Table of contents
Description
This extension allows you to add a Classes.DocumentPublication object to a document and set a publish and / or unpublish date. Setting publish and unpublish dates restricts the view rights for visitors without edit rights. If you don't have edit rights you will be redirected to the login. Multiple publication timespans (objects) on a document are possible.
Empty date fields are seen as 'no date set', so you are able to set only a publish and no unpublish date for a document.
A little example:
You create the document Event.Registration with an object of class Classes.DocumentPublication with publishDate='01.08.2013 12:00' and unpublishDate='31.08.2013 18:00'. In that timespan all visitors can access the document. Before and after that time you need edit rights on Event.Registration to view the page.
Technical details (and warning):
In the current (first) version the extension there is a performance penalty because the security cache is not taken into account for documents with a publication object.
Here is a little example. This page just prints out the date and the user.
An object is added and the dates are set.
And this is how the page will be displayed for different users on different times.
Prerequisites & Installation Instructions
Set security.authorization.settler=celpublication in xwiki.properties and add the jar file to the lib folder.
Add a boolean field 'publishdate_active' to XWiki.XWikiPreferences to activate the extension (or add celements.publishdate.active=1 to your config).
Create the class 'Classes.DocumentPublication' with the two date fields 'publishDate' and 'unpublishDate'. Hint: don't set unpublish as "empty is today" or you can't leave it empty.