Brion Vibber wrote:
If you want to try this, start by rewriting Title::userCanEdit() and Title::userCanRead(), which control write and read access to given pages. You'd also need to add a more intelligent way to assign page permissions & user privileges.
Thanks.
My questions are: How do I go ahead? Are there better ways to achieve what we want?
Honestly, I'd recommend you just give all your users read/write permission to all pages... If they change things they're not supposed to it's recorded in the audit trail and incorrect changes can be easily reverted.
Ira Abramov wrote:
as Brion mentioned, MediaWiki is built for openness, and will require quite some tweaking.
Well, I see user groups as a way to revert incorrect changes even before they happen ;-) I.e. user groups aren't dogma for me, they are just the first thing that comes to my mind. If there's a better way to achieve the desired behaviour, I'll gladly accept that.
It's just that I don't see that manual reversion is a viable alternative. If the project is successful, it will have with several hundred authors and several ten thousands of readers. Readers are encouraged to drop comments (and the Discussion pages of Mediawiki are perfect for that purpose), but they are definitely not supposed to alter the texts proper (that's a requirement, and I'd need extremely strong arguments to renegotiate that).
The "Wiki way" would be to allow changes and revert them if inappropriate. It's just that this isn't going to be a "real Wiki". There are pages that everybody is supposed to alter (such as Discussion pages, which are perfect for purposes of the project), and there are author pages that only the respective authors are supposed to alter. It's a somewhat artistic project, and to remain artistic, the artists must be able to say that "this-and-that page is what me and he and she and those wrote".
It's a kind of middle ground between a Wiki and a single-author WWW site: not everybody is allowed to do everything (as would be in a Wiki), and there's still a lot of collaboration going on.
I know that what I want is un-Wiki. It's just that the True Wiki Way is at an oh-so-slight angle from what I need, and I'd like to have (or pave) a road that suits both angles :-)
Ira Abramov wrote:
last time I looked at Twiki it seemed like a much better platform for such permission schemes, give it a look.
Actually I was quite active in the TWiki community for a while :-)
The main thing that makes TWiki unsuitable for the current project is that it's style is geared towards technical people. It's using CamlCase, its syntax requires several pages of text, it allows entering arbitrary HTML code (both a safety issue and a barrier against editing if a HTML nonexpert tries to modify an thoroughly HTMLized page), and I dimly remember the process of editing was geared to making techies comfortable. Mediawiki is geared towards non-techies, and that's the perfect match for more "artistic" projects like the forthcoming one.
I'm eager to hear additional advice and alternatives.
Regards, Jo