[dev] DataTree patch

Carlos Pedrinaci cpedrinaci at yahoo.es
Fri Apr 9 09:53:37 PDT 2004


Hi,

I have modified the DataTree driver so that it can generate instances of
the appropriate class when retrieving objects.

As a result getObject doesn't need anymore the $class parameter but
which is more important, that allows a particular DataTree to have
different kinds of objects without loosing any of the object's specific
functionnality.

This has been created mainly because I intend to store different kinds
of Projects in Thor. Thanks to that new feature, Thor can behave
generically, independently from the underlying kind of project it's
dealing with. The specific functionnality being encapsulated inside each
kind of Project which are in fact DataTreeObject_Project subclasses.

The patch does also remove the "serialized data" stuff from the DataTree
driver which I believe is something intended for a future.

I know you guys are very very busy with releases but I'd be pleased if
you can take some time and check it. Together with it I also put a patch
for Agora that makes use of that new DataTree driver. You can also find
the new table schema in the file sql.txt.

If you are interested on applying that patch let me know and I'll start
adapting the rest of modules (it would be nice to get some help on that
though :))

Regards,

Carlos
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch_agora.txt
Type: text/x-patch
Size: 3105 bytes
Desc: not available
Url : http://lists.horde.org/archives/dev/attachments/20040409/78f0b688/patch_agora-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch_DataTree.txt
Type: text/x-patch
Size: 14318 bytes
Desc: not available
Url : http://lists.horde.org/archives/dev/attachments/20040409/78f0b688/patch_DataTree-0001.bin
-------------- next part --------------
CREATE TABLE `horde_datatree` (
  `datatree_id` int(11) NOT NULL default '0',
  `group_uid` varchar(255) NOT NULL default '',
  `user_uid` varchar(255) NOT NULL default '',
  `datatree_name` varchar(255) NOT NULL default '',
  `datatree_parents` varchar(255) NOT NULL default '',
  `datatree_order` int(11) default NULL,
  `datatree_class` varchar(255) default '',
  `datatree_require` varchar(255) NOT NULL default '0',
  `datatree_updated` timestamp(14) NOT NULL,
  PRIMARY KEY  (`datatree_id`),
  KEY `datatree_group_idx` (`group_uid`),
  KEY `datatree_user_idx` (`user_uid`),
  KEY `datatree_datatree_name_idx` (`datatree_name`)
) TYPE=MyISAM;  


More information about the dev mailing list