On 19/05/05, Chris McIntosh <cmcintosh(a)gmail.com> wrote:
My company wants to use MediaWiki for internal
documentation. They
would like to separate how projects are physically stored in the
MediaWiki structure.
For example instead of all files being listed under the root
structure, can I create a new project folder for each project and have
files be placed in their respective projects?
I'm not 100% sure what you're asking, but I suspect it betrays a
crucial misunderstanding about the software - the content in a
MediaWiki wiki is not stored in a file hierarchy, but in a MySQL
database. So your references to "folders" and "root structure",
unless
I misunderstand your question, are somewhat wide of the mark.
That said, there are a number of ways you can achieve what I think
you're aiming at here, namely run a series of separate projects which
are neatly and cleanly separated structurally.
The simplest is to install multiple copies of MediaWiki, or at least
multiple settings files pointing at different databases (or with
different table-name prefixes within the same database). This isn't as
daft as it sounds - it's what Wikimedia do with their several hundred
Wikipedias, Wiktionaries, etc, and there are facilities such as
"internal interwiki links" (shortcut links to another project, like
[[Wikt:word]]) designed to make such systems easier to manage. The
downside is that the databases are then *completely* separate, and
things like user accounts are unique to a single project, unless you
hack things around; there has been work lately on an "AuthPlugin"
system, and I think there's a working version of login-via-LDAP now.
Of course, this separateness is also an advantage, allowing you to
control access to each project independently.
The second option is to use "custom namespaces" - in the same way
"discussion" and "project" pages are separated on Wikipedia from
"articles", you can semantically seperate an arbitrary number of
sections within one wiki. It should be noted that these *don't*
function as "sub-wikis" or anything like that - links aren't specific
to a local "context", for instance, so a page called "Project A:Foo"
can only ever be linked to as [[Project A:Foo]], even if the page the
link is in is called "Project A:Bar". They can, however, be listed
separately, searched separately, and even (by making CSS rules based
on appropriate "ns-##" classes) styled distinctly. Since the namespace
is stored specifically in the database, it would also be relatively
easy to introduce different user restrictions for them - this is *not*
a supported feature, but people are always talking about it, so
*someone* may have an implementation by now (the "user & group rights"
system in v1.5 - currently alpha - should make this simpler still).
For more information on any of the things I've just glossed over, try
looking on
http://meta.wikimedia.org/ (particularly the pages linked
from
http://meta.wikimedia.org/wiki/Help:Contents) or searching the
mailing list archives by adding "site:mail.wikimedia.org" to a Google
(or similar) search.
--
Rowan Collins BSc
[IMSoP]