I'm glad you started working on this when you did, because I was thinking about it as well. To use TiddlyWeb seriously--my intended use case is as a collaboration tool in a corporate environment--I think a database backend becomes necessary.
Before I plunge in I just wanted to find out what the situation is generally? I'd like to try using PostgreSQL instead of MySQL. On May 23, 11:14 pm, "[email protected]" <[email protected]> wrote: > Over the past couple of days I got inspired to write a storage system > for TiddlyWeb that uses Python's SQLAlchemy[1] library to interact > with an RDBMS of your choice[2]. I've run the tiddlyweb test suite > against both sqlite3 and mysql by simply changing a line in the > tiddlywebconfig.py file. > > Things seem to be working correctly, in that the tests are passing and > I can run instances using the new store, but I would appreciate some > testing and review by other interested folk for at least three > reasons: > > * Bugs are probably lurking. > > * Writing for SQLAlchemy and RDBMS is not really my thing and I'm sure > I've made things more crufty than they really need to be.[3] I decided > it was best to make it work, and then make it right later. > > * The install and use process is probably entirely too obscure, so > don't take on this task hoping it will just work without first needing > to read the READMEs and such. > > The code can be found on github in the tiddlyweb-plugins > repo:http://github.com/tiddlyweb/tiddlyweb-plugins/tree/master/sqlstore > > To make it work with few warnings, you will need the very latest > TiddlyWeb which has been updated to be a bit more unicode savvy. > > If you want to use it with an existing instance store, there is a > plugin called migrate[4] which can migrate the content of one store to > another. I recommend you backup your content before doing this. That > plugin is at:http://github.com/tiddlyweb/tiddlyweb-plugins/tree/master/migrate > > It's expected that this store will become the basis for some kind of > "enterprise(y) ready"[5] storage system for TiddlyWeb; more work will > be done on it to make it high performance than will be done on the > default text store which is designed primarily to be inspected. > > If you are able to do some work with this and encounter bugs or have > suggestions, please post. > > [1]http://www.sqlalchemy.org/ > > [2] sqlalchemy has an abstract interface to various python libraries > that talk to various database systems. If there is python library > support for the database, then it is likely sqlalchemy can talk to it, > from the same code. I've tested with sqlite3 and mysql, as that's what > I have access to. > > [3] My main concern is that to get things initially working I mapped > TiddlyWeb objects to new objects in the storage module, which are then > mapped by SQLAlchemy into the database. This could probably be > shortened to just one mapping, but this may have an adverse impact on > the TiddlyWeb objects (as demonstarted by the need to reestablish the > 'roles' set on the User object in user_get). > > [4] I'm quite proud of this very simple plugin. It demonstrates nicely > why the storage interface system on TiddlyWeb is a good thing. > > [5] Whatever that means. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/TiddlyWikiDev?hl=en -~----------~----~----~----~------~----~------~--~---
