Permissions: Add but not edit

I have a page (with childpages) where I want users to be able to create new pages but not edit existing pages.
Now obviously this doesn’t work because to create a page they need to be able to ‘edit’ a new page (from my understanding).

Is this possible at all in current versions of xwiki?

Using version 9.9

There is nothing built in to support you use case. The general idea is that if you want a page to have different right than its parent this page much have its own rights setup.

A workaround would be to make sure all the new pages contains right configuration that only allow a specific group (like the Admin group for example) to edit those pages.
It all depend how those pages are created:

  • it’s page generated by some application: the easiest would be to put a XWiki.XWikiRights object in some page template which is used when created the new page
  • it’s standard wiki pages: you could write a listener (http://extensions.xwiki.org/xwiki/bin/view/Extension/Observation+Module+Local) which automatically add the XWiki.XWikiRights object to each new page (org.xwiki.bridge.event.DocumentCreatedEvent event)
1 Like

Thank you very much!

My usecase is a Application created with Apps Within Minutes and I was able to add the XWiki.XWikiRights object to the template, which did exactly what I wanted :slight_smile:

Just for reference, my XWiki.XWikiRights looks like this:

  • Group: XWiki.XWikiAllGroup
  • Scope: edit
  • User: none
  • Allow/Deny: Deny

This denies editing the created pages to all users that are not an admin

Indeed that what the easiest use case and the right way to deal with it :slight_smile:

Just a details: I usually try to avoid manipulating Deny right (old xwikier reflexes) so instead I would have given edit right to admin group but that works too.