6.0.0-git
2021-01-18

[#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 2006-08-08 (5277 days ago)
Due
Updated 2006-12-29 (5134 days ago)
Assigned 2006-12-28 (5135 days ago)
Resolved 2006-12-29 (5134 days ago)
Milestone
Patch No

History
2006-12-29 04:02:40 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!
2006-12-29 03:49:12 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:52:50 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.
2006-12-28 22:51:26 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:51:14 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:51:03 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:50:51 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:11:28 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:11:11 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:10:33 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:08:38 Chuck Hagenbuch Deleted Original Message
 
2006-12-28 22:07:45 Chuck Hagenbuch Deleted Original Message
 
2006-12-20 22:42:49 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!
2006-12-20 22:34:05   New Attachment: turba-Kolab_Shares_fix-20061220.patch
 
2006-12-20 22:33:37   New Attachment: framework_Kolab_Kolab.php-Kolab_Share_fix-20061220.patch
 
2006-12-20 22:33:03   New Attachment: horde_config_hooks.php-Kolab_Share_fix-20061220.patch
 
2006-12-20 22:32:32   New Attachment: horde_config_conf.xml-Kolab_Share_fix-20061220.patch
 
2006-12-20 22:31:57   New Attachment: framework_Share-Kolab_Share_fix-20061220.patch
 
2006-12-20 21:50:40 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.
2006-12-20 21:05:28 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...
2006-11-21 17:13:01 Jan Schneider Deleted Original Message
 
2006-11-21 17:11:16 Jan Schneider Deleted Original Message
 
2006-11-21 17:09:23 Jan Schneider Deleted Original Message
 
2006-11-21 08:03:57 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.
2006-11-20 15:18:06 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?
2006-11-15 13:37:39 Jan Schneider Deleted Original Message
 
2006-11-15 13:36:58 Jan Schneider Deleted Original Message
 
2006-11-15 13:36:38 Jan Schneider Deleted Original Message
 
2006-11-15 13:36:26 Jan Schneider Deleted Original Message
 
2006-11-15 12:56:31 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!
2006-11-15 12:55:14 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.


2006-11-15 12:54:41 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.




2006-11-15 12:53:56 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




2006-11-15 12:53:01 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.




2006-11-15 12:52:16 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.




2006-11-15 12:51:36 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.




2006-09-15 02:06:21 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.
2006-09-15 01:43:58 Chuck Hagenbuch Deleted Original Message
 
2006-09-15 01:41:58 Chuck Hagenbuch Deleted Original Message
 
2006-08-08 17:24:03 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?
2006-08-08 16:37:00 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?
2006-08-08 16:04:25 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.
2006-08-08 15:41:54 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.
2006-08-08 10:11:12   New Attachment: package-kronolith_shares_cvs-060801.patch
 
2006-08-08 10:09:43   New Attachment: package-mnemo_shares_cvs-060801.patch
 
2006-08-08 10:09:01   New Attachment: package-nag_shares_cvs-060801.patch
 
2006-08-08 10:08:18 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.
2006-08-08 10:05:06 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.
2006-08-08 10:03:06 wrobel (at) pardus (dot) de Comment #1
Type ⇒ Enhancement
State ⇒ New
Priority ⇒ 2. Medium
Summary ⇒ A splitted share driver
Queue ⇒ Horde Framework Packages
New Attachment: package-framework_shares_cvs-060807.patch
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