[okfn-discuss] Collaborative Development of Data

Rufus Pollock rufus.pollock at okfn.org
Mon Feb 19 16:46:26 UTC 2007

By the way, the list does not have Reply-To-List set so you need to 
reply to all if you want reply to go to the list as well as me (I think 
that would be good as your comments are I'm sure are of wider interest).

Erik Moeller wrote:
> On 2/19/07, Rufus Pollock <rufus.pollock at okfn.org> wrote:
>> You can also start putting proper object oriented structures into a 
>> wiki (as
>> I think OmegaWiki are doing) but in so doing you aren't really a wiki
>> any more (of if you are what one means by a wiki has become so broad as
>> to encompass pretty much anything).
> I disagree. A wiki is characterized by easy and open editability of
> versioned objects through the web, with all damaging operations being
> reversible. Whether these versioned objects are simple (a single text
> object, perhaps with some category metadata embedded like in
> MediaWiki), or complex, is irrelevant to the definition of a wiki.
> Indeed, existing wikis embed an awful lot of complexity into the
> freetext itself; I fail to see how either approach is more or less
> "wiki-like."

This is great because then it is just about definitions. If we define a 
wiki as you suggest:

   * something which supports versioning of information (this will 
include reversability of damaging operations)
   * allows easy and open write access

Then it will include a lot of stuff including the examples you mention. 
By the way what would happen if you allow editing by other means (e.g. 
local modifications with some commit mechanism) in addition to/instead 
of by the web.

AFAIK people have been developing mechanisms to allow non-web-editing 
for e.g. MoinMoin and MediaWiki (in fact I know for a fact that MoinMoin 
has an XML-RPC interface). If such mechanisms are allowed in a wiki then 
most revision control systems would also seem to fall under the scope of 
this definition.

Similarly, musicbrainz, which definitely has some kind of versioning and 
a web interface,  would also be a wiki. They've had a (semi-)versioned 
domain model system for years.

Of course this is no bad thing -- but it would seem to be a very broad 
definition and it might be clearer just to say: this is a system which 
supports versioning and liberal write access.

> OmegaWiki uses a transaction-based versioning system; every record is
> associated with two transaction IDs: when it was added, and when it
> was removed (the latter can be null). The transaction IDs are
> associated with users, comments, timestamps. It thereby becomes
> possible to browse the state of the database at any given time.

Interesting, that is how I think most (at least centralized) 'proper' 
RCS work: each atomic change to your model creates a new 'Revision' or 
Transaction with an instance of the model (e.g. in the case of 
subversion each Revision has an associated filesystem tree object). Out 
of interest can you make changes to multiple objects as part of a single 
transaction and how do you implement many to many relationships?



More information about the okfn-discuss mailing list