Olivier Grisel wrote:
Hi list, hi Jean Marc,
I have implemented a simple two panes user dashboard with a theme/page
<=>
ViewId association. Currently it displays only the user's tasks and
the result
of the search last modified documents as two seperated fragments:
http://public.dev.nuxeo.com/~ogrisel/shots/dashboard.png
Once we have implemented custom queries
(http://jira.nuxeo.org/browse/NXP-381) I
plan to add more "search results" fragments (like the former content
portlets)
to the default user dashboard (+ other in the long term such as a feed
aggregation fragment for instance).
It would be nice (and already requested by our customers) to be able
to make
those fragments foldable and movable (reordering) inside the two
columns by each
user of the application. This looks like a good use case for the
perspective
engine with cookie storage but I do not know how to flag the fragments
we allow
the user to move and those the user cannot + this need a specific
engine that is
a mix between the default engine and the editor engine to be able to
reorder
fragment my D&D. The final goal is to get something like netvibes in
terms of
look and feel.
What do you think? Are their plans to implement such use case ?
Best,
Hi,
I would say that the "difficulty" in implementing such a functionality
is not in the rendering engine itself.
It is easy already to define a special rendering engine in XML with an
extra "drag-and-drop" filter that manages the position of the fragments.
Then it would be possible already to associate this engine to the
dashboard view id. The only real issue is rather where to store to
information about the fragments (position, state...).
Let us say that for the sake of simplicity we store the information in a
cookie and that the fragments are pre-defined in the theme itself (i.e
they exist in the theme already and the user has the freedom to
manipulate them, but not to create new ones).
A neat solution would be to have a filter that does a pre-transformation
on the cells containing fragments by reordering them before they get
rendered, for instance a:
1 -> 3
2 -> 2
3 -> 1
1 -> fold
2 -> minimize
The rendering engine works on a copy of the theme already, and if it's
not the case I should fix this, to make sure that rendered themes are
not "mutable" w.r.t transformation filters - if you see what I mean.
What kind of persistence are you thinking of: client-side or server-side?
/JM
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm