Hi,
2014-08-29 15:00 GMT+02:00 Guillaume Lerouge <guillaume(a)xwiki.com>om>:
Hi Edy,
I think this was an interesting debate that deserves more discussion. I
believe we never formally defined what's an "Application" in XWiki. The
App
Descriptor was supposed to go this way, but I don't think we ever
formalized it.
I don't really agree with this, there used to be the "Application Manager
Application" [1], well there still is, but I don't know if it's somehow
obsolete, really used or not, etc ..., that defined an "app descriptor".
I personally still use it, and I find the application descriptor in it to
be a clever way to define what pages are part of the application with
patterns (and flexible, ie you can manage whatever structure you applied,
one space for code, or all mixed, or anything).
And it's also very easy with it to export a xar of your in-progress
application UI.
IMHO it was a very user-friendly feature for an online development platform
concept. EM is great, but has best benefits when it's server-sided (ie,
create java components, and maven build, and deploy to a repo).
When you have a maven build producing your xar from your resources, and
deploying it to a wiki instance, this descriptor is not very useful
anymore, but don't forget that some contributors may want to contribute a
xar without making it installable by EM, and without going through the
steps of creating a build etc ... In this case they could still rely on the
App Manager App to define a minimum descriptor for their app.
It could answer point 5) also, what is missing is some way to define what
is a page produced by your app (either all pages created in a specific
space, either all pages containing objects of listed XClass(es), either a
groovy script filtering a $doc and answering true/false, ...).
Now, there's also EM.
Now, there's also the extension points to add applications in app panel /
app bar (with, also, metadata about your application to provide like title,
icon, main page, etc...). But without a way to define your applications
pages.
At the end, I don't really know anymore what should be used to define an
application in xwiki :-) And the effort to publish an app to EM is not
comparable with the effort to create an XObject of some kind of app
descriptor ...
[1] -
http://extensions.xwiki.org/xwiki/bin/view/Extension/Application+Manager+Ap…
One of the "stupid" issues I'm frequently meeting related to this is the
name of the app as it shows up in the app bar: I'd love to have more
control on how it's displayed (beyond the space name of the app).
ᐧ
Hoping this will spark more replies,
Guillaume
On Tue, Jul 1, 2014 at 11:42 AM, Eduard Moraru <enygma2002(a)gmail.com>
wrote:
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"?
http://en.wikipedia.org/wiki/Application_software
"an application is a computer program
<http://en.wikipedia.org/wiki/Computer_program> designed to help people
perform an activity"
To me an application is unrelated to the fact that it's a skin, a macro, a
class or anything, but only related to the purpose of it.
To me a skin cannot be considered an application, because it's just
look&feel stuff, it doesn't "do" anything - it's not a program.
But if all the vm templates are considered to be part of skins, then a skin
is an application.
Some piece of code is not an application because it's just a sample program
(or sample of a piece of program) - not a real program.
A java Class can be an application but an XClass cannot - because it's just
a data model.
In EM repository on x.org, there is said that the "Logging Application" is
the UI of the "Logging Module".
But you could say also that the "Logging application" is composed of an UI
and a Module (or API ?) ?
Because if you only install the UI part without the Module part, it will
not be usable. It will do nothing good to help you with logging activity.
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
Is a flamingo color theme really an application ?
http://extensions.xwiki.org/xwiki/bin/view/Extension/FlamingoColorTheme
, 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)
This structure can be a recommendation, but existing applications may not
follow any recommendation - still you may want to be able to "manage" or
list them. It is valid if we talk only about AWM of course.
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
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Venez nous rencontrer lors du *petit-déjeuner XWiki le mardi 7 octobre 2014
!* <http://info.xwiki.com/petit-dejeuner-XWiki-octobre-2014.html>
--
<http://www.xwiki.com/>*Guillaume Lerouge*
*Director of Sales & Marketing*
Mail: guillaume(a)xwiki.com
Mobile:
*+33 6 10 79 76 70*Tel: *+33 1 45 42 40 90*
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs