6.0.0-beta1
7/8/25

[#4263] A splitted share driver
Summary A splitted share driver
Queue Horde Framework Packages
Queue Version HEAD
Type Enhancement
State Resolved
Priority 2. Medium
Owners chuck (at) horde (dot) org, jan (at) horde (dot) org
Requester wrobel (at) pardus (dot) de
Created 08/08/2006 (6909 days ago)
Due
Updated 12/29/2006 (6766 days ago)
Assigned 12/28/2006 (6767 days ago)
Resolved 12/29/2006 (6766 days ago)
Milestone
Patch No

History
12/29/2006 04:02:40 AM Chuck Hagenbuch Comment #22
State ⇒ Resolved
Reply to this comment
This is committed now. Turba needs to either be brought back to the 
mainline Share code, or get some other indeterminate fixes. But 
everything else seems okay. Great work, Gunnar!
12/29/2006 03:49:12 AM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:52:50 PM Chuck Hagenbuch Comment #21
Assigned to Chuck Hagenbuch
State ⇒ Assigned
Reply to this comment
All of the patches except the actual Share drivers are committed now, 
and I'm debugging those now (there seem to be some subtle bugs that I 
haven't tracked down yet). Turba is going to need some more work 
because it uses stuff in Share that other Groupware apps don't, but 
that should be its own ticket at this point for cleaning up the 
vbook/shared address book stuff.
12/28/2006 10:51:26 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:51:14 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:51:03 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:50:51 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:11:28 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:11:11 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:10:33 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:08:38 PM Chuck Hagenbuch Deleted Original Message
 
12/28/2006 10:07:45 PM Chuck Hagenbuch Deleted Original Message
 
12/20/2006 10:42:49 PM wrobel (at) gentoo (dot) org Comment #20 Reply to this comment
While I did not change anythin within the code itself (besides an 
added error check) I did update the patches to the newest Horde 
version. There were only problems with the Kolab package because of 
the updates during the Auth patch I submitted a while ago.



So the current patch set should cleanly apply against Horde HEAD.



I did split the patch to the "horde" package. This would allow to 
apply the patches in a two step procedure:



  1) Splitting the Share driver by applying 
framework_Share-Kolab_Share_fix-20061220.patch and 
horde_config_conf.xml-Kolab_Share_fix-20061220.patch

  2) Adapting the Kolab parts to the new Share driver (the other three patches)



  Step 1) would split the share driver and provide a "datatree" and a 
"kolab" driver. This step should actually have no effect on anything 
related to Shares (at least as long as one chooses the "datatree" 
driver). Once this split has been tested and there are no problems, 
one could apply the last three patches to adapt the Kolab specific 
code to the new driver. I would then provide instructions for the 
Kolab community how to test the new code.



Maybe that helps. Thanks for your efforts!
12/20/2006 10:34:05 PM   New Attachment: turba-Kolab_Shares_fix-20061220.patch
 
12/20/2006 10:33:37 PM   New Attachment: framework_Kolab_Kolab.php-Kolab_Share_fix-20061220.patch
 
12/20/2006 10:33:03 PM   New Attachment: horde_config_hooks.php-Kolab_Share_fix-20061220.patch
 
12/20/2006 10:32:32 PM   New Attachment: horde_config_conf.xml-Kolab_Share_fix-20061220.patch
 
12/20/2006 10:31:57 PM   New Attachment: framework_Share-Kolab_Share_fix-20061220.patch
 
12/20/2006 09:50:40 PM Jan Schneider Comment #19 Reply to this comment
Still on my todo list, but I won't mind if anyone else is audting and 
testing the patch.
12/20/2006 09:05:28 PM Chuck Hagenbuch Comment #18 Reply to this comment
What's the status of this one? If the patches are good we should get 
them committed so they don't go stale...
11/21/2006 05:13:01 PM Jan Schneider Deleted Original Message
 
11/21/2006 05:11:16 PM Jan Schneider Deleted Original Message
 
11/21/2006 05:09:23 PM Jan Schneider Deleted Original Message
 
11/21/2006 08:03:57 AM wrobel (at) gentoo (dot) org Comment #17
New Attachment: share_kolab_061121.patch
Reply to this comment
I cleaned it up but still didn't get it working. Attached is the
current version, please be more strict with the coding standards in
the future (indention, tabs, curly braces). Did you test your patch
with a non-Kolab setup?
Sorry about the style problems. I should have given it a second pass.   
And I also did not check the datatree functionality for the latest 
version but only for the kolab server. Sorry again.



I tried to fix these problems and attatched a new patch for the Share 
directory. I hope the datatree side of things is clean now. The 
kolab.php driver still carries some fixme's though these should not be 
functionaly  but structural problems.
11/20/2006 03:18:06 PM Jan Schneider Comment #16
State ⇒ Feedback
New Attachment: share_kolab.patch
Reply to this comment
I cleaned it up but still didn't get it working. Attached is the 
current version, please be more strict with the coding standards in 
the future (indention, tabs, curly braces). Did you test your patch 
with a non-Kolab setup?
11/15/2006 01:37:39 PM Jan Schneider Deleted Original Message
 
11/15/2006 01:36:58 PM Jan Schneider Deleted Original Message
 
11/15/2006 01:36:38 PM Jan Schneider Deleted Original Message
 
11/15/2006 01:36:26 PM Jan Schneider Deleted Original Message
 
11/15/2006 12:56:31 PM wrobel (at) gentoo (dot) org Comment #15 Reply to this comment
Since I switched to Horde CVS now and fixed some minor bugs on the new 
share driver, I did prepare an updated patch set. Please remove the 
old patch files.



