This page describes in detail how common user accounts work in MoinMoin. The documentation can be found in HelpOnUserHandling.
Implementation details
The main account file <userid> (named like 1234567.123.4567) is shared by all wikis. It keeps most of the user settings.
quicklinks and subscribed_pages should be interwiki style.
<userid>.trail contains the shared trail.
<userid>.<interwikiname>.bookmark contains the bookmark for the wiki with interwikiname == <interwikiname>.
old ideas (not implemented!)
If we have one big wiki:
The default wiki you get automatically will be Farm, which has all the system pages from underlay, and a web configuration page, and may be accessible at http://localhost/Farm (probably with customized name)
There will be no FrontPage, but WikiName - the front page of a wiki
http://localhost/WikiName/RecentChanges will show the recent changes of the wiki.
http://localhost/Farm/RecentChanges will show the recent changes of all wikis.
Users belong to the farm - http://localhost/Farm/UserName and shared by all wikis like underlay pages, e.g http://localhost/WikiName/UserName
quicklinks are simply WikiName/PageName links
This will complicate the usage of quick links for users of 90% of all MoinMoin wiki.
- trail is shared in the farm, as its not a path to a page in the wiki, just a history of last pages in the farm.
the farm may have single config file per farm, and one config file in the name of the wiki - no need to define a wiki list, simply try to load a config with the name of the first component. For http://localhost/Wikiname/RecentChanges, try to load 'WikiName' config module.
- This is more inflexible. In fact, this will disallow the usage like you see it in this wiki.
- Creating a new wiki can be easy as creating a sub page in the top level, which can be protected by acl.
- plugin will be shared by the farm, maybe no one need wiki specific plugin.
- Sometimes you do want wiki specific plugins.
Here is a possible layout - new farm after you install:
farm/ bin/ moin.cgi config/ farmconfig.py FarmWiki.py logs/ underlay/ wikis/ FarmWiki/ pages/ WebConfig UserA UserB logs/
And after you create your first wiki:
farm/ bin/ config/ farmconfig.py FarmWiki.py FirstWiki.py plugin underlay/ wikis/ FarmWiki/ pages/ logs/ FirstWiki/ pages/ logs/
Maybe this should be long term...
long term
... will be different, as it is planned to move user account data into items in 2.0.