So several needs we need to satisfy (the below is just my vision):
- EM: when we install the extension it should be listed as installed
- App Index: if the extension is an app, it should be also found there
- App Bar: if the extension is an app and is intended for daily usage (or
if it was created locally by the user), could be listed automatically there
- Create step: if the app provides a template provider, it should be listed
in the create step
-- Templates: Admins will be able to configure the Templates from
Administrations
- Macros Index: if the extension is a macro or if the app provides macros,
they should be listed in the Macros Index (currently the XWiki.WikiMacros,
but in the future located in the Macros.WebHome). Admins will be able to
manage macros from here.
-- Editor macros: if the extension is a macro it should be listed in
CKEditor in the macros section (in the appropriate category)
- Page Administration: if the extension has some configuration intended for
normal users it could integrate it's configuration inside the Page
Administration
- Administration: if the extension needs global configuration options it
should provide a configurable class (and a category) and have it listed in
the Administration
- other?
So as general rules:
- Extensions: are managed/listed by EM, configured in Administration
- Applications: managed by App Index (we would need livetable + actions),
configured in Administration or Page Administration
- Macros: managed by Macros Index, configured where?
- Templates: managed by Templates Index ? :)
- Skins?
- CT?
- etc?
So the main problem is that we are missing pieces and also we don't have a
clear definition of what an application means and of what it's supposed to
provide (since most of the entities are optional). Since some entities are
optional is hard to make rules, so it's case by case. Also we have
inconsistencies in namings, displays and approaches for different types of
extensions.
Not sure what is the conclusion with the above listing, since I don't quite
have one. I was trying to gather some patterns.
The entry point for the Homepage in the EM is nice as idea. I don't think
is complete, since some apps will need to list also the configuration entry
point.
The only problem is that only Administrators will take advantage of it. We
need solutions also for end-users with listings in Indexes.
Also how do we know if the entry point is intended for Admins or Users (in
order to reuse it in AppIndex)?
But the questions still remains:
- what do we put in EM? (all)
- what do we list in *Index?
- what goes in AppBar?
- who provides configurations? and how do we group those configurations by
category? and how do we let the user know some also provide page
configurations?
Thanks,
Caty
On Mon, Oct 17, 2016 at 11:20 AM, Guillaume Delhumeau <
guillaume.delhumeau(a)xwiki.com> wrote:
I like this idea.
Note: it could be implemented as an XObject having an "extensionId" field,
so that we don't touch pom.xml. It's more the XWiki-way IMO.
2016-10-17 8:40 GMT+02:00 Alexandru Cotiuga <alexandru.cotiuga(a)xwiki.com>om>:
Hi,
I am in favour of this proposal since I expressed few months ago the need
of a link in the EM UI to easily access the extension's homepage.
Thanks,
Alex
On Sun, Oct 16, 2016 at 3:12 AM, Eduard Moraru <enygma2002(a)gmail.com>
wrote:
On Sat, Oct 15, 2016 at 6:37 PM, Vincent Massol
<vincent(a)massol.net>
wrote:
>
> > On 15 Oct 2016, at 13:30, Eduard Moraru <enygma2002(a)gmail.com>
wrote:
> > >
> > > Hi,
> > >
> > > On Fri, Oct 14, 2016 at 8:18 PM, Vincent Massol <
vincent(a)massol.net>
>
wrote:
> >
> >>
> >>> On 14 Oct 2016, at 19:03, Thomas Mortagne <
thomas.mortagne(a)xwiki.com
> >
> > >> wrote:
> > >>>
> > >>> This does not make any sense at general Extension level.
> > >>>
> > >>> Could be custom metadata that apply to XAR extensions. Since that
> only
> > >>> make sense for XAR extensions I would prefer to have this be
> > >>> implemented as a xobject as usual.
> > >>
> > >> Yes, it could be implemented as a UIXP/XObject of the Extension
UI.
> > >>
> > >>> For me this is already the job of the uix we use for application
> panel
> > >>> so I don't really see the point of adding something else.
> > >>
> > >> It’s not enough at all. That was my main point and explanation.
> > Apparently
> > >> I failed to explain the problem correctly.
> > >>
> > >> I’ll give more details:
> > >> * You install a XAR extension that provides a ConfigurableClass
(but
> you
> > >> don’t know that as a user)
> > >>
> > >
> > > I would say that an application would need both and Entry Point
(i.e.
> >
homepage)
>
> I’d say this is optional. It would a pain to always mandate this. For
> example the LDAP Application only provides an Admin UI (it only helps
to
configure
LDAP).
So for me the entry point is another concept: it’s a link to a place
where
> the user should go to use the app. It can be pointing either to the
app’s
> home page if there’s one, or the app’s Admin
UI page.
>
> The goal of this thread is not to talk about home pages or Admin
sections
> > of extensions. It’s about discoverability and making it easy for
users
to
start
using any extension that is installed through the EM UI.
AFAIU, we both agree on this :)
What I wanted to point out was that an application/extension could also
provide its "settings", just like you have for Firefox addons, for
example.
> You should go to a list of installed extensions/apps (TBD) and see
both a
> way to access that extension/app, but also
the way to configure it.
IMO,
we
should not reuse the entry point for
configuration stuff (when there is
no
UI, like the LDAP example). However, other
apps/extensions could have
both.
IMO, it would be make more sense to talk about extensions here (i.e. at
an
> EM level), and not particularly about applications (i.e. along the
lines
of
> Vincent's original suggestion). AFAIR, we now have extension
categories.
Why
bother with app panel UIXs or Application Descriptors, when EM
already
> provides all we need? We have the list of pages from EM and a way to
> identify extensions that are of type "application". We now add the
entry
point and
the settings and we`re all good to go. It is up to the
extension
to juggle the category, entry point and/or
settings, if any of this
applies
to it.
Also, this would fit both EM's UI for an extension's details view, but
also
the Application Index's listing of installed
applications (which would
just
be a listing only extensions of category
"application", and maybe AWM
apps
> which are not extensions yet).
>
> No need to complicate things.
>
> -Eduard
>
>
> >
> > Thanks
> > -Vincent
> >
> > > but also an optional Configuration section (i.e. administration
> > > section defined by either a ConfigurableClass entry or even
something
> > > custom).
> > >
> > > Thanks,
> > > Eduard
> > >
> > >
> > >> * After you’ve installed that extension, as a user, you don’t know
> what
> > to
> > >> do. You need to go read the doc for the app to understand where
you
need to
>> go to start using it.
>>
>> So I’m really convinced we need something better than what we have
now.
>>
>> Now after we move the Applications UIXP to the
xwiki-platform-applications
>> module, we could add an “entrypoint’ property in the UIXP but that
would
> >> mean that the Extension Manager UI module would depend on
> >> xwiki-platform-applications. We would need to decide if it’s ok. I
> think it
> >> is since it can be considered as an application descriptor and I
don’t
see
>> a problem of having the EM UI module know about application
descriptors.
> >>
> >> WDYT?
> >>
> >> Thanks
> >> Vincent
> >>
> >>> On Fri, Oct 14, 2016 at 4:10 PM, Vincent Massol <
vincent(a)massol.net>
> > >> wrote:
> > >>>> Hi devs,
> > >>>>
> > >>>> Problem
> > >>>> =======
> > >>>>
> > >>>> We have 2 issues right now when installing an extension in
XWiki:
> > >>>>
> > >>>> 1) It’s not clear where is the entry point of that extension.
> > >>>> - Example1: an app that is only for admins and only has a
> > >> ConfigurableClass
> > >>>> - Example2: an app that provides a macro and doesn’t have a
UI
> > >>>>
> > >>>> 2) Even when an extension registers itself in the
Applications
> Panel,
> > >> the user still need to refresh the page or navigate away to see
it.
> > >>>>
> > >>>> Proposal
> > >>>> ========
> > >>>>
> > >>>> * Introduce the concept of Entry point (a.k.a home page) in
> Extension
> > >> metadata
> > >>>> * Have the EM UI display the extension’s entry point (when
there’s
>
one)
> >> after having installed the extension so that the user can click on
it
> > and
> > >> be taken to the home page of the extension.
> > >>>>
> > >>>> This would make extensions more discoverable IMO.
> > >>>>
> > >>>> Implementation Details
> > >>>> ==================
> > >>>>
> > >>>> * Some maven extension metadata properties in pom.xml
> > >>>>
> > >>>> * A format to represent an entry point. It shouldn’t be a full
URL
> > >> since that needs to be
computed at runtime. Basically it should
> contain:
> > >>>> ** The document reference
> > >>>> ** The action to use (view, admin, etc) - optional, should
default
> to
> > >> “view"
> > >>>> ** The query string to use - optional, should default to an
empty
query
>> string
>>>>
>>>> This corresponds to the notion of ResourceReference
>> (EntityResourceReference to be precise). However we don’t have any
textual
>> representation of it ATM.
>>>>
>>>> WDYT? Good idea? Bad idea?
>>>>
>>>> Thanks
>>>> -Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Guillaume Delhumeau (guillaume.delhumeau(a)xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the
XWiki.org project
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs