<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="https://dev.horde.org/themes/horde//default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>Remove all DataTree usage</title> 
  <pubDate>Fri, 10 Apr 2026 09:04:29 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/3046</link> 
  <atom:link rel="self" type="application/rss+xml" title="Remove all DataTree usage" href="https://bugs.horde.org/ticket/3046/rss" /> 
  <description>Remove all DataTree usage</description> 
 
   
   
  <item> 
   <title>Database queries for permission data in the datatree become </title> 
   <description>Database queries for permission data in the datatree become really too slow when the user base reach many thousands users. Moving the permission data to its own table with proper indexes would greatly improve performance of the permission system.</description> 
   <pubDate>Fri, 25 Nov 2005 20:19:07 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t14116</link> 
  </item> 
   
  <item> 
   <title>The permission system was one of the main reasons for writin</title> 
   <description>The permission system was one of the main reasons for writing the DataTree backend, and we need a tree structure for permissions. Also, now that history has been moved out, permissions is (almost) the only thing left that uses DataTree.</description> 
   <pubDate>Fri, 25 Nov 2005 21:20:47 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t14123</link> 
  </item> 
   
  <item> 
   <title>&gt; The permission system was one of the main reasons for writ</title> 
   <description>&gt; The permission system was one of the main reasons for writing the 

&gt; DataTree backend, and we need a tree structure for permissions. Also, 

&gt; now that history has been moved out, permissions is (almost) the only 

&gt; thing left that uses DataTree.



When we got our performance problem, history was not activated, so moving out the history would not be enough. The performance problem with the actual permission implementation arise when there are many users. Our database server came to a halt after about 4000 users has logged in. 



We found that these type of requests were the main performance problem:



SELECT c.datatree_id, c.datatree_name FROM horde_datatree c LEFT JOIN

horde_datatree_attributes a1 ON a1.datatree_id = c.datatree_id WHERE

c.group_uid = &#039;horde.shares.nag&#039; AND ((a1.attribute_name = &#039;owner&#039; AND

a1.attribute_value = &#039;myuserid&#039;) OR (a1.attribute_name = &#039;perm_users&#039;

AND a1.attribute_key = &#039;myuserid&#039; AND a1.attribute_value &amp;

