Note, this is an old page. Please go here for up-to-date information: http://projects.nickblundell.org.uk

An Overview of Wikidbase - Under development

/media/images/wikidbase-30.png

Wikidbase is a powerful and highly-flexible combination of two structural extremes of data management systems: a wiki and a database. As such, wikidbase has:

  • all of the flexibility of a wiki (e.g. any kind of unstructured data can be stored)
  • and the structural data capabilities of a database (e.g. data may be modelled similarly to database fields, tables and relations such that structural reports can me made of that data).

The functionality of a wiki and a database is combined in such a way that this general-purpose data management system may be shaped easily (without the need of expensive database experts) into a custom data management application (e.g. a contact relation management (CRM) system, a knowledge base, a shared calendar system, a project management system, etc.)

Wikidbase: as a wiki

A wiki is an easy-to-use web application that lets users easily and collaborativley create and link together pages of arbitrary information (e.g. a knowledge base, an intranet, an encylopedia). Such information may be:

  • plain text
  • attached documents (e.g. pdf, doc, presentations, etc.)
  • images
  • movies
  • audio
/media/images/wbhelp1.png

Wikidbase: as a database

Defining fields

In wikidbase, it is easy to give some database-like structure to your information by specifying fields when you edit a page. For example, a page may be used to store some structured data like the following:

  • Name
  • Address
  • Date of birth
  • Gender
  • Catagory
  • Or anything else that you'd like to have
/media/images/wbhelp-fields.png

TODO: Add a link to detailed field help

Defining types of data

Then, once you have desribed some fields for a page you can label that page as a particular type, allowing you to create other pages to store similar information, and to later generate structured reports from your wikidbase (e.g. 'show me all staff members', 'show me all sales', etc.). The type of a wikidpage can be likened to the name of a database table that stores data of a specific type (e.g. person, volunteer, animal, sale, etc.); though in wikidbase, the model of that data may be evolved easily over time.

/media/images/wbhelp-pagetype.png

Relational data

The great power of conventional database applications comes from their ability to allow data to be related. For example, a staff member may work on one or more projects, so this may be realised in the database by modelling a relationship between the table staff member and the table project. Typically, such modelling requires a good knowledge of how databases work and can be difficult for a user to change once frozen by an expert. However, wikidbase allows arbitrary relationships to be set up easily among any of the structured data stored within it and, importantly, those relationships can easily be evolved along with your needs - since in wikidbase, there is never a fixed data model.

/media/images/wbhelp-rel.png

Producing data reports

Once you have some structured data within your wikidbase, you can produce reports on pages by entering simple query commands.

/media/images/wbhelp-query.png

TODO: Add a link to detailed query help

About

This open source project has been supported by www.illuminateict.org.uk