On Wed, Mar 6, 2013 at 10:33 AM, Thomas Mortagne <thomas.morta...@xwiki.com> wrote: > On Tue, Mar 5, 2013 at 12:36 PM, Ecaterina Moraru (Valica) > <vali...@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/ColorThemesBundle.png >> [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 ;)
I know there are things about EM that I don't know about and I am writing these mails in case there are use cases that you didn't thought about :) (maybe) Thank you for your answers, Caty > >> >> 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) >> <vali...@gmail.com> wrote: >>> Hi, >>> >>> Just sharing a bit my ideas iteration process. >>> >>> On Thu, Feb 7, 2013 at 6:31 PM, Vincent Massol <vinc...@massol.net> wrote: >>>> Hi Caty, >>>> >>>> On Feb 7, 2013, at 5:08 PM, "Ecaterina Moraru (Valica)" >>>> <vali...@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/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 >>>> devs@xwiki.org >>>> http://lists.xwiki.org/mailman/listinfo/devs >> _______________________________________________ >> devs mailing list >> devs@xwiki.org >> http://lists.xwiki.org/mailman/listinfo/devs > > > > -- > Thomas Mortagne > _______________________________________________ > devs mailing list > devs@xwiki.org > http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs