Sounds good enough.

On Mon, Jun 20, 2016 at 12:48 PM, Vincent Massol <[email protected]> wrote:
> Ok so I’ve brainstormed with Denis and we worked on option A) below.
>
> Here’s what we could do:
>
> * Make XWiki Github org == minimal runtime, where minimal means “basic wiki” 
> (page edition, history, linking, wiki markup, etc). The notion of “basic 
> wiki” would need to be better defined but this can be done later on.
> * Provide a "Base Flavor" which corresponds to this “basic wiki”, as part of 
> xwiki-platform (this would be xwiki-platform-distribution).
> * Provide another flavor, the "Default Flavor” which would add some 
> hand-picked third-party extensions (i.e. from contrib) such as the Tour app 
> and CKEditor (to start with, we could also add the markdown syntax for 
> example which is one of the most asked syntaxes). Note that this Default 
> Flavor would actually be a “replacement" of xwiki-enterprise.
> * The Default Flavor would have at least the same release cycle as the base 
> flavor but it could have more releases (if some of the bundled third-party 
> extensions has some important bug fixes or new features that we want to offer 
> quickly without waiting for the next base flavor release).
> * The consequence is that the XWiki Dev Team would need to be a bit more 
> careful to monitor the quality of bundled third-party extensions in contrib 
> (check commits, do some smoke testing, etc). Note that the goal of the 
> Default flavor would not be to offer verticals (for this there should be some 
> contrib flavors) and thus it wouldn’t bundle a lot of third-party extensions. 
> Basically we’ll need to validate the version of those third-party extensions 
> that include in the flavor.
>
> My POV is that globally this would offer more flexibility for our users 
> (they’ll be able to install extensions such as CK and Tour in older XWiki 
> versions and they’ll get more frequent releases) at the cost of some overhead 
> to develop extensions that work in several versions. The dev team is pretty 
> small and thus it means developing a bit less fast but it’s probably as 
> important, if not more important, to make the code we develop available in 
> older xwiki versions, as XWiki gains traction.
>
> WDYT?
>
> Thanks
> -Vincent
>
>
>> On 20 Jun 2016, at 09:41, Vincent Massol <[email protected]> wrote:
>>
>> Since my last proposal didn’t get a consensus, let’s restart the discussion 
>> in more general terms:
>>
>> Current Strategy
>> =============
>>
>> We defined it in the "xwiki core” thread (source: 
>> http://markmail.org/message/w6veilqhhnjqcw3e):
>>
>> "
>> Executive summary:
>> * Reduce the scope of all the code located in the xwiki github organization 
>> by only keeping “core” modules
>> * A “core" module is defined by being a generic transversal module (i.e. 
>> that can be used in lots of XWiki flavors, if not all). This is opposed to 
>> “vertical”
>> modules which are modules specific of a usage of XWiki.
>> ** Examples of “core" modules: logging module, configuration module, 
>> distribution wizard, annotations, active installs, one base flavor (the 
>> “XWiki
>> ” flavor), etc
>> ** Example of “vertical” modules: meeting manager application, blog 
>> application, FAQ application, flavors (except the base flavor), etc
>> "
>>
>> Right now the goal of the XWiki Platform is to provide the **most usable 
>> generic runtime possible**.
>>
>> According to this definition the Tour and CKEditor are both clearly platform 
>> modules.
>>
>> Note that the goal of flavors right now is to provide verticals. It’s not to 
>> provide additional extensions that make the generic XWiki runtime more 
>> usable.
>>
>> Future Options
>> ============
>>
>> There are only 2 options that are different from the current one and that I 
>> can imagine:
>>
>> A) Keep the Tour application and CKEditor extension outside of XWiki 
>> Platform. The consequence is that the current strategy doesn’t apply anymore 
>> and we would need a new definition of XWiki Platform. One that I could see 
>> would be “a minimally usable generic runtime”, which is very undefined. For 
>> example, is the Annotation feature part of a minimal distribution. Answer: 
>> no. Actually we could even question if the EM is needed for a minimally 
>> usable runtime (first versions of XWiki were usable and didn’t have the EM). 
>> Activity Stream? AppWithinMinutes? Chart feature? So we would need to define 
>> clearly what we call a minimally usable runtime.
>>
>> B) Move the Tour application and CKEditor extension inside XWiki Platform 
>> but start having different version/release lifecycle for some extensions. If 
>> we do this for the Tour or CK then there’s no reason not to do it for other 
>> extensions and very quickly we go back to what we were doing 6-8 years ago 
>> where it was a major PITA to do any release and to validate what extension 
>> version was working with what other extension.
>>
>> For me B) is not a good option and neither if A) unless we find a way to 
>> clearly define it.
>>
>> My worry for A) is that it’s easy to say that we want a minimal runtime and 
>> this would mean moving a LOT of modules outside of platform and into 
>> contrib, which would mean a lot more work to maintain/release them (each 
>> module would have its release cycle). Releasing platform would becomes 
>> simpler (less stuff to build) but release the default flavor (in contrib) 
>> would become a major pain. And also, who would do it since there’s no notion 
>> of Release Manager for contrib. Any dev of contrib could release a new 
>> version of the default flavor and thus change what the default XWiki runtime 
>> is. I feel we need to control what the default XWiki runtime is and that 
>> should be the XWiki Core Dev Team who does this.
>>
>> So at this point I believe that  we need to keep the default flavor in 
>> platform and I don’t see any viable option other than the current strategy.
>>
>> @Denis: if you’re in favor of A) please let us know how you’d implement it 
>> in detail and how you’d answer the challenges I raised.
>>
>> Thanks
>> -Vincent
>>
>>
>>> On 09 Jun 2016, at 11:01, Vincent Massol <[email protected]> wrote:
>>>
>>> Hi everyone,
>>>
>>> Thanks for the replies. I’m listening of course to everyone and I’ve tried 
>>> in this mail to take all answers into account.
>>>
>>> First, let me state our current strategy and an alternative that I’ve been 
>>> thinking about this morning under my shower ;)
>>>
>>> Current Voted Strategy
>>> ==================
>>>
>>> * Deliver an XWiki Runtime that is the best possible generic runtime (i.e. 
>>> most usable, most useful).
>>> * As a consequence, remove all modules that vertical modules (i.e. that are 
>>> clearly not useful to all flavors), such as FAQ, Blog, etc. Move them to 
>>> xwiki-contrib
>>> * I want to stress out that the current voted strategy is not to produce a 
>>> minimalist runtime
>>>
>>> New Strategy Proposal
>>> ==================
>>>
>>> I’ve tried to reconcile all the use cases listed in this thread before and 
>>> I hope this proposal could be a good middle ground. In any case I found it 
>>> worth debating to see if it could work.
>>>
>>> Also note that one aspect that we must not forget (and that led to the last 
>>> proposal I sent on this thread) and that people  tend to forget, is the 
>>> time it takes to support various versions of XE in an extension and the 
>>> manpower that exists in the xwiki community (don’t forget that everything 
>>> we do is a tradeoff; if you support another version of XE in an extension, 
>>> it means you’re not coding an important improvement or fixing an important 
>>> bug in the platform).
>>>
>>> So here’s the idea:
>>>
>>> * Change the purpose of the XWiki Github organization from the voted one 
>>> described above to be: Provide a minimalist runtime.
>>> * Since working in this direction will not happen overnight, the idea would 
>>> be to very slowly take out modules, starting with obvious ones.
>>> * The issue that this strategy raises is that users will not get a good 
>>> user experience since lots of things will be lacking and this is where my 
>>> new idea fills the gap:
>>> ** The first time (or whenever you upgrade) your run the XWiki Runtime (be 
>>> it whether your run the HSQLDB/Jetty packaging or any other packaging) you 
>>> get a Configuration wizard
>>> ** This Configuration Wizard suggest some recommended extensions that the 
>>> XWiki Core Dev Team hand-pick. We would start with 2:
>>> *** Propose to the user to run a Tour to learn how to use XWiki (it would 
>>> install the Home Page Tour which depends on the Tour app)
>>> *** Propose to the user to install the CKEDitor WYSIWYG editor (by default 
>>> we would only propose the wiki editor - We’ll need to get rid of the GWT 
>>> editor, probably make it an extension)
>>>
>>> Pros:
>>> * The XWiki Core Dev Team continues to work on core stuff and as time 
>>> progresses we move out non core stuff
>>> * This allows more people to contribute to the non-core stuff in the 
>>> community
>>> * We control which extensions we want to recommend and thus we can always 
>>> only take the very good ones and thus control the quality of the initial 
>>> user experience
>>> * We get a mechanism allowing our users to get non-xwiki core dev 
>>> team-supported extensions into the runtime (thus providing a good user 
>>> experience) while not bundling them into the default XWiki runtime flavor.
>>>
>>> Cons:
>>> * The Tour and CKeditor extensions would still incur a higher cost of 
>>> support/maintenance (but since they’ve already done the code, it’s marginal 
>>> for the future and they’ll be able to abandon support for XWiki 6.x soon 
>>> IMO too - Basically they probably only need to support 2 or 2.5 cycle 
>>> versions).
>>>
>>> <similar idea>
>>> Ludo mentioned (and I agree with him) that it would be nice to be able to 
>>> provide Demo content in the wiki so that users who want to test drive XWiki 
>>> can do so with existing content and more clearly see and understand the 
>>> advantages that XWiki brings. For this, I’d propose to create a Demo 
>>> Content extension (some AWM app + some blog posts + etc) and once we have 
>>> it, recommend it on the Configuration Wizard.
>>> </similar idea>
>>>
>>> WDYT?
>>>
>>> Thanks
>>> -Vincent
>>>
>>>
>>>> On 08 Jun 2016, at 17:57, Denis Gervalle <[email protected]> wrote:
>>>>
>>>> Well, very sorry to drop in so late in this discussion, but it was not
>>>> obvious from the thread subject that your were discussing a major subject.
>>>>
>>>> IMO, moving application that works currently on 6.x to the core, has no
>>>> benefit for our users, it just introduce restrictions. It does not have any
>>>> benefit for us either, it just require more backports. I do not understand
>>>> this move at all for application that are not minimal requirements. I do
>>>> not understand your point Vincent when you say that these applications are
>>>> horizontal and obviously part of platform according to your "Executive
>>>> summary".
>>>>
>>>> Regarding the tour application, it is not require at all, it is just a nice
>>>> helping tool that we want to ease newcomers, but experienced user will
>>>> never need it. It could be exchanged for an alternative, and it is exactly
>>>> the same kind of application than the blog that we are moving out.
>>>> Regarding the CKEditor, do we consider that a WYSIWYG editor is required
>>>> for a wiki to be a wiki ? IMO, WYSIWYG editor is not a requirement to use
>>>> the platform, it is nice to have, but not required. I have use it very
>>>> sparsely until now, and not having it would not have change much for me.
>>>>
>>>> So, I currently do not see any benefit of moving these modules to platform,
>>>> since these are already well living in contrib.
>>>>
>>>> Your other point about reducing platform to the minimal runtime would cause
>>>> platform to reduce to EM does not really looks like something that will
>>>> happen. In theory, you are right, so XWiki would be even less featured then
>>>> maven. But, I doubt you could reasonably use such a tools for anything
>>>> useful. I doubt XWiki compare to maven. I doubt that horizontal module like
>>>> security, logging, model, storage, etc… will ever be considered optional.
>>>> Even a plain text editor is a minimal requirement to starts, else this is
>>>> no more a wiki, and I even wonder what it is ? a tool that brings together
>>>> arbitrary java module… looks weird. So no, the minimal runtime is
>>>> definitely not just EM.
>>>>
>>>> So, I really wonder what is the direction we are taking. I will not stop
>>>> you with a veto, but I have the strong feeling these decisions are wrong.
>>>> For the principle of not depending on contrib for our default user flavor,
>>>> exchanging the blog app with the tour app, this does not make sens for me,
>>>> sorry.
>>>>
>>>> Thanks for reading.
>>>>
>>>>
>>>>
>>>> On Wed, Jun 8, 2016 at 3:45 PM, Vincent Massol <[email protected]> wrote:
>>>>
>>>>> FTR I’ve discussed internally with Thomas, Marius and Anca and we all
>>>>> agreed that it makes sense to move The Tour app + CKEditor to the 
>>>>> platform.
>>>>>
>>>>> There are various reasons but a very important one is simply the manpower
>>>>> that it requires to maintain extensions on lots of XWiki versions and
>>>>> currently the active devs on xwiki are not enough to do that. This is the
>>>>> reason we dropped this strategy in the past and decided to release the
>>>>> whole platform together with the same version.
>>>>>
>>>>> As part of this the technical debt is being increased since supporting
>>>>> several versions and old versions means doing hacks.
>>>>>
>>>>> If you see another possibility that doesn’t require more work please raise
>>>>> it here.
>>>>>
>>>>> We need to progress and have CKEditor and Tour bundled in  8.2M2(which is
>>>>> already started) and thus, barring any negative comments, we’ll start the
>>>>> move next week.
>>>>>
>>>>> Thanks
>>>>> -Vincent
>>>>>
>>>>>> On 07 Jun 2016, at 15:39, Guillaume Delhumeau <
>>>>> [email protected]> wrote:
>>>>>>
>>>>>> It also means to move the tour application in that old branches too.
>>>>>>
>>>>>> 2016-06-07 13:59 GMT+02:00 Vincent Massol <[email protected]>:
>>>>>>
>>>>>>>
>>>>>>>> On 07 Jun 2016, at 10:27, Vincent Massol <[email protected]> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>> On 07 Jun 2016, at 09:37, Guillaume Delhumeau <
>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>> Moving Tour Application into platform makes sense to me (it becomes a
>>>>>>>>> critical component and deserves a proper support).
>>>>>>>>
>>>>>>>> For me, it’s really about the definition of what the XWiki github org
>>>>>>> represents. Right now with the new strategy ==  “Everything needed for
>>>>> the
>>>>>>> default XWiki runtime, a.k.a base/default flavor” (what we’ve been
>>>>> calling
>>>>>>> XE so far but that we’ll slim down a bit, for example by removing the
>>>>> Blog
>>>>>>> app and move it to contrib).
>>>>>>>>
>>>>>>>> Now we could still decide to have some flavor in contrib and have the
>>>>>>> tour app included in that flavor but not in “the default XWiki
>>>>> runtime”. In
>>>>>>> practice this would mean promoting this flavor instead of the
>>>>> base/default
>>>>>>> flavor. The question will arise anyway when we next talk about other
>>>>>>> flavors that we may want to have in contrib such a KB flavor, workgroup
>>>>>>> flavor, web flavor, etc.
>>>>>>>>
>>>>>>>>> However, the current
>>>>>>>>> application supports XWiki >= 6.4.1. By moving it to platform, we will
>>>>>>> only
>>>>>>>>> support the last XWiki version.
>>>>>>>>
>>>>>>>> This is a tough topic indeed.
>>>>>>>
>>>>>>> Actually in practice we would support not only the last XWiki version
>>>>> but
>>>>>>> also the LTS (i.e. 7.4.x + 8.x). If we wanted to support 6.4.x we could
>>>>> (we
>>>>>>> still have a stable-6.4.x branch ATM that we were supposed to remove)
>>>>> but
>>>>>>> it would mean changing our support strategy to support more branches…
>>>>> and
>>>>>>> it means supporting the whole platform for 6.4.x, not just one
>>>>> extension…
>>>>>>>
>>>>>>> Thanks
>>>>>>> -Vincent
>>>>>>>
>>>>>>>
>>>>>>>> For the tour there’s the solution of keeping it in contrib and
>>>>>>> introducing a flavor but for CKEditor it’s harder to justify that it’s
>>>>> not
>>>>>>> part of the base flavor IMO but maybe it’s possible and we would offer
>>>>> only
>>>>>>> the wiki editor in the base flavor. Of course we could modify our
>>>>>>> functional tests fwk to support running on various versions of the
>>>>>>> dependencies and have CI builds to ensure that an extension works with
>>>>> all
>>>>>>> versions but it’s not perfect and it would mean that for the first time
>>>>> we
>>>>>>> would have code in the xwiki github org that would not use the latest
>>>>>>> APIs/latest JDK features.
>>>>>>>>
>>>>>>>> The other option is Marius’s, i.e. accept that we hand-pick some
>>>>>>> extensions from contrib that we bundle in the base/default flavor such
>>>>> as
>>>>>>> the Tour app, CKEditor integration, etc. In this case, we would just
>>>>> need
>>>>>>> to redefine what “xwiki github org” means. Saying “core component” would
>>>>>>> not be enough, it would needs a more precise definition.
>>>>>>>>
>>>>>>>> Interesting topic ;)
>>>>>>>>
>>>>>>>> Any other option that we have?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -Vincent
>>>>>>>>
>>>>>>>>> 2016-06-06 15:31 GMT+02:00 Vincent Massol <[email protected]>:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On 06 Jun 2016, at 15:24, Marius Dumitru Florea <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jun 6, 2016 at 3:58 PM, Vincent Massol <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> On 06 Jun 2016, at 14:50, Marius Dumitru Florea <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Jun 6, 2016 at 3:09 PM, Alexandru Cotiuga <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hello all,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As it was decided already, a Homepage Tour have to be
>>>>> implemented.
>>>>>>>>>>>> However,
>>>>>>>>>>>>>> no option regarding the place where the Tour Application should
>>>>> be
>>>>>>>>>>>> added as
>>>>>>>>>>>>>> dependency was discussed.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> There are some possible options:
>>>>>>>>>>>>>> 1) XWiki Enterprise
>>>>>>>>>>>>>> 2) XWiki Platform Distribution
>>>>>>>>>>>>>> 3) XWiki Platform Helper
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 4) Is there any option to have the Tour Application as a part of
>>>>>>> the
>>>>>>>>>>>> Core ?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What would be the best way to include the Contrib applications in
>>>>>>>>>> XWiki?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On this topic (sorry if I hijack your thread) I was wondering why
>>>>>>> don't
>>>>>>>>>>>> we
>>>>>>>>>>>>> have dependencies from platform/enterprise to contrib. We have
>>>>> lots
>>>>>>> of
>>>>>>>>>>>>> third party dependencies, contrib could be considered as such.
>>>>>>>>>> Moreover,
>>>>>>>>>>>>> we're in the process of moving non-core (vertical) extensions out
>>>>> of
>>>>>>>>>>>>> platform to contrib. It would be a pity to move something from
>>>>>>> contrib
>>>>>>>>>> to
>>>>>>>>>>>>> platform and then back to contrib. I have the same issue with the
>>>>>>>>>>>> CKEditor
>>>>>>>>>>>>> Integration extension. We want CKEditor as the default editor,
>>>>>>> bundled
>>>>>>>>>>>> with
>>>>>>>>>>>>> the default distribution, but do we need to move it to platform?
>>>>>>> Same
>>>>>>>>>> for
>>>>>>>>>>>>> the Welcome Tour.
>>>>>>>>>>>>
>>>>>>>>>>>> I’d personally not like this for the following reasons:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> 1) I like that the XWiki runtime is all released at once with all
>>>>>>>>>>>> extensions making it using the same versions and verified to work
>>>>>>>>>> together.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> XWiki runtime has lots of third party dependencies. Bootstrap, Solr,
>>>>>>>>>>> jQuery, just to name a few. I don't see how having the source code
>>>>> in
>>>>>>> our
>>>>>>>>>>> repo (platform) makes a difference at runtime when the
>>>>>>>>>>> integration/functional tests verify they work together.
>>>>>>>>>>
>>>>>>>>>> Because they don’t! :) Just check any extension in contrib and you’ll
>>>>>>> see
>>>>>>>>>> their func test (when they have some!) don’t test that they work with
>>>>>>> the
>>>>>>>>>> latest version of XWiki…
>>>>>>>>>>
>>>>>>>>>>> 2) Support. The XWiki runtime is supported by the XWiki Core Dev
>>>>> Team.
>>>>>>>>>>>> Extensions in contrib are not supported by the XWiki Core Dev Team.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> So the FAQ application you moved out of platform is no longer
>>>>>>> supported
>>>>>>>>>> by
>>>>>>>>>>> the XWiki Core Dev Team?
>>>>>>>>>>
>>>>>>>>>> Correct.
>>>>>>>>>>
>>>>>>>>>>> The extension page
>>>>>>>>>>>
>>>>> http://extensions.xwiki.org/xwiki/bin/view/Extension/FAQ+Application
>>>>>>>>>>> doesn't reflect this.
>>>>>>>>>>
>>>>>>>>>> I added my name to the list as a supporter. I’ve kept “XWiki Dev
>>>>> Team”
>>>>>>>>>> because it's a past authors and it wouldn’t make sense to remove it.
>>>>>>> But
>>>>>>>>>> yes it’s no longer officially supported by the XWiki Core Dev Team.
>>>>>>>>>>
>>>>>>>>>> Note that e.x.o doesn’t say who maintains a given extension, it just
>>>>>>> says
>>>>>>>>>> who participated to developing it ;) We’re currently missing the info
>>>>>>> on
>>>>>>>>>> whether the extension is actively supported and by whom. FTR
>>>>> Confluence
>>>>>>>>>> does this with a “supported” label that you can hover over and
>>>>> provides
>>>>>>>>>> info. For example:
>>>>>>>>>>
>>>>>>>
>>>>> https://marketplace.atlassian.com/plugins/nl.avisi.confluence.plugins.numberedheadings/cloud/overview
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -Vincent
>>>>>>>>>>
>>>>>>>>>>> In addition xwiki-contrib is very open and anyone can make
>>>>>>> modifications
>>>>>>>>>>>> there and quality is thus harder to guarantee.
>>>>>>>>>>>>
>>>>>>>>>>>> We defined the xwiki github organization as containing horizontal
>>>>>>>>>> modules,
>>>>>>>>>>>> ie modules that can be required for any flavor and both CKEditor
>>>>> and
>>>>>>> the
>>>>>>>>>>>> Tour Application fit the need. By opposition to vertical modules
>>>>>>> which
>>>>>>>>>> make
>>>>>>>>>>>> sense only for some use cases (like the Meeting Manager app) and
>>>>> not
>>>>>>> by
>>>>>>>>>>>> default in XE. We have the option of having flavors in contrib for
>>>>>>>>>> those if
>>>>>>>>>>>> we want though. For CKEditor it’s not a good thing since we’d like
>>>>>>> it by
>>>>>>>>>>>> default.
>>>>>>>>>>>>
>>>>>>>>>>>> One alternative (which I’m not fond of at all) would be to have
>>>>>>> ckeditor
>>>>>>>>>>>> as a separate git repo in the xwiki github organization.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> -Vincent
>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> Marius
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Alex
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to