Archive for February, 2008

MediaWiki Page Object Model

We started development of MediaWiki Page Object Model - a set of classes that will help us and other developers manipulate wiki-text. The idea behind the project is similar to W3C’s DOM where all components of XML/HTML document are represented as a tree of objects for developers to manipulate.

The rationale for such development came from our frustration with all the code we had to write to modify wiki articles, we saw that Semantic Forms extension is already doing some work with page syntax but it was clear that reusing it will require some significant modification of the underlying parser and decided to implement intermediate layer independent of semantic parsing.

Tools that will be able to use this functionality range from simple bots updating pages to AJAX Widgets providing user-friendly interfaces for page editing (through extended MediaWiki API).

Right now we’re concentrating on manipulating template parameters since most of the functionality of Ardorado.com is based on semantic templates, but adding link and category manipulation functionality will be quite easy through adding additional element and parser classes.

If you’re interested in the project and would like to use it for writing your MediaWiki code, feel free to download it and leave comments / ask questions, we’ll be happy to explain all the details.

On-Line Social Relatoinships illustrated

Some social networking sites, like Facebook or MySpace, require a confirmation when a user wishes to list another user as a “friend”. Other sites, like LiveJournal for example, do not impose this requirement. This “one way” relationship is usually referred in terms of FOAF as “knows”. There are no restriction on reciprocal “knows”. In my opinion, groups of users with mutual reciprocal ties can be considered as “friends” as well. How else  would you define a group in the center of the diagram below?

Relationships between some of LiveJornal users