SQL Database Vobject Persistance
Vobjects can be stored in an SQL database as a backup to reload if a site must be shut down and restarted, or to bridge with other sotfware using the database as a commond data store.
This is implemented as a site extension library, called sqlpersist.
Database Support
Currently only mysql is supported. We would like to support other databases in the future. Adding support for a database can be done by creating a new subclass of VOS::SQLDatabase.
How the Database is Queried
Currently the database is assumed to consist of the following tables:
vobjects
sitename |
varchar(255) binary not null primary key |
defaultpolicy |
varchar(255) binary not null |
[index sitename]
types
sitename |
varchar(255) binary not null |
type |
varchar(64) binary not null |
[index sitename]
acls
sitename |
varchar(255) binary not null |
policy |
varchar(64) binary not null |
member |
varchar(255) binary not null |
edges
sitename |
varchar(255) binary not null |
child |
varchar(255) binary not null |
contextualname |
varchar(255) binary not null |
position |
integer unsigned not null |
extra
sitename |
varchar(255) binary not null |
extrakey |
varchar(64) binary not null |
extradata |
longblob not null |
[index (sitename, extrakey)]
The extra table is used to store information on behalf of metaobjects.
Discussion on Possible Improvements
Post comments here.
