Tags:
create new tag
view all tags
moved from topic MetadataSucks -- GrantBow - 03 Feb 2003


I've held off mentioning this for a few days becuase I thought it was something well known, but it seems from what I see in other topics that this is not so.

Perl has a abstracted database interface. I presents the same API whatever the underlying databases are. What could they be?

  • SQL on a local machine
  • SQL on a remote machine
  • Delimited plain text files (such as CSV)
  • Berkeley DBM files

The database could be an "open" one such as MySQL or a "closed" one such as DB2 (now available on Linux), Oracle or Sybase. Or even the old XBase wink The database may be local or remote. It can even be an ODBC interface.

The data may be simple tables or "multilevel" using the perl MLDBM module.

The interface is excellently documented in the O'Reilly book "Programming the Perl DBI" - ISBN 1-56592-699-4

So long as the TWiki API sits on top of the Perl DBI, the underlying database is left to the discression of the site maintainer.

As I've commented elsewhere, I beleive that access control is metadata. At the moment, the editor does not display the basic metadata, the last author/date-stamp and the form or attachement metatdata. It does, however, display the access control information and allow the user to edit it as text in an unconstrained and unverified manner that allows for inconsistencies.

I beleive that addressing the issue of access control and moving it "out of band" is of great importance in making Twiki a professional "commercial grade" tool.

-- AntonAylward - 31 Jan 2003

Assuming that we do something to make TWiki use PerlDBI,

  1. do we replace StoreDotPm with DBI access
  2. do we write a DBI class to our current datastore
  3. do we just make a plugin that allows access to the current store
  4. can we leverage the work in FormQueryPlugin ?

also

if we do this

  1. where is out of band?
  2. what constitues a table?
    • is a table a collection of the data from any topic with a particulr WebForm
    • or is there one table per web, with some columns not defined
    • or what? - whats the schema?
  3. how do we do versioning (this is the biggest sellnig point that i have come across)
    • yes (personally & professionally) i need all data (including meta data) to be versioned.

-- SvenDowideit - 10 Mar 2004

Note that things have moved on in the ROW since Anton wrote his original note. CGI::Wiki is now pretty robust, Kwiki is built on it, and the whole shebang uses an SQL DB underneath. Anton has, I believe, contributed to this work. See http://search.cpan.org/~kake/CGI-Wiki/

CGI::Wiki uses a MySQL interface. See http://search.cpan.org/~kake/CGI-Wiki/lib/CGI/Wiki/Store/Database.pm

It's an interesting thought experiment to consider how CGI::Wiki::Store::Database.pm could plugin in to replace TWiki::Store

-- CrawfordCurrie - 10 Mar 2004

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2004-03-10 - CrawfordCurrie
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.