[dokuwiki] Re: The database question: a new spin

  • From: "marioemmenlauer@xxxxxx" <marioemmenlauer@xxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Wed, 14 Sep 2005 14:52:26 +0200

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hi,

Joe Lapp wrote:
> I'd accomplish this by doing good OO design and hiding indexing/lookup 
> mechanisms behind abstract interfaces.  The standard DokuWiki implementations 
> of these interfaces would in some cases simply pull data from original source 
> files and in some cases pull data from custom flat file indexes.  However, 
> those caring about performance (such as myself) could create alternative 
> implementations of those interfaces that transparently utilize a database and 
> thus provide much better performance.
> 
> There may need to be some decisions about DokuWiki behavior that depends on 
> available performance, so we may need to create something like a performance 
> configuration variable, establishing the performance level and toggling 
> certain performance-sensitive features on and off.
> 
> Just some thoughts to stew on...
> 
> ~joe

I do agree that adding db-support would be a good feature, just because
there are so many people out there with cheap webspace (no file write access)
that cannot use dokuwiki.

Therefore I did implement db-access in dokuwiki, by moving all file access
functions to 'io.php', and implementing simple db-write and db-read functions
that can optionally be called if enabled.
This just translates file access to database access (configurable on a
per-directory basis), so only *minor changes* have to be made to dokuwiki,
which is important to me because neighter run-time nor compatibility of the
two versions would be affected. (In fact there should never be two versions,
but just two ways of storing pages)

I have this dokuwiki/mysql-version in a test-run for some time now, and it
works quite okay, but still has some bugs (biggest one being images don't
work due to being chached and resized, haven't figured out exactly jet).

What still needs to be done is using a better db-interface (i coded plain
mysql, PEAR::DB as suggested by Redeeman would allow using different
databases), and it needs a lot more testing.

If you like to implement db-support I'd like to help, and my already made
experiences with mysql might be of some use.

Cheers,
   Mario

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDKB0Kdr6lwuqb+oIRAoX/AJ45v4A+ZO0AjJfRcFKQA2HYW6jTOgCfT6bQ
AP/6PKjcUocgiisgOPyjax8=
=1L7R
-----END PGP SIGNATURE-----
-- 
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

Other related posts: