Stefano Ronzoni wrote:
Hi. I'm considering mediawiki for a large scale
application (more then 2000 users).
Main points of the application are:
1) there must be a herarchical users structure such as:
GOD > ANGEL1 > REVEREND1
GOD > ANGEL1 > REVEREND2
GOD > ANGEL2 > REVEREND3
REVERENDS can see and edit ONLY their personal contents. ANGELS can see and edit ONLY
their personal contents plus the contents of their subordinates (for exemple: ANGEL1 can
manage the contents of REVEREND1 and REVEREND2).
2) The structure of the point 1 changes very often. Also users data change very often
too. I cannot manage them manually from mediawiki webpages: it costs too much time in
costant manteinance. A server process must be developed to daily import and update users
data and permissions in background from an excel, a csv or a webservice.
Some exemples of changes are:
- a new REVEREND such as REVEREND4 appears under ANGEL2
- REVEREND2 boss change from ANGEL1 to ANGEL2
- ANGEL2 disappear
- REVEREND2 diasappear
- REVEREND3 became ANGEL4
- all the herarchical structure totally change
Only created and authorized users form the server process import can login to the
applcation. A user cannot register himeself because otherwise it isn't possible to
place him in the herarchical structure by default and to check if he has got the correct
system login nickname.
3) For point 1 and 2 I checked PermissionsACL extension but it seems this one requires a
lot of administrator manual mantainance. For exemple, have I got to create a namespace for
every one of my 2000 users? Have I got to update every time LocalSetttings.php? Have I got
to create a group for every user? Have I got to write into Localsettings.php all the
things a single user can see on mediawiki because PermissionACL protects all? Is there a
solution to automate all of this from the server process of the point 2?
Considering SQL Injection etc. etc, can PermissionsACL guarantee me a proteceted
application where a user can see only his own data in the structure of the point 1.
4) In the structure of the point 1 is possible to redirect a REVEREND user directly to
his personal contents after the login?
5) And if I got to import, from excel csv or webservice, some user contents to manage the
fact in this way he is not forced to retype it?
Having GOD users allowed to change anything is easy.
You could hack the code to have REVEREND1 allowed only to edit
User:REVEREND1/ subpages.
You could further change it to allow angels access to their reverends data.
However, MediaWiki is not designed to be used this way.
6) I've got a development machine and an
application machine. When I create on the development machine a release n.2, n.3 etc. etc.
of my application: how can I migrate it to the application server considering the fact, on
the application server, there are real data and on the development machine data are
obviously fake? Have I got to do it manually?
What do you mean by 'releases'?
If you modify MediaWiki code, you change the php files. MediaWiki
content is stored on mysql.
7) is there a way to backup only data or have I got to
backup all my easyphp folder to be sure I can restore the application? What have I got to
backup to be sure I can restore my mediawiki application?
http://www.mediawiki.org/wiki/Manual:Backup
8) considering more the 2000 users, passwords cannot
be changed manually if a user forget it. Too much manteinance. Is it possible to use
Windows Authentication? Or is there a way to enable the structure of the point 1 to manage
subordiante users passwords (for exemple ANGEL1 can reset the password of the REVEREND1) ?
MediaWiki default authentication allows the users to request a password
reminder to an email. You can (and in this case should) manage the users
using an authentication plugin, such as
http://www.mediawiki.org/wiki/Extension:LDAP_Authentication
9) if I've got to export data daily in background
not manually (such as REVERENDS contents) to some other system: is it possible to do it
considering data into mediawiki database are in mediawiki syntax?
Depends on what you what to export. You want it exported on a different
format?
10) considering more then 1500 REVERENDS: they can
write their personal stuff in different ways. Is there a way to fix it in a common way so
mediawiki can manage links?
The easiest would be a hierarchical structure where the author is
embedded in the name.
11) the idea is to develope the product in my
language. It is not eneglish because not all the users actually know english. Apart user
imputed data, will be possibile to update my mediawiki application in english one day or
to manage it multilanguage? Have I got to re-implement my application from the beginning?
MediaWiki has a really good localization support. Content can be on any
language (it uses UTF-8).
Mediawiki is a good product but in my opinion is not
the solution for my needs because they are out of mediawiki contents and for what I can
see using mediawiki it costs me a lot in regular daily mantainance.
Please be honest, is mediawiki the right solution for me? Is there a solution for my
points using mediawiki? Or is it better if I look for some other solution more
customizable for what I have got to do and less expensive in manteinace and development?
I think it is you who should evaluate if a product is a solution
adequate enough for your needs.
A CMS might be more appropiate. OTOH, you're welcome to try to solve it
with mediawiki.