Hi devs,
While thinking about XWIKI-8757 [1] and the fact that the new skin focuses
[2] a lot on applications, a number of questions pop up inevitably because
of XWiki's loose/ad-hoc way of handling/defining applications.
For the AWM problem, I came to the conclusion that we should probably just
adapt AWM to use the current convention we have for apps (1 code space and
1 data space) and maybe set the user that created the app as the only one
allowed to edit it (have to think about the last part). It seems that this
would be best for data-producing applications, such as the ones created by
AWM.
I`ll list below the questions because I believe they also serve as a
summary of the discussions on the topic so far.
1) What is an application?
General/Philosophical
- Skin/Macro/Class/Code/etc. or just simply "Application"?
2) What is the name, description, icon, author, etc of an application?
Metadata
- Application descriptor
- Panel application UIX should read from an app descriptor to avoid
duplication
- Extension vs Application
-- Every (xar) extension is an application, but most applications (in the
wild or just created ones) are not extensions => EM can not reliably
provide information about applications.
3) How do I access an application?
Structure/Management
- UI applications (i.e. IdeasApp) vs Code/Feature applications (i.e.
ActivityStream, Syntax Highlighting)
- All apps must have 1 entry point, even if it's just some description or a
configuration?
-- You should not be able to lose an application after you install it.
4) What are the installed applications
Management
5) Where is the code, data or configuration of an application?
Structure
- ((One App = One Space) vs (One code space and one data space)) vs Reality
(messy mix)
- One page applications (no data)
6) What application(s) do these pages belong to?
Structure
- Using classes defined by 2 applications in the same page.
7) Who can(not) edit an application?
Rights
See XWIKI-8757 [1]
- most users are application users and not developers, but they are
encouraged to edit everything, even the applications themselves. This leads
to a maintainance hell for wiki admins that end up with broken applications.
- edit rights on the code.
8) Who can(not) use an application?
Rights
- view rights on the code.
Related topics:
- Application Descriptor [3] - this discussion went off-topic
- Flamingo Application Bar [2] - application metadata is needed
- Best practices for storing Application pages [4]
I hope someone finds this useful somehow.
Thanks,
Eduard
----------
[1]
http://jira.xwiki.org/browse/XWIKI-8757
[2]
http://markmail.org/thread/2ftksr6bxstazg25
[3]
http://markmail.org/thread/wqdidryh5ubgvkxa
[4]
http://markmail.org/thread/467rqhucp5ild273