On Tue, Mar 5, 2013 at 12:36 PM, Ecaterina Moraru (Valica)
<valicac(a)gmail.com> wrote:
Hi,
Some questions and thoughts about 'flavors':
What exactly is a Flavor? First I've said that is just a group of
extensions, like a 'bundle'. Another idea in the initial use case was
that the Flavor is something installable or 'stand-alone' and you
select it when you create a new wiki. Although the 'bundle' version is
included in the 'stand-alone' one, the reverse is not valid.
I liked very much the idea of a 'bundle' because it provided a way to
organize extensions in silos. A simple example, we could bundle our
old ColorThemes in a 'Default ColorThemes before 3.4 Bundle'. This
bundle has 6 dependencies to ColorThemes: OldDefault, Bordo, Nature,
etc. I've used the Repository Application [5] to define my bundle.
* Problem 1: When you create an extension the extension must not be
empty (if it's empty you don't get the 'Installable with EM'), it
cannot be just a list of dependencies. In the case of 'stand-alone'
you should have a custom homepage or other pages, but in a 'bundle'
use case you don't need to add something more. I've tricked the
Repository App and I've attached a picture with the ColorThemes in the
bundle, give it a version, declared the dependencies and it worked.
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/Color…
[Talked with Edy: apparently this is not a problem is just a UI thing
for Repository App]
It's not just a UI thing but it's not a big issue either, see
https://jira.xwiki.org/browse/XWIKI-7260.
* Problem 2: The installation worked very well and now all the
dependencies are installed. My problem is that if I want to uninstall
this bundle, it will uninstall just the 'bundle' extension and will
not touch the dependencies (even if they are not required by any other
extension). So maybe they should not be declared as dependencies, but
as 'includes' or something. We could test at uninstall if a dependency
is not used somewhere else, we can remove it. Without the removal of
'dependencies' my bundle is useless because it cannot be uninstalled.
[Talked with Edy: said it's normal, you can manually install
extensions and use them and wouldn't not be nice to be deleted, even
if they are not declared as dependencies by other extensions]
Yes it should be a new kind of dependency in Extension Manager
(probably just a property in a dependency). On Maven side we could
reuse <optional> dependency property probably.
* Problem 3: My bundle contains the OldDefault ColorTheme. When I
install the bundle I got a conflict because now we have a new
ColorThemes.DefaultColorTheme. I've kept the new version in the
conflict resolution phase. The problem is that the conflict decisions
are not kept and remembered anywhere. Because my uninstall didn't
worked I will need to manually uninstall each ColorTheme. When I will
uninstall the OldDefault it will delete ColorThemes.DefaultColorTheme
even if is not it (because it doesn't know that I didn't selected it
in the Conflict Resolution).
What I would like is that if I uninstall an extension or a flavor, the
uninstall process would restore the wiki at the 'initial' state. And
this example I gave is for ColorThemes.DefaultColorTheme, but Flavors
will overwrite the Homepage for example. Uninstalling the Flavor will
leave the user without a Homepage, or without a UserPreferences or
without groups, etc.
[Talked with Edy: said it's problematic :P ]
Yea "problematic" is an euphemism. What is planned shortly is
http://jira.xwiki.org/browse/XWIKI-8443 (in your use case you would
get a conflict about ColorThemes.DefaultColorTheme page when
uninstalling because it's part of another extension that is not i the
uninstall plan).
Are any of the problems mentioned something interesting and achievable with EM?
Bundles are interesting IMO and they could work for all kinds of
grouping, like the Admin Tools, Developer Tools, Content Editing
Macros, Social Features Bundle, Importers Bundle, etc.
Bundles are how flavors among other things were planned to be
implemented since a long time.
General notes: what is in Extension Manager right now is what we
managed to do in the time frame, there is plenty of ideas and plans
for it but that require someone to do it ;)
Thanks,
Caty
[5]
http://extensions.xwiki.org/xwiki/bin/view/Extension/Repository+Application
On Wed, Feb 13, 2013 at 5:38 PM, Ecaterina Moraru (Valica)
<valicac(a)gmail.com> wrote:
Hi,
Just sharing a bit my ideas iteration process.
On Thu, Feb 7, 2013 at 6:31 PM, Vincent Massol <vincent(a)massol.net> wrote:
Hi Caty,
On Feb 7, 2013, at 5:08 PM, "Ecaterina Moraru (Valica)"
<valicac(a)gmail.com> wrote:
Hi,
XWiki Flavors are a set of predefined extensions having a specific use
case in mind. XWiki Flavors can be considered specializations of XWiki
instances suited for different purposes like public websites,
intranets, content sharing, project management, community status,
business intelligence, etc.
Scenario: You want to install XWiki. The installer will propose
different 'flavors' and will install automatically all required
extensions. This way you will have a product close to your initial
needs. You can later refine it by installing / uninstalling other
extensions.
So when I first thought about the process of installing a Flavor I
imagined that I could customize what I wanted from the Flavor and
select just the things I need. Actually for me Flavors were like
categories with subcategories, and more of a classification system,
than a packaging one.
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/custo…
Also another difference in my vision is that I had a Base Package that
contains the common denominator for all Flavors. The Base Package
should contain basic mechanics for managing content and users.
Selecting no flavor will still result in having basic wiki features
(page creation, attachments, history, users, etc.).
After some discussions with Eduard I understood that Flavors could be
defined as extensions and they could contain just a list of
dependencies on other extensions. The Extension Manager will install
the 'exact' list it gets from the definition without the ability to
exclude some dependencies.
Indeed.
I've watched the 'recent' mails about
XWiki Flavors [1] [2] [3] [4]
and for me the conclusion is clear: we will never agree on what
starting features are the best and that will solve everybody's
problems. But that is ok and normal and the strength of XWiki is it's
extensibility.
So the next idea was to have a Flavor Creator that will allow users to
create their own collections of extensions. This collection should be
then published to
extensions.xwiki.org and could appear in the
installer list as suggestions.
Some thoughts:
* Yes, the idea is that anyone can contribute a flavor on
xwiki.org, since it's an
extension like any other (it would just have a new type, called "flavor" since
we don't have this ATM). The DW will list all flavors it can find from e.x.o. This is
where we need some ways to bring the best flavors to the top. My idea was to add ratings
to the Repository app for that
* Also, in the DW the user should be allowed to not install any flavor so that he can
then install extensions one by one if he so wishes
* Re the base package there's no need to have one since extensions declare their
require dependencies
Last week I was talking about the Flavor Creator:
>
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/flavo…
>
> If Application Within Minutes let's you create your own applications,
> the Flavor Creator would let you make packages of extensions for a
> specific purpose. This way we strengthen XWiki's extensibility and we
> let the users take the power and customize the solutions that are
> perfect for them.
My big problem with Flavors is that we are lacking an extensions
classification.
We had types like applications, skins, colorthemes, etc. but now it's
just XARs and JARs.
We have a tag cloud, but that is a folksonomy and doesn't have
'standard' categories. When you look at an extension you may not
understand it's purpose and usage use case.
I've started to categorize our extensions and try to define types of
flavors and use cases, but I'm kind of running in circles. But what is
clear to me is that we will need some predefined categories and that
the Flavor Creator is a must (mainly because we don't have a finite
set of extensions and use cases that we are managing).
I also thought a bit about the process of integrating gamification in
our Extensions Repository (e.x.o) and also a way to encourage users to
create Flavors (and also extensions in general).
First of all I've revised the wireframe
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/flavo…
with
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/flavo…
The main differences is that first you need to select your extensions
and then you can decide what the Flavor will be called and what it
will be the use case. The Focus (productivity, Collaboration,
Development) part is interesting and could reflect your Flavor
orientation (but for this we would need the classification system I
was talking about). For me for example would be fun to try to create
Flavors 100% with one Focus, or to make balanced Flavors, or whatever.
Regarding the Flavor creation process I imagined that it could take
place locally, but also someone could do it from e.x.o.
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/profi…
You could receive points for creating, rating, documenting extensions
and Flavors.
We talked a couple of times about Reputation systems
http://extensions.xwiki.org/xwiki/bin/view/Extension/Activity+Ranking+Appli…
and also we had some work integrated in Wiki 3.0 project.
Of course we could also think about generic solutions, but my
wireframes are related mostly to Flavors and e.x.o.
For example, having contributors ranking information we could
represent this information on the e.x.o. homepage along with
extensions statistics
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/repos…
These are some ideas related more or less to Flavors and how our
Extensions Repository could look like and be organized.
Thanks,
Caty
>
> Sounds good.
>
> Thanks
> -Vincent
>
>> Just some ideas.
>>
>> Thanks,
>> Caty
>>
>> [1] [Idea]"Community" flavor
http://xwiki.markmail.org/thread/2e3fdm3hfuh54vpr
>> [2] [Idea] XWiki Project Development Flavor
>>
http://xwiki.markmail.org/thread/334vzyytfvlppmri
>> [3] Idea collection minimal xwiki configuration
>>
http://markmail.org/thread/abma4pzuq2ooy6as
>> [4] [UserStory] Wiki Archetypes
>>
http://xwiki.markmail.org/thread/jp35ackl2puuscjv
> _______________________________________________
> 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
--
Thomas Mortagne