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/ColorThemesBundle.png
[Talked with Edy: apparently this is not a problem is just a UI thing
for Repository App]

* 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]

* 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 ]

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.

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)
<[email protected]> wrote:
> Hi,
>
> Just sharing a bit my ideas iteration process.
>
> On Thu, Feb 7, 2013 at 6:31 PM, Vincent Massol <[email protected]> wrote:
>> Hi Caty,
>>
>> On Feb 7, 2013, at 5:08 PM, "Ecaterina Moraru (Valica)" <[email protected]> 
>> 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/customizedInstall.png
>>>
>>> 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/flavorCreator.png
>>>
>>> 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/flavorCreator.png
> with
> http://incubator.myxwiki.org/xwiki/bin/download/Improvements/Flavours/flavorCreatorV2.png
>
> 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/profileReputation.png
> 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+Application
> 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/repositoryHomepage.png
>
> 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
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to