Unprivileged creators can lock themselves out easily

Hello,

I found a scenario where an advanced (but still non-privileged) XWiki user can easily lock themselves out of a page.

Steps to reproduce:

  1. Create and log in as an unprivileged XWiki user (default permissions).
  2. Switch to advanced mode (via the keyboard shortcut xxxa ).
  3. Open Access rights edit mode on any page.
  4. Grant view permissions to the XWikiAdminGroup .
  5. Wait for 5 seconds.
  6. Try to change other access rights.

Result:

A popup is displayed: An error occurred while communicating with the server. Please check that the server is accessible, and you have the proper rights to perform the requested action.. If you reload, the page is no longer visible. I suspect this is related to the implicit deny behavior of access rights (which would be expected behaviour).

I think this is an issue because unprivileged users should likely not be able to modify access rights on arbitrary pages just by switching to advanced mode. Also, it is easy to lockout of the page.

However, it would make sense if unprivileged users could set access rights on pages they created. This allows them to setup personal pages shared with few people themselves without asking the wiki admin.
Preferrably, this should be possible to configure in the UI. Maybe the original page author could become a scoped ADMIN on the page? This would also make it impossible to lock himself out of the page.
I also noted that admin users do not see the Access rights mode at all.

That’s why we made a small jsx:

var buttonAccessRights = document.querySelector('#tmEditRights');
try {
  buttonAccessRights.remove();
} catch (e) {};

Or you can do a ssx:

#tmEditRights {
   display: none;
}

We did not see a reason for anyone except admins to give dedicated rights for pages.

As described above, a valid use case could be that a user wants to create a private page and share it with a collegue.

I’d argue that this is not really a good use case for a wiki and it would be very very anti-wiki to allow users to do that as it would scatter knowledge very easily. You’ll see plenty of users doing islands of knowledge that they share with only some collegues. It’s always easier to share content with one person than with many, and people will use the path of least resistance, transforming the wiki into a mail system or a forum, with knowledge scattered and inaccessible…

Thus, if that feature was ever to be developed (personal pages), I think it should not be part of the core and not promoted (ie it should live in an extension).

I think it’s one, if not the main reason why XWiki doesn’t have personal pages, after 20+ years of development. It’s not really a good feature for a wiki. OTOH an Admin can decide to create some special sections of the wiki accessible only to some users/groups and that’s a conscious/architectural decision, not something decided by every user without concertation. So it’s good that it requires an admin to do it IMO.

WDYT?

Thx

I mainly agree, personal pages are anti-wiki. But what about page drafts (maybe something controversial that should not be public before finishing it) or sharing of sensitive data, not passwords, with a trusted party (data that does not fit a pre-configured space and is time-critical)? How should they be handled?

1 Like

@vmassol really makes a good argument, but you do also. I think that knowledge islands are completely anti-wiki, he’s right. BUT:

  1. There is an actual need to take personal notes, and if that’s done in another platform, the probability of them becoming good shared documentations decreases even more.
  2. I still think that there are valid use cases were some document should only be shared with one or two people (for example: HR docs or specific job interview guidelines). And if you don’t have a personal space which you administrate and you are also not an admin of any other space, you don’t have this possibility. Again, the result is that you have to go to another tool and again the probability of you work being useful in the future for someone else goes down.
  3. Also related, what about creativity? A wiki should be organized, but it shouldn’t cut wings to users. I think an intermediate approach could be beneficial.

In all this cases what we try to avoid is having people using other tools outside of the wiki for things that could actually become useful for the future. And it’s easier to just move something from my personal space to a shared space than to copy it from an external source and creating a new page.

Also, if people are forced to use other tools that don’t have SSO or that are not standard in the company, the risk of ‘knowledge islands’ increases even more.

To sum up, in my opinion personal spaces are not an anti pattern, but a useful but dangerous tool that should be given as an option for any wiki software. Thanks for reading and for considering my ideas.