Thanks!
11/15/2006 12:55:14 PM wrobel (at) gentoo (dot) org Comment #14
New Attachment: turba-Kolab_Shares_fix-20061115.patch
Reply to this comment
* turba-Kolab_Shares_fix-20061115.patch



   Patches the turba package to work together with the new share driver.


11/15/2006 12:54:41 PM wrobel (at) gentoo (dot) org Comment #13
New Attachment: horde_config-Kolab_Share_fix-20061115.patch
Reply to this comment
* horde_config-Kolab_Share_fix-20061115.patch



   Patches the horde package to work together with the new share driver.




11/15/2006 12:53:56 PM wrobel (at) gentoo (dot) org Comment #12
New Attachment: framework_Kolab_Kolab.php-Kolab_Share_fix-20061115.patch
Reply to this comment
* framework_Kolab_Kolab.php-Kolab_Share_fix-20061115.patch



   A patch to convert the Kolab driver to the new kolab share driver




11/15/2006 12:53:01 PM wrobel (at) gentoo (dot) org Comment #11
New Attachment: framework_Share_Share_kolab.php-Kolab_Share_fix-20061115
Reply to this comment
* framework_Share_Share_kolab.php-Kolab_Share_fix-20061115



   Provides the Share kolab driver.




11/15/2006 12:52:16 PM wrobel (at) gentoo (dot) org Comment #10
New Attachment: framework_Share_Share_datatree.php-Kolab_Share_fix-20061115
Reply to this comment
* framework_Share_Share_datatree.php-Kolab_Share_fix-20061115



   Provides the Share datatree driver.




11/15/2006 12:51:36 PM wrobel (at) gentoo (dot) org Comment #9
New Attachment: framework_Share_Share.php-Kolab_Share_fix-20061115.patch
Reply to this comment
* framework_Share_Share.php-Kolab_Share_fix-20061115.patch



   Allows the Share system to use different driver types instead

   of just relying on the datatree system.




09/15/2006 02:06:21 AM Chuck Hagenbuch Comment #8
Assigned to Jan Schneider
Taken from Chuck Hagenbuch
Reply to this comment
Done. I've deleted the patches that are now completely committed just 
to consolidate the ticket a bit.
09/15/2006 01:43:58 AM Chuck Hagenbuch Deleted Original Message
 
09/15/2006 01:41:58 AM Chuck Hagenbuch Deleted Original Message
 
08/08/2006 05:24:03 PM Jan Schneider Comment #7
Assigned to Chuck Hagenbuch
State ⇒ Assigned
Reply to this comment
Chuck, can you take a look at the rawurlencode() stuff, I'll take care 
of the Share code?
08/08/2006 04:37:00 PM Michael Rubinsky Comment #6 Reply to this comment
Ahem, no, that wouldn't scale well :)

On the other hand having a specific kolab share driver is not so much
about supporting horde apps like ansel. It is mainly centered towards
turba, mnemo,nag and kronolith.
Then I guess in addition to these changes, we will also need to 
implement configuration options that allow per-application share 
backend selection?
08/08/2006 04:04:25 PM wrobel (at) pardus (dot) de Comment #5 Reply to this comment
Ahem, no, that wouldn't scale well :)



On the other hand having a specific kolab share driver is not so much 
about supporting horde apps like ansel. It is mainly centered towards 
turba, mnemo,nag and kronolith.



The reason for suggesting a specific kolab driver is the fact that 
kolab is based on this IMAP-centric model and IMAP is  the storage 
backend used for all kolab groupware information.



So the original Kolab driver tries to bridge between the IMAP 
information and the datatree storage and constantly syncs from one to 
the other. And this actually never really worked.



So having this specific share driver helps with kolab, but it will not 
be the most efficient choice for having large image galleries in an 
e-mail based storage system.
08/08/2006 03:41:54 PM Michael Rubinsky Comment #4 Reply to this comment
Just wondering how well using Kolab as a storage backend for shares 
will scale.  I know really nothing about Kolab or using IMAP as a 
datastore so to speak, just curious.



For example, in one installation I have dedicated datatree tables for 
storing Ansel galleries and images...the horde_datatree_ansel table 
has well over 20000 entries alone, and the matching attributes table 
obviously has *much* more than this.
08/08/2006 10:11:12 AM   New Attachment: package-kronolith_shares_cvs-060801.patch
 
08/08/2006 10:09:43 AM   New Attachment: package-mnemo_shares_cvs-060801.patch
 
08/08/2006 10:09:01 AM   New Attachment: package-nag_shares_cvs-060801.patch
 
08/08/2006 10:08:18 AM wrobel (at) pardus (dot) de Comment #3
New Attachment: package-turba_shares_cvs-060801.patch
Reply to this comment
Kronolith, nag, mnemo and turba use the htmlspecialchars() function to 
encode the share id, while using rawurlencode in the java snippet that 
provides the list of available shares. Since the share ids in the 
kolab driver include a "/" character the resulting ids did not match.
08/08/2006 10:05:06 AM wrobel (at) pardus (dot) de Comment #2
New Attachment: package-horde_shares_cvs-060807.patch
Reply to this comment
Modified share configuration and removed kolab hooks.
08/08/2006 10:03:06 AM wrobel (at) pardus (dot) de Comment #1
Priority ⇒ 2. Medium
State ⇒ New
New Attachment: package-framework_shares_cvs-060807.patch
Queue ⇒ Horde Framework Packages
Summary ⇒ A splitted share driver
Type ⇒ Enhancement
Reply to this comment
In order to have better kolab support it would be nice to split the 
current Share module so that it supports different driver types.



The attached patches are only a first draft to get some comments on 
the structure of the code. Please criticize everything you feel is 
incorrect or has an inappropriate structure. I'm not really a horde 
expert so I assume that I probably violated some of the concepts of 
the horde framework.



Thanks for any comments!

Saved Queries