On 05/18/2011 03:08 PM, Luca Anca wrote:
Hi devs,
I was thinking to implement the user dashboard as follows:
1/ store the gadget objects for a user dashboard in the user page
(XWiki.username)
2/ add a tab on the user profile to display (and edit) this dashboard
3/ make the Main.WebHome display the user dashboard when a user is
logged in (with various mechanisms to provide nice UX when his dashboard
is empty, etc)
4/ add a configuration flag in the user class to say if the behaviour
described at 3/ should apply or not ("display my dashboard on main
page") -- default value to be decided, I would say it should be 'true'.
One nice feature in Jira is the possibility to display any of the
"shared" dashboards defined by other users, as well as the possibility
to define as many dashboards as one wants.
This could be implemented like:
- dashboards can be defined in their own document, for example
Main.Dashboard, using a DashboardClass and the document's properties
(title, creator, access rights)
- a dashboard object can also be stored in the user's profile document,
as the user's personal dashboard
- another property in the user profile lists the favorite dashboards, as
a list of documents
- when using the {{dashboard}} macro, the output depends on the context:
-- when inside a document containing a dashboard, display that
dashboard, with a favorite/unfav button which adds the dashboard to the
user's list of favorite dashboards
-- when inside another document without a dashboard object, but with an
explicit dashboard name passed as a parameter to the {{dashboard}} macro
call, display that dashboard
-- when inside a document with a plain {{dashboard}} call, display a
tablist with the user's favorite dashboards, with the first one selected
--
Sergiu Dumitriu
http://purl.org/net/sergiu/