2) OR (a1.attribute_name = &#039;perm_creator&#039; AND a1.attribute_value &amp; 2) OR

(a1.attribute_name = &#039;perm_default&#039; AND a1.attribute_value &amp; 2))

GROUP BY c.datatree_id, c.datatree_name, c.datatree_order ORDER BY

c.datatree_order, c.datatree_name, c.datatree_id



When doing an &quot;explain&quot; on the mysql server, it shows that this request has to evaluate each time a number of entries roughly proportionnal to the number of users in the database (since each user has at least one share for each type). If each type of shares had its own table (horde.shares.nag, horde.shares.kronolith), it would not have to do the left join and generate a temporary table each time, and it would probably better use the indexes. 



If you have another way (other than changing the database structure or use session caching) to improve the performance of the permission system with thousands of users, I&#039;m all ears!  Right now,we are stucked with horde 2.2 because of this problem :(

</description> 
   <pubDate>Mon, 28 Nov 2005 17:09:17 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t14274</link> 
  </item> 
   
  <item> 
   <title>&gt; If each type of shares had its 

&gt; own table (horde.shares</title> 
   <description>&gt; If each type of shares had its 

&gt; own table (horde.shares.nag, horde.shares.kronolith), it would not 

&gt; have to do the left join and generate a temporary table each time, 

&gt; and it would probably better use the indexes.



That should be possible already. Try adding lines (and the according tables) like this to the applications&#039; conf.php files:

$conf[&#039;datatree&#039;][&#039;params&#039;][&#039;table&#039;] = &#039;horde_datatree_nag&#039;;

$conf[&#039;datatree&#039;][&#039;params&#039;][&#039;table_attributes&#039;] = &#039;horde_datatree_attributes_nag&#039;;

</description> 
   <pubDate>Mon, 28 Nov 2005 17:24:33 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t14275</link> 
  </item> 
   
  <item> 
   <title>Jan- have you successfully used that idea? I think it&#039;d crea</title> 
   <description>Jan- have you successfully used that idea? I think it&#039;d create problems if Nag were to instantiate the Perms driver, etc...</description> 
   <pubDate>Thu, 08 Dec 2005 05:44:08 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t14618</link> 
  </item> 
   
  <item> 
   <title>&gt; Jan- have you successfully used that idea?



No, I only t</title> 
   <description>&gt; Jan- have you successfully used that idea?



No, I only think it might work.</description> 
   <pubDate>Thu, 08 Dec 2005 08:24:26 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t14628</link> 
  </item> 
   
  <item> 
   <title>It does work, as long as you don&#039;t need to use anything that</title> 
   <description>It does work, as long as you don&#039;t need to use anything that&#039;s in the horde datatree tables while using that app, like perms or groups.</description> 
   <pubDate>Fri, 09 Dec 2005 15:25:37 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t14665</link> 
  </item> 
   
  <item> 
   <title>Making this into a general &quot;get rid of DataTree for Horde 4.</title> 
   <description>Making this into a general &quot;get rid of DataTree for Horde 4.0&quot; ticket.</description> 
   <pubDate>Tue, 21 Nov 2006 01:01:40 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t26404</link> 
  </item> 
   
  <item> 
   <title>Note that the only reason this isn&#039;t high priority is that H</title> 
   <description>Note that the only reason this isn&#039;t high priority is that Horde 4 isn&#039;t the top priority yet - it will move up to high as soon as 3.2 and related apps are releases and Horde 4 development is begun in earnest.</description> 
   <pubDate>Tue, 21 Nov 2006 01:02:46 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t26407</link> 
  </item> 
   
  <item> 
   <title>We have a native SQL driver in 3.2. AFAIK the only places wh</title> 
   <description>We have a native SQL driver in 3.2. AFAIK the only places where we still use DT is Threan bookmarsks and Horde_Auth_Signup. </description> 
   <pubDate>Sun, 22 Jun 2008 10:35:11 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t46721</link> 
  </item> 
   
  <item> 
   <title>The places left that only use DataTree (i.e., no other drive</title> 
   <description>The places left that only use DataTree (i.e., no other driver is available) are:



Auth_Signup

admin/datatree.php (doesn&#039;t really count, but for completeness)

incubator/faq/

jonah/lib/Delivery (being deprecated once Jonah is branched)

trean



... and some assorted upgrade scripts that should be fine to break in HEAD.</description> 
   <pubDate>Sun, 22 Jun 2008 23:11:07 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t46725</link> 
  </item> 
   
  <item> 
   <title>&gt; incubator/faq/



was removed along with Horde_Template</title> 
   <description>&gt; incubator/faq/



was removed along with Horde_Template</description> 
   <pubDate>Thu, 31 Jul 2008 17:19:27 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t47927</link> 
  </item> 
   
  <item> 
   <title>This list is now:



Auth_Signup

trean



... and we&#039;ll rem</title> 
   <description>This list is now:



Auth_Signup

trean



... and we&#039;ll remove admin/datatree.php in Horde 4 when this is done.</description> 
   <pubDate>Thu, 31 Jul 2008 17:27:25 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t47928</link> 
  </item> 
   
  <item> 
   <title>And now remains only Trean ... #7161

</title> 
   <description>And now remains only Trean ... #7161

</description> 
   <pubDate>Wed, 13 Aug 2008 08:45:34 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t48169</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git (master):

commit ee0da6e1ba5f</title> 
   <description>Changes have been made in Git (master):

commit ee0da6e1ba5ff80a794f30def8ccfe67da1d9bd4
Author: Michael M Slusarz &lt;slusarz@horde.org&gt;
Date:   Tue Nov 12 20:28:05 2013 -0700

    Request #3046: No longer need DataTree package

 framework/DataTree/composer.json              |   25 --
 framework/DataTree/doc/Horde/DataTree/COPYING |  458 -------------------------
 framework/DataTree/package.xml                |   94 -----
 3 files changed, 0 insertions(+), 577 deletions(-)

http://git.horde.org/horde-git/-/commit/ee0da6e1ba5ff80a794f30def8ccfe67da1d9bd4</description> 
   <pubDate>Wed, 13 Nov 2013 03:29:00 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t81427</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git (master):

commit 5cde334a8ad7</title> 
   <description>Changes have been made in Git (master):

commit 5cde334a8ad7529bb0e877ba814708431740fedf
Author: Michael M Slusarz &lt;slusarz@horde.org&gt;
Date:   Tue Nov 12 20:28:05 2013 -0700

    Request #3046: No longer need DataTree package

 framework/DataTree/composer.json              |   25 --
 framework/DataTree/doc/Horde/DataTree/COPYING |  458 -------------------------
 framework/DataTree/package.xml                |   94 -----
 3 files changed, 0 insertions(+), 577 deletions(-)

http://git.horde.org/horde-git/-/commit/5cde334a8ad7529bb0e877ba814708431740fedf</description> 
   <pubDate>Tue, 17 Dec 2013 11:39:03 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t81859</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git (master):

commit f4e74132cd43</title> 
   <description>Changes have been made in Git (master):

commit f4e74132cd43b577c4db9243e5974742f534a893
Author: Michael M Slusarz &lt;slusarz@horde.org&gt;
Date:   Tue Nov 12 20:28:05 2013 -0700

    Request #3046: No longer need DataTree package

 framework/DataTree/composer.json              |   25 --
 framework/DataTree/doc/Horde/DataTree/COPYING |  458 -------------------------
 framework/DataTree/package.xml                |   94 -----
 3 files changed, 0 insertions(+), 577 deletions(-)

http://git.horde.org/horde-git/-/commit/f4e74132cd43b577c4db9243e5974742f534a893</description> 
   <pubDate>Tue, 17 Dec 2013 11:39:21 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t81863</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git (master):

commit 00641d0bd849</title> 
   <description>Changes have been made in Git (master):

commit 00641d0bd849e2e4874205083b62c08634ac0d98
Author: Michael M Slusarz &lt;slusarz@horde.org&gt;
Date:   Tue Nov 12 20:28:05 2013 -0700

    Request #3046: No longer need DataTree package

 framework/DataTree/composer.json              |   25 --
 framework/DataTree/doc/Horde/DataTree/COPYING |  458 -------------------------
 framework/DataTree/package.xml                |   94 -----
 3 files changed, 0 insertions(+), 577 deletions(-)

http://git.horde.org/horde-git/-/commit/00641d0bd849e2e4874205083b62c08634ac0d98</description> 
   <pubDate>Tue, 17 Dec 2013 11:39:38 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t81867</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git (master):

commit 0e95470023c9</title> 
   <description>Changes have been made in Git (master):

commit 0e95470023c9add22070504690173a1f4d009349
Author: Michael M Slusarz &lt;slusarz@horde.org&gt;
Date:   Tue Nov 12 20:28:05 2013 -0700

    Request #3046: No longer need DataTree package

 framework/DataTree/composer.json              |   25 --
 framework/DataTree/doc/Horde/DataTree/COPYING |  458 -------------------------
 framework/DataTree/package.xml                |   94 -----
 3 files changed, 0 insertions(+), 577 deletions(-)

http://git.horde.org/horde-git/-/commit/0e95470023c9add22070504690173a1f4d009349</description> 
   <pubDate>Tue, 17 Dec 2013 11:39:55 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/3046#t81871</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
