[xwiki-devs] [Proposal] User dashboard implementation
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'. WDYT? I will start a proof of concept of this these days... Thanks, Anca
On May 18, 2011, at 3: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'.
WDYT?
I will start a proof of concept of this these days...
+1 Thanks -Vincent
On Wed, May 18, 2011 at 15:08, Luca Anca <[email protected]> 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
I think a specific related object would be cleaner to not make user class too big, plus it make easier to see dashboard as an extension. Important thing is that it's in the user profile object but there is no reason to make it part of user class. The same way we stopped constantly adding things to XWikiPreferences class for not deep core things we should do the same for user class IMO, plus it makes easier to upgrade.
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'.
WDYT?
Appart from my comment about user class this sounds good, +1
I will start a proof of concept of this these days...
Thanks, Anca
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
On Wed, May 18, 2011 at 15:47, Thomas Mortagne <[email protected]> wrote:
On Wed, May 18, 2011 at 15:08, Luca Anca <[email protected]> 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
I think a specific related object would be cleaner to not make user class too big, plus it make easier to see dashboard as an extension. Important thing is that it's in the user profile object but there is
s/user profile object/user profile document/
no reason to make it part of user class.
The same way we stopped constantly adding things to XWikiPreferences class for not deep core things we should do the same for user class IMO, plus it makes easier to upgrade.
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'.
WDYT?
Appart from my comment about user class this sounds good, +1
I will start a proof of concept of this these days...
Thanks, Anca
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
-- Thomas Mortagne
+1 Thanks, Marius On 05/18/2011 04: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'.
WDYT?
I will start a proof of concept of this these days...
Thanks, Anca
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
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/
participants (5)
-
Luca Anca -
Marius Dumitru Florea -
Sergiu Dumitriu -
Thomas Mortagne -
Vincent Massol