[#6102] Drag & Drop portal
Summary Drag & Drop portal
Queue Horde Base
Queue Version HEAD
Type Enhancement
State Assigned
Priority 1. Low
Owners duck@obala.net
Requester duck@obala.net
Created 2008-01-11 (5030 days ago)
Updated 2010-01-12 (4298 days ago)
Assigned 2008-02-17 (4993 days ago)
Patch No

Duck <duck@obala.net> 2008-01-11 12:48:21
Proposal of drag & drop portal. Extract files in your /horde directory 
ang go to your http://localhost/horde/dragdrop/.

- add block with ajax calls, redbox is called to select a box and its 

- managa portal without saving and data till you click "save"

- reload, minimize, maximize block

JS Script used.


Duck <duck@obala.net> 2008-01-12 11:45:47
Fix setting parameters. Still have problem with block that have 
trackchange actions in parameters but I am not going to solve it 
before receiving some feedback.

Chuck Hagenbuch <chuck@horde.org> 2008-01-14 04:58:36
I'm hoping to have a look at this within a few days but haven't been 
able to so far - sorry for the delay. Bad weekend for getting stuff 

Jan Schneider <jan@horde.org> 2008-01-17 00:10:52
I get a lot of undefined Xilinus js errors, and a 
call-time-pass-by-reference error in lib/Block/Layout/View/js.php

Chuck Hagenbuch <chuck@horde.org> 2008-01-17 04:02:37
I see the same things Jan reported. The "Xilinus is undefined" errors 
prevent blocks from being added. Looks briefly promising up to that 
point though. :)

Duck <duck@obala.net> 2008-01-17 11:13:18
Paths fix. Should work now. At least  I tested with FF and Opera on Linux.

Chuck Hagenbuch <chuck@horde.org> 2008-01-17 17:06:52
I see some things now; the layout seems a bit scrambled, the 
call-time-pass-by-ref error still needs to be fixed; an undefined 
index error goes by quickly when adding a new block (the block also 
doesn't show up, but I get a js alert box about the block not having 
special parameters); and blocks that load javascript don't work.

I like the hover controls on blocks, but this isn't usable for me yet...

Duck <duck@obala.net> 2008-01-17 22:27:48
Maybe I fix the reference error, even my php 5.2.5 with E_ALL does not 
say anything.

As we cannot deal with all undefined index errors from blocks, I 
silenced all getTitle/getContent calls for now. If errors persists 
please copy you firebug response body possibly containing xdebug output.

I know bocks with JS does not work, I take this as reasonable to wait 
till the initiail steps and direction is taken.

Chuck Hagenbuch <chuck@horde.org> 2008-01-18 18:21:43
Yes, the reference error is fixed for me, and now the layout is much 
better too. It seems like the third column is pushed down below the 
first two, though?

One quirk: the expand/collapse graphics seem to have one global state 
- if I collapse a single block, then I see a plus even on blocks that 
are still expanded.

When blocks are added, they don't seem to take up enough vertical space.

The weird bottom column doesn't go away even if I move all blocks from it.

Starting to look promising, though. Btw, I like the look a lot, but 
I'd prefer to see the blocks be styled consistently with the rest of 
the current theme - but a theme based on those styles would be very 

Duck <duck@obala.net> 2008-01-31 08:07:42
> Starting to look promising, though. Btw, I like the look a lot, but

> I'd prefer to see the blocks be styled consistently with the rest of

> the current theme - but a theme based on those styles would be very

> nice.

Saw (Jan Zagar) patched the code to integrate it with horde themes.

Chuck Hagenbuch <chuck@horde.org> 2008-02-01 04:50:48
Cool. Still some things to work out, but I guess the question now is 
if/how/where to go about integrating this.

Duck <duck@obala.net> 2008-02-01 07:27:46
We are experimenting even some kind of css customisation.

Duck <duck@obala.net> 2008-02-16 11:13:28
I am just posting a not that developing of customisable js portal is 
not dead. Saw is working on it on our internal svn. Is integrated in 
one of our apps. Unfortunetly, I don't have time to extract a bare 
working example. I will do it when it will be finished or someone will 
show interest of active help in developing.

What we currently can do

- drag & drop boxes

- ajax  block parameter settings

- reload, minimize, maximize block

- customize portal CSS with JS interface

- select a predefined CSS

- edit your css in advanced mode

- select a predefined portal layout

Chuck Hagenbuch <chuck@horde.org> 2008-02-17 02:23:02
I'm theoretically interested, but it's not at the top of my list 
currently. Please do let us know when there are updates, and we'll see 
if it comes up to the top of any other developer's list also.

Duck <duck@obala.net> 2008-02-25 23:20:53
Added column management

- Add a new column on the end of the column list

- Move/switch column content left or right

- remove a desired column

Duck <duck@obala.net> 2008-02-29 19:16:36
Changed mlenum types to populate values with JS instead of reloading 
the entire page, fixes setting parameters forblock using mlenum 
parameters. This can be later merged to current portal block code as 
we don't need to reload the entire page, for example to select a 
location in the sunrise block.

I am going to add the ability to remember if a block is collapsed or 
expanded. After that I will create an separate example for testing.

Chuck Hagenbuch <chuck@horde.org> 2008-12-04 03:36:31
For ease of dev going forward, I've added this code to the hatchery. 
Please make any updates there.

CVS Commit <cvs@lists.horde.org> 2010-01-12 23:55:22
Changes have been made in Git for this ticket:

add drag-n-drop portal code from #6102

  create mode 100644 drag_n_drop_portal/block.php
  create mode 100644 drag_n_drop_portal/index.php
  create mode 100644 drag_n_drop_portal/js/portal.js
  create mode 100644 drag_n_drop_portal/js/portal_edit.js
  create mode 100644 drag_n_drop_portal/js/src/portal.js
  create mode 100644 drag_n_drop_portal/js/src/portal_edit.js
  create mode 100644 drag_n_drop_portal/lib/Block/Layout/View/js.php
  create mode 100644 drag_n_drop_portal/params.php
  create mode 100644 drag_n_drop_portal/save.php
  create mode 100644 drag_n_drop_portal/select.php
  create mode 100644 drag_n_drop_portal/templates/portal/params.php
  create mode 100644 drag_n_drop_portal/themes/graphics/bottom_left.gif
  create mode 100644 drag_n_drop_portal/themes/graphics/bottom_right.gif
  create mode 100644 drag_n_drop_portal/themes/graphics/delete.png
  create mode 100644 drag_n_drop_portal/themes/graphics/edit.png
  create mode 100644 drag_n_drop_portal/themes/graphics/minus.png
  create mode 100644 drag_n_drop_portal/themes/graphics/plus.png
  create mode 100644 drag_n_drop_portal/themes/graphics/redbox_spinner.gif
  create mode 100644 drag_n_drop_portal/themes/graphics/reload.png
  create mode 100644 drag_n_drop_portal/themes/graphics/tooltip_bg.png
  create mode 100644 drag_n_drop_portal/themes/graphics/top_left.gif
  create mode 100644 drag_n_drop_portal/themes/graphics/top_right.gif
  create mode 100644 drag_n_drop_portal/themes/screen.css