[xwiki-devs] [Proposal] Entry point for Extensions
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
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. 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. On Fri, Oct 14, 2016 at 4:10 PM, Vincent Massol <[email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
On 14 Oct 2016, at 19:03, Thomas Mortagne <[email protected]> wrote:
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.
Well, that would be a job for extensions.xwiki.org: - prioritise entry-points in search results - display appropriately that some extensions are of a given type (entry-point, dependency, … macro?) paul
Hi Paul,
On 14 Oct 2016, at 19:05, Paul Libbrecht <[email protected]> wrote:
On 14 Oct 2016, at 19:03, Thomas Mortagne <[email protected]> wrote:
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.
Well, that would be a job for extensions.xwiki.org: - prioritise entry-points in search results - display appropriately that some extensions are of a given type (entry-point, dependency, … macro?)
My use case/need isn’t related to e.x.o but to one's XWiki instance. Thanks -Vincent
paul
On 14 Oct 2016, at 19:03, Thomas Mortagne <[email protected]> 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) * 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 <[email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi, On Fri, Oct 14, 2016 at 8:18 PM, Vincent Massol <[email protected]> wrote:
On 14 Oct 2016, at 19:03, Thomas Mortagne <[email protected]> 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) 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 <[email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On 15 Oct 2016, at 13:30, Eduard Moraru <[email protected]> wrote:
Hi,
On Fri, Oct 14, 2016 at 8:18 PM, Vincent Massol <[email protected]> wrote:
On 14 Oct 2016, at 19:03, Thomas Mortagne <[email protected]> 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. 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 <[email protected]> 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
On Sat, Oct 15, 2016 at 6:37 PM, Vincent Massol <[email protected]> wrote:
On 15 Oct 2016, at 13:30, Eduard Moraru <[email protected]> wrote:
Hi,
On Fri, Oct 14, 2016 at 8:18 PM, Vincent Massol <[email protected]> wrote:
On 14 Oct 2016, at 19:03, Thomas Mortagne <[email protected]> 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 <[email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
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 <[email protected]> wrote:
On Sat, Oct 15, 2016 at 6:37 PM, Vincent Massol <[email protected]> wrote:
On 15 Oct 2016, at 13:30, Eduard Moraru <[email protected]> wrote:
Hi,
On Fri, Oct 14, 2016 at 8:18 PM, Vincent Massol <[email protected]> wrote:
On 14 Oct 2016, at 19:03, Thomas Mortagne <[email protected]
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 <[email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
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 <[email protected]>:
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 <[email protected]> wrote:
On Sat, Oct 15, 2016 at 6:37 PM, Vincent Massol <[email protected]> wrote:
On 15 Oct 2016, at 13:30, Eduard Moraru <[email protected]>
wrote:
Hi,
On Fri, Oct 14, 2016 at 8:18 PM, Vincent Massol <[email protected]>
wrote:
On 14 Oct 2016, at 19:03, Thomas Mortagne <
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 < [email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Guillaume Delhumeau ([email protected]) Research & Development Engineer at XWiki SAS Committer on the XWiki.org project
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 < [email protected]> 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 <[email protected]>:
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 <[email protected]> wrote:
On Sat, Oct 15, 2016 at 6:37 PM, Vincent Massol <[email protected]> wrote:
On 15 Oct 2016, at 13:30, Eduard Moraru <[email protected]>
wrote:
Hi,
On Fri, Oct 14, 2016 at 8:18 PM, Vincent Massol <
[email protected]> wrote:
> On 14 Oct 2016, at 19:03, Thomas Mortagne <
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 < [email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Guillaume Delhumeau ([email protected]) Research & Development Engineer at XWiki SAS Committer on the XWiki.org project _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
There is also http://jira.xwiki.org/browse/XWIKI-9714 . It's not clear from the title, but the point is to have a tab that shows the tree of pages that have been installed (or that would be installed). Thanks, Marius On Fri, Oct 14, 2016 at 5:10 PM, Vincent Massol <[email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
I’ve created a design page for this at http://design.xwiki.org/xwiki/bin/view/Proposal/ExtensionEntryPoints#Attachm... And I’ve also proposed a new way to plug the entry point with the “Open” button. Let me know what you think. Thanks -Vincent
On 14 Oct 2016, at 16:10, Vincent Massol <[email protected]> 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
On Fri, Aug 18, 2017 at 5:00 PM, Vincent Massol <[email protected]> wrote:
I’ve created a design page for this at http://design.xwiki.org/xwiki/ bin/view/Proposal/ExtensionEntryPoints#Attachments
And I’ve also proposed a new way to plug the entry point with the “Open” button.
Seems nice. Why is it a dropdown? what are the options? Thanks, Caty
Let me know what you think.
Thanks -Vincent
On 14 Oct 2016, at 16:10, Vincent Massol <[email protected]> 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
On 18 Aug 2017, at 16:29, Ecaterina Moraru (Valica) <[email protected]> wrote:
On Fri, Aug 18, 2017 at 5:00 PM, Vincent Massol <[email protected]> wrote:
I’ve created a design page for this at http://design.xwiki.org/xwiki/ bin/view/Proposal/ExtensionEntryPoints#Attachments
And I’ve also proposed a new way to plug the entry point with the “Open” button.
Seems nice. Why is it a dropdown? what are the options?
ok I was sure you’d ask. It’s not actually :) I just took some html from another place and forgot to modify this… Thanks -Vincent
Thanks, Caty
Let me know what you think.
Thanks -Vincent
On 14 Oct 2016, at 16:10, Vincent Massol <[email protected]> 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
Looks good but I would show only 2 buttons: "Hide details" and "Open". "Uninstall" and the rest of the extension action buttons would be available from the drop down. Thanks, Marius On Fri, Aug 18, 2017 at 5:47 PM, Vincent Massol <[email protected]> wrote:
On 18 Aug 2017, at 16:29, Ecaterina Moraru (Valica) <[email protected]> wrote:
On Fri, Aug 18, 2017 at 5:00 PM, Vincent Massol <[email protected]> wrote:
I’ve created a design page for this at http://design.xwiki.org/xwiki/ bin/view/Proposal/ExtensionEntryPoints#Attachments
And I’ve also proposed a new way to plug the entry point with the “Open” button.
Seems nice. Why is it a dropdown? what are the options?
ok I was sure you’d ask. It’s not actually :) I just took some html from another place and forgot to modify this…
Thanks -Vincent
Thanks, Caty
Let me know what you think.
Thanks -Vincent
On 14 Oct 2016, at 16:10, Vincent Massol <[email protected]> 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
On 18 Aug 2017, at 23:38, Marius Dumitru Florea <[email protected]> wrote:
Looks good but I would show only 2 buttons: "Hide details" and "Open". "Uninstall" and the rest of the extension action buttons would be available from the drop down.
Yes that’s possible. Makes uninstall less visible but maybe that’s ok. It’s probably more consistent. Thanks -Vincent
Thanks, Marius
On Fri, Aug 18, 2017 at 5:47 PM, Vincent Massol <[email protected]> wrote:
On 18 Aug 2017, at 16:29, Ecaterina Moraru (Valica) <[email protected]> wrote:
On Fri, Aug 18, 2017 at 5:00 PM, Vincent Massol <[email protected]> wrote:
I’ve created a design page for this at http://design.xwiki.org/xwiki/ bin/view/Proposal/ExtensionEntryPoints#Attachments
And I’ve also proposed a new way to plug the entry point with the “Open” button.
Seems nice. Why is it a dropdown? what are the options?
ok I was sure you’d ask. It’s not actually :) I just took some html from another place and forgot to modify this…
Thanks -Vincent
Thanks, Caty
Let me know what you think.
Thanks -Vincent
On 14 Oct 2016, at 16:10, Vincent Massol <[email protected]> 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
participants (8)
-
Alexandru Cotiuga -
Ecaterina Moraru (Valica) -
Eduard Moraru -
Guillaume Delhumeau -
Marius Dumitru Florea -
Paul Libbrecht -
Thomas Mortagne -
Vincent Massol