Thursday, August 28, 2008

OmegaWiki goes Squeak

OmegaWiki was implemented in MediaWiki as an extension during its first iteration. At that time this was a great decision. It provided us with a lot of great functionality and it was the environment that we knew. MediaWiki is a wonderful collaborative application. In OmegaWiki mark II we are looking for other things; this has led to making OmegaWiki independent from MediaWiki.

OmegaWiki intended to do everything in one database. This meant that it was problematic to use our data for other purposes. We also had a situation where different applications wanted their specific data included in the database and needed control of the data involved. This could not be done in the first iteration of OmegaWiki so we had to rethink our ways.

As data may be connected and often will be shared, a peering model is required. Data will be used by many applications and consequently the data needs to be provided in a way that allows for many applications. For the data we will have one interface that uses a standard XML interface to provide the data. This will allow for many applications to use the same data and it will prevent the mixing of data and user interface elements as we saw in the past.

There will no longer be only one database; there will be many. The central or “global” database will provide basic information that will be CC-by licensed. This will allow anybody to have their own “regional” or “local” data and refer to shared concepts for instance for sharing or mapping purposes.

Regional and local databases can be licensed and maintained in a manner that makes sense to the people involved. They can include data that is not really acceptable from a pure linguistic point of view, for instance MALARIA as a synonym for malaria. They can include all kinds of relations between concepts, relations that may be really specialised or that require particular validations before they are published.

Another application that we have always wanted to give our data was was the OLPC and equivalent networks. This means that our database has to be able to function stand alone and be synchronised and share improved data when a connection becomes available.

As a consequence of all these considerations, we have been looking for the best technology that will serve our purpose; MySQL 5.1 will provide us with new functionality that makes an important difference. Squeak is a programming platform that we think will provide us with the tools to build the rich environment that we dream of having.

As the OLPC project also uses Squeak, it will allow us to bring our information to this great educational project, and in return we hope that people will find OmegaWiki an environment to contribute their Squeak work to and help us build dictionaries in the many languages spoken and written where the OLPC will become available.



SJ said...

Neat! Do you have some squeak code to share with that group of developers? How do you imagine users wanting to hack the source of an omegawiki app?

GerardM said...

I have been told that it takes just a little effort to make the code available.

I also understand that we have been working on the functionality of Squeak itself.

Germán Arduino said...

I was hired by a person named Berto ed Sera, by a mail on the squeak-dev list. I worked a month and this guy not responding anymore, even I can see it connected.

Obviously not payed me neither. He hired me on the name of omegawiki project, may be also a lie, but is what he tell.

Germán Arduino said...

Last Update: After sometime were the person hired me (Berto) don't responded, he restarted the work (after some personal problems he was having) and made the pending payment. All is ok now and I want to make it public here.