[Mediawiki-l] One wiki, multiple private sections (or a wiki farm?)
Alex
mrzmanwiki at gmail.com
Mon Dec 15 03:55:29 UTC 2008
HotSop DotCom wrote:
> I want to set up a wiki which will contain a series of private sections, where each section will only be accessible to a specific set of users. When someone registers as a user they're given their own private section: one or more pages that only they and their friends can read and edit.
As the page Platonides linked to says, MediaWiki isn't really designed
for these kind of read restrictions. Its designed to be either "everyone
can see everything" or "only a specific user group (generally approved
users) can see anything." Anything in between is going to involve
patching lots of holes.
> Then, to give a friend read/write access to their private section, they'd fill out a form with a username and email address. An automatically generated password would be sent to their friend's email, and that user will then be given read/write access to the section.
If you use separate wikis, you won't even need to make a new form, as
this is basically the user creation form that a logged-in user will see
(the normal form with a a "create by email" button)
> I want there to be a common section that everyone can see, and the admin should be able to see all the sections.
If you have multiple wikis, I would probably:
* Write a script for wiki-creation that automatically adds the staff
members to the user/usergroups tables on the local wiki and the
"founding user" to the user table on the common wiki
* Write a hook function for account creation
(<http://www.mediawiki.org/wiki/Manual:Hooks/AddNewAccount> would be the
hook needed I think) to add new users on every wiki to the user table on
the common wiki.
> I don't want users of one section to know about the other sections. But, security that specifically relates to this setup isn't that big of an issue: one user probably isn't going to try hacking into another user's section. This is also probably not going to be a high-traffic site.
>
> I was thinking of using categories and it looks like there are extensions that limit access to categories that I can use or modify. I can hack the core code if necessary, but I'd prefer not to do that. Also, this will be on shared hosting.
>
> Are categories the best way to do this? Are their extensions that would make this easier? Are there tutorials already showing how to set something like this up?
Categories really aren't designed for this at all. The only real benefit
I can see for using categories is that you could have "shared spaces" by
putting pages in multiple categories. But that's probably not worth the
trouble. Categories are designed for categorization, not access control.
Categories generally have to be manually added to pages.
> I'd prefer to avoid creating a wiki family because it seems like that would make administration more difficult. With just one wiki the admin would be able to see everything without going to Special:Allpages for each of the wikis in the wiki farm.
Though by using just one wiki, users who aren't allowed to see
everything wouldn't be able to use most special pages, at least not
without a lot of hacking the output (especially if you use categories).
If you don't anticipate lots of load, you can have one central "admin
wiki" only accessible by the global admins with some extensions to pull
the data from all the other databases (or have all the wikis on one
database with different table prefixes), though as the size of the farm
grows, this will be less and less efficient...
> I currently run a basic MW wiki, but I'm not familiar with all of MW's features. Can someone suggest the best way to do this, bearing in mind that security between the various sections isn't that much of a concern and also that I want to make administration as easy as possible (unless it will require much more work)?
>
Given my suggestions, administration would probably not be any more
difficult with multiple wikis than with one, the amount of work required
will probably be not much more (maybe less, I'm not sure how much core
hacking you'd need to do), with several benefits:
* Better data security - full-read-restricted wikis are a designed
application of MediaWiki rather than a patchy hack
* Users get a "full wiki" rather than just a bunch of pages. They get
access to the special pages, namespaces, categories, templates, API, if
desirable, they can have different configuration settings, namespaces,
extensions, etc.
* Upgrading will likely be easier with fewer or no core hacks.
--
Alex (wikipedia:en:User:Mr.Z-man)
More information about the MediaWiki-l
mailing list