Since RoundCube uses Pear::DB it also supports SQLite, which actually is file based. OK, it still needs the according PHP extension to work but it's an alternative if you don't have a database available.
<joke>mysql/pgsql are file based too aren't they? ;-)</joke>
its a requirement for the project i'm working on, and we'd like to use roundcube, so i'm going to implement it regardless.
aside from that, i think it would be a useful addition that would bring more users to roundcube. i can understand not choosing to use a file based mechanism, but i'm not sure i understand not supporting one (provided its implementation is ok).
It depends on how you implement it. Now the whole data reading/writing is based on SQL queries. If you have a nice way for handling both DB and file based, please post the code and we will decide.
i started on some proof of concept code in program/steps/settings/save_prefs.inc today. basically:
defaults to 'DB' but can be set to 'file'
which storage mechanism to use
this could be abstracted more so that the save_prefs code uses a "storage" object with a set public API to save preferences. the object could load the code for the user's chosen storage mechanism by reading the config array. however, i don't see the need for that yet - i'll leave that for further discussion and feedback.
i've started using the PEAR::File package to do the reading and writing, both because we use PEAR and because roundcube seems to as well.
i'll be working through the other code that reads/writes prefs tomorrow and i'd be happy to send some patches for perusal.
comments?
A PGP implementation is planned for the future and it would be nice if anybody can make some suggestions for its implementation.
so is there a start on this anywhere? some design ideas? anyone else interested in implementing this?
we'll be spending some time on this over the next few weeks (we implemented this a couple of years ago for the mail client we are replacing), and would like it if we can develop something that both meets our needs and is acceptable for inclusion in roundcube (whole or part).
cheers justin
ICQ 244 909 636
btw - is there a roundcube irc channel anywhere?