Hello everyone,
I'm writing this email as a follow-up after (yet another) brainstorming
with Vincent about how adding the app Menu in the administration
(
https://jira.xwiki.org/browse/XWIKI-15483).
Sorry in advance if I repeat things that have already been said.
So the general problem is that we want to be able to put apps with an
existing UI in the admin context, without loosing the ability to use the
apps outside the admin. It's already possible to include external apps
in the admin in keeping their UI, but it implies that the app can be
used without changing the page: for example, the menu app involves to go
to /edit when creating a new menu so it cannot be directly integrated as
it is now.
The best solution would be to create two UIs, one for the app to be used
externally and one for the admin, but then it would imply to maintain
twice the code.
The solution on which we agreed with Vincent on the short-term view, is
to provide in the admin the app inside an iframe: the only problem we
see would be the design adaptation, especially for the responsiveness,
but it should do the job.
Another solution discussed, to only allow using the app through the
admin (and so to keep only this UI) seems not acceptable as the app
might be used by other users in some usecases.
It's also possible to only provide in the admin a link to the app, and
then to open it using the standard path, i.e. outside the admin, but
then the user might be constantly switching context which looks bad in
the UX point of view.
Maybe to ponderate this problem of context switching, a long term view
solution would be to allow displaying the administration menu in some
apps but I really don't know if it's feasible or not.
So to conclude, first:
- do you agree with the short term solution to use an iframe for
displaying the admin app in the admin, at least as a first step for the
menu app?
Then how do you think we should do more globally for the other admin app
(menu, scheduler, stats, admintools, ...):
1. maintain two UIs
2. include the existing UI in an iframe
3. provide only a link to access the app externally
4. ... another idea?
Thanks,
Simon
--
Simon Urli
Software Engineer at XWiki SAS
simon.urli(a)xwiki.com
More about us at
http://www.xwiki.com