jueves, 11 de diciembre de 2008

MediaWiki Operation

This is a conversation between Josh Bancroft (jabancroft@gmail.com) and me about MediaWiki engine.


· The pages are organized as a network type structure?
There is no real inherent structure to a MediaWiki instance. The basic unit of the wiki is a "page". Each page has a companion "talk" page, and be belong to a category or a namespace. Beyond that, any real structure the wiki has is the structure that you create by linking pages together. Besides these intra-page links, the wiki is very flat.

· Is LDAP authentication a source for this logical structure?
LDAP is for authentication, and has nothing to do with the structure.

· How a user of MediaWiki navigates from one page to another and back?
They click links. Try it yourself on any MediaWiki-based wiki, like Wikipedia: http://en.wikipedia.org/

· How do you document a project in MediaWiki? Could you set a home page and the other pages as child pages? Do the child pages inherits the security options from the parents?
You can't really make child pages, but you can have a "home" page, and link to other sub pages. You can create whatever structure you want by linking the pages to each other. Also, Categories are useful for grouping related pages together.

· How the data is stored? In a database? In text files?
In a database. They recommend MySQL, but I believe it's possible to use other databases like PostgreSQL.

· If text files storage is the option, How are logical structured the directories?
MediaWiki doesn't use text files.

· How the logical structure is similar to the physical architecture?
I assume by "physical architecture", you mean the way the MediaWiki files are on the disk? There is no relation to a wiki's "logical" structure. There's no heirarchy. The wiki is flat, and you build the structure by linking pages and using categories.

· Do MediaWiki index the pages? Uses a database for that purpose?
Yes, you can search the whole wiki, and the database is used for searches.

· Is there support to connect MediaWiki to a LDAP?
Not by default. However, you can add LDAP support via an extension: http://www.mediawiki.org/wiki/Extension:LDAP_Authentication

· Restrictions and access could be granted by LDAP groups?, by single user?
You can restrict access to the whole wiki by LDAP. You'll have to read the documentation on how to do this, because I've never implemented a restricted access wiki. But it can be done. Another approach would be to implement your security/access control on the web server software (Apache). Apache is able to restrict access to the site where the wiki lives, and then you don't have to worry about making MediaWiki be in charge of security (read below for why MediaWiki isn't good at restricting access).

· Can the same user have Read+Write access to certain pages and only read on anothers?
This is very difficult. Because there's no structure to pages in MediaWiki, there's no easy way to say "this user can access these pages, but cannot access these other pages" without defining access for every single individual page. There's no way to restrict access to a "section" of a MediaWiki, because there's no native way to define a "section". This is one area where the MediaWiki community and developers are going to be your best help. Philosophically, wikis are meant to be open, and accessed by anyone. When I asked the MediaWiki developers about restricting access to parts of a wiki, they said that MediaWiki will likely never have that as a core feature, because most wikis (like Wikipedia) will never use that feature, and they don't want to code and develop a feature that most people will never use. In addition, since it's a security feature, if they put it in, but it didn't work very well, people would be upset with them. So I doubt access control/restriction will ever be a core feature of MediaWiki.

· Could a user be restricted to see some pages?
Possibly, but it's difficult (see above). Wikis in general, and MediaWiki in particular, are meant to be open.

· How the security options are enabled/disabled by an average user?
See above. This is complicated and difficult, and if security is a high priority, maybe you shouldn't be looking at using a wiki, since wikis by nature are meant to be open, and therefore not many wiki packages have good security features. Scalability

· Which are the scalability scenarios?
MediaWiki powers Wikipedia, the largest and most trafficked wiki in the entire world. If it can handle the traffic on Wikipedia, it can likely handle any amount of traffic you could throw at it.· How MediaWiki could be deployed on a server farm?
There is documentation on the MediaWiki site on how to do this (Wikipedia is implemented on a distributed web farm). I've not done it myself.

· Will the domain change for different servers? (MediaWiki2.cemex.com,MediaWiki3.cemex.com)
You'd have to read the documentation, but the wiki can have a single URL. That is how en.wikipedia.org works. You don't have to use a separate URL to take advantage of the distributed web farm.

· For the initial testing, how many servers do you recommend for 150 users?
One server will be more than plenty. On Intelpedia, one server easily handles tens of thousands of users, with hundreds of thousands of pageviews per month.

· As an open source, do we have to pay for a license? If the answer is yes, how much?
Absolutely nothing. MediaWiki is open source, free as in "free beer" (gratis), and free as in "freedom of speech" (libre).

· How much the support costs? Which are the support plans?
Support is mainly provided by the MediaWiki community, and as such, is free. There may be professional third parties that offer paid MediaWiki consulting and support, but I don't know of any. Search the web to see if you can find some.

· If we decide to purchase the hosting service, where are the files located? Which disaster plans are documented? How often do you backup those servers? Are guaranties of confidentiality? Who owns the data? What If we want a copy of the raw text files? How much we have to pay for the service? What is the cost for an extra user?
MediaWiki doesn't sell hosting. You have to provide the hosting/support/web/database. If you're doing this on your internal company intranet, talk to your IT department. If you're wanting to host it on the open internet, there are lots of web hosting companies to choose from. In either case, they'd be the ones to answer these questions.

· If we decide to host the service in our DataCenter, how many full time employees will be required to operate the servers and to provide the appropriate maintenance? Is local support available in Monterrey, México?
Hard to say how many people it would take. It depends on whether you have an established web and database environment, or if this person would be maintaining the server itself, web services, database services, and MediaWiki itself. It shouldn't take more than one qualified person. As far as local support, see my answer above about professional/paid support options. And learn to rely on the MediaWiki community.