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?
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
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
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
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.