On 02/15/2011 04:44 PM, Anca Luca wrote:
> Hi devs,
>
> I committed XWIKI-5938 but I think we should discuss the default source
> of the dashboard macro, namely where does it pick the gadget objects to
> display on the dashboard, e.g. in the case of a dashboard macro call in
> an included document.
> It is very easy to add a "source" parameter to the dashboard macro,
> which would tell the dashboard where should it read the objects from
> (and render in the context of the current document), but now the
> question is what should {{dashboard /}} without parameters do?
>
> 1/ read the objects from the current document, which means, in the case
> of an include, it will depend on the context of the include. Note that,
> if an include is done in a new context, then all the gadgets on that
> dashboard will be also relative to the included document (e.g. if they
> use $doc, the $doc will be the included document, not the including doc).

Also note that solution 1/ with a source parameter to the dashboard 
macro to allow dashboard reusage breaks the backwards compatibility of 
Main.Dashboard, since the default include that was used until now
{{include document="Main.Dashboard" /}}
now tries to find the gadget objects in the current document, not in the 
Main.Dashboard. It will need to be changed to
{{dashboard source="Main.Dashboard" /}} (according to usecase F about 
reusing dashboards).

WDYT?

Thanks,
Anca

>
> 2/ read the objects from the closest MetaData.SOURCE, which means the
> document from which the content that contains the {{dashboard /}} call
> comes from. E.g. in the case of an include, the included document.
>
> WDYT?
>
> There are a lot of possible situations to discuss, I will just present a
> few usecases below, to be taken into account when analyzing:
>
> A. The current Main.Dashboard is included in all the WebHomes by
> default, but its gadgets refer to the current document (the _including_
> document)
>
> B. Users want to be able to easily customize their WebHomes, without
> affecting other people (not change the wiki general dashboard, but only
> their space dashboard)
>
> C. There is a dashboard somewhere on the wiki, Main.CoolDashboard, and
> users want to be able to include that dashboard as a copy, without
> having to re-create the dashboard objects on their including page
>
> D. User dashboards: at one point we will want each user to have their
> own dashboard on their profile page, which is rendered by a sheet.
> Ideally we should have the same user sheet for all users.
>
> E. Also, the user dashboard should be include-able on the Main.WebHome
> of a logged in user (a "Home").
>
> F. Since the include doesn't make too much sense for a dashboard
> document (since the dashboard document is only a call to a {{dashboard
> /}} macro), users will replace its usage with {{dashboard /}} macro
> calls, with a source parameter to pick gadget objects from another
> document ('reuse' a dashboard definition).
>
> If you can think of more cases that could involve include issues, please
> fill them in.
>
> Thanks,
> Anca
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to