[dev] Weirdness with Nag & DataTree driver

Derek P. Moore derekm at hackunix.org
Thu Mar 4 08:27:50 PST 2004


I've been tinkering with Horde 3.0-cvs for the last couple weeks (syncing daily
[or hourly *smile*], testing modules, learning the code, etc.).  It's nice to
see such a major leap in development.  I'm really impressed, guys.  Great work.

I'm massively impressed with the great depth of base functionality.  The
provided framework feels very thorough and dynamic.

While there's quite a bit of functionality, there are plenty of rough edges.

I'm a coder of sorts, and I look forward to contributing whatever I can to the
Horde projects.  I'm working on a weird sort of project in downtown Kansas
City, creating a venue and artists' cooperative called The Stray Cat.  As a
part of my work in the project, I'm doin' all sorts of IT infrastructure
stuffs.  I should have decent amounts of time to dedicate to developing our
web-based functionality, which will definately include work on Horde.  I've
been usin' Horde for years, so it'll be nice to have plenty of time and reason
to hack away.

Among the areas I'd like to contribute are:  general polishing of rough edges;
better LDAP integration; better overall integration (the joys of full iCalendar
support); and maybe a random feature here and there.

So that's the long of it.  Now down to business.

In playin' with the Horde development branch the last week or so, Nag worked
well for a while, then a handful of days ago it sorta broke.  Each task appears
to be associated with every list (looks like a cartesian join between tasks and
lists), and a task's name is displayed as its 32-character ID.  I'm using the
DataTree driver.

Tracking down the problem with the task's name was easy enough.  It was a simple
matter of getName() vs. get('name').  I.e.:

Index: lib/Driver/datatree.php
===================================================================
RCS file: /repository/nag/lib/Driver/datatree.php,v
retrieving revision 1.4
diff -u -r1.4 datatree.php
--- lib/Driver/datatree.php     28 Feb 2004 05:51:17 -0000      1.4
+++ lib/Driver/datatree.php     4 Mar 2004 16:08:07 -0000
@@ -84,7 +84,7 @@
                 'task_id'     => $task_id,
                 'tasklist_id' => $this->_tasklist,
                 'guid'        => $this->getGUID($task_id),
-                'name'        => $obj->getName(),
+                'name'        => $obj->get('name'),
                 'desc'        => $obj->get('description'),
                 'category'    => $obj->get('category'),
                 'due'         => $obj->get('due'),

Tracking down why there seems to be a sort of cartesian join between task items
and task lists is proving to be a bit more complicated.  I've been wading
through nag/list.php, nag/templates/list/task_summaries.inc, nag/lib/Nag.php,
nag/lib/Driver.php, and nag/lib/Driver/datatree.php; and I've attempted to
inspect the horde_categories and horde_category_attributes tables for any
obvious errors (come to think of it, I don't think anything about DataTree's
SQL tables can be called 'obvious' *grin*).

I remember Nag and DataTree working together happily only a few days ago. 
Anyone know what's up with Nag?

Okay, I'm done now,

Derek

[ derek p. moore ]-------------------[ http://hackunix.org/~derekm/pubkey.asc ]
[ derekm at hackunix.org ]----------------------------[ bfd2 fad6 1014 80c9 aaa8 ]
[ http://hackunix.org/~derekm/ ]-------------------[ a4a0 f449 3461 a443 51b9 ]


More information about the dev mailing list