Hi Denis,
The goal of the UIX concept as I imagined it was for extensions to be able to plug into
the current skin to add dynamically new visual elements.
To achieve this, the main idea was that UIX should provide data as much as possible (vs UI
code) and that it’s up to the skin (vm files in general) to decide how to display this
data, based on its style, where it wants to display it, etc.
If you do it the other way (i.e. it’s the UIX that does that UI) then you have a big
issue: a given UIX will only work well in one skin and will not be perfectly well adapted
to all skins.
Said differently each UIX would need to know all possible skins to make sure it works in
all of them, which is impossible to do since new skin can appear.
Right now our UIX technology supports both strategies and it’s a question of best
practices to decide how to use them.
Thanks
-Vincent
On 4 Jun 2014 at 09:51:20, Denis Gervalle (dgl@softec.lu(mailto:dgl@softec.lu)) wrote:
Firstly, I couldn't understand why you bother
about knowing the currently
active application. The AppBar panel use an UIX, so the application itself
has to produce the appropriate XDOM accordingly to it's own state. Then I
discover that the UIX was not an UIX in fact, and all this thread about
application descriptor became clearer.
What is this UIX that looks like a macro call ? Why those parameters ?
Doesn't an UIX a hook to inject some UI in some place ? This is how I have
always see it ? I should have missed a lot of mail to not know that, or it
has been implemented silently, but I miss it for sure. I do not understand
why there is anything so special about UIX that require parameters. Why do
we have added those parameters ? Couldn't we simply use a macro in the UIX
content ?
For keeping the AppBar flexible, the application should be able to manage
its display there fully. Imagine you write a calendar application, you may
want to display the current date as an icon, and the alerts next to your
icon, you may even want to have a popup showing the detail during a mouse
over. With a "normal" UIX, you should be able to do that. And if you just
want a very simple display, a default macro would be appropriate to
generate it based on the current parameters, isn't it ?
IMO, we should revert this feature ASAP. I am not against an application
descriptor, but not for managing an AppBar.
WDYT ?
On Mon, Jun 2, 2014 at 10:11 AM, Guillaume "Louis-Marie" Delhumeau <
gdelhumeau(a)xwiki.com> wrote:
> Good remark, indeed.
>
> So maybe the app descriptor should list the sheets that are used by the
> application?
>
>
> 2014-05-29 10:25 GMT+02:00 Marius Dumitru Florea <
> mariusdumitru.florea(a)xwiki.com>gt;:
>
> > On Wed, May 28, 2014 at 3:16 PM, Guillaume "Louis-Marie" Delhumeau
> > wrote:
> > > I'm pushing this thread up since we probably need an application
> > descriptor
> > > to know what is the current application (probably based on the current
> > > space, but maybe not).
> > >
> > > It's important because now we have an AppBar...
> > >
http://jira.xwiki.org/browse/XWIKI-10254
> > >
> > > What I personally need:
> > > - name of the application (already present as an UIX)
> > > - icon of the application (already present as an UIX)
> >
> > > - list of pages of the application or a list of spaces
> >
> > The application descriptor won't list the pages that the user creates
> > nor the spaces where the user creates those pages. You can have for
> > instance multiple blogs on the same wiki and you can have panels in
> > various spaces, not just inside the Panels space. The EM won't give
> > you this list either. What you'll get is the list of pages that hold
> > the application code/UI, most of them being hidden anyway (see also
> > the discussion about the application code space). What's more
> > important is to know the "type" of the current document the user is
> > looking at and to determine the application that provides that
"type".
> > The type is defined by an XClass, but since a document can have
> > multiple objects you need to know which one is "the most important".
> > The natural answer is "the object that triggers the sheet used to
> > display the document". So I would determine the current application
> > based on the sheet that has been applied to the current document. If
> > you create a plain wiki page in the Blog space it doesn't mean the
> > current application is Blog. Same, if you create a blog post in a
> > different space that happens to be associated with some application it
> > doesn't mean that application is the current one, IMO.
> >
> > Hope this helps,
> > Marius
> >
> > >
> > > Do you have other things to add?
> > >
> > > Thanks,
> > > Guillaume
> > >
> > >
> > >
> > > 2014-04-15 16:23 GMT+02:00 Thomas Mortagne > > >:
> > >
> > >> On Tue, Apr 15, 2014 at 4:19 PM, Thomas Mortagne
> > >> wrote:
> > >> > On Tue, Apr 15, 2014 at 4:01 PM, Ecaterina Moraru (Valica)
> > >> > wrote:
> > >> >> Hi,
> > >> >>
> > >> >> There have been some recently discussions about Application
> > Descriptors
> > >> and
> > >> >> their utility when generating content for XWiki features,
like
> taking
> > >> the
> > >> >> icon field from the descriptor in order to generate the
application
> > >> panel
> > >> >> for the AppBar, etc.
> > >> >>
> > >> >> I've gathered some use cases / needs on this page:
> > >> >>
> >
http://design.xwiki.org/xwiki/bin/view/Proposal/ApplicationDescriptor
> > >> >>
> > >> >> It would be nice to brainstorm a bit if we consider the
> 'Application
> > >> >> Descriptor' concept to be needed in our future,
especially since
> the
> > >> >> Flamingo Skin is focused heavily on the Applications
concept.
> > >> >>
> > >> >> I would be curious why this concept has been deprecated
> (Application
> > >> >> Manager):
> > >> >
> > >> > It hasn't been deprecated, it just never been in XE.
> > >>
> > >> Except for a short period of time where the old wikimanager was moved
> > >> to XE until it was replaced with the new wiki module.
> > >>
> > >> >
> > >> >> * maybe the fields the descriptor contained are deprecated by
the
> > >> Extension
> > >> >> Manager;
> > >> >
> > >> > There is no such thing as application descriptor in Extension
> Manager.
> > >> >
> > >> >> * maybe a bad usage;
> > >> >> * etc.
> > >> >>
> > >> >> And also very important is what fields you consider should
be
> needed
> > in
> > >> the
> > >> >> Application Descriptor and ways to make it easily
extensible.
> > >> >>
> > >> >> Having an Application Descriptor would facilitate having an
index
> > >> >> containing all applications, called Application Index, in
order to
> > help
> > >> the
> > >> >> user navigate and manage the installed applications outside
the
> > >> Extension
> > >> >> Manager (which is found in Administration).
> > >> >
> > >> > I really don't see the point in having two indexes of
extensions.
> This
> > >> > is really not the main benefit we would get from an application
> > >> > descriptor.
> > >> >
> > >> >>
> > >> >> Thanks,
> > >> >> Caty & Louis-Marie