> On 23 Jun 2016, at 09:11, Vincent Massol <[email protected]> wrote:
> 
>> 
>> On 22 Jun 2016, at 20:13, Eduard Moraru <[email protected]> wrote:
>> 
>> Hi,
>> 
>> On Wed, Jun 22, 2016 at 12:57 PM, Vincent Massol <[email protected]> wrote:
>> 
>>> 
>>>> On 22 Jun 2016, at 10:02, Marius Dumitru Florea <
>>> [email protected]> wrote:
>>>> 
>>>> +1
>>>> 
>>>> On Tue, Jun 21, 2016 at 7:00 PM, Vincent Massol <[email protected]>
>>> wrote:
>>>> 
>>>>> Hi devs,
>>>>> 
>>>>> I’m transforming the brainstorming that was started in the thread
>>>>> http://markmail.org/message/exlndbq3tw2thmmu into a VOTE mail since
>>> this
>>>>> is a very important decision.
>>>>> 
>>>>> So I’m asking you to vote for defining a new direction for the XWiki
>>> Core
>>>>> Dev Team (i.e. for the XWiki GitHub Organization). The need was
>>> triggered
>>>>> by the Tour and CKEditor extensions which are currently in xwiki-contrib
>>>>> and that we want our users to have by default. For more details see this
>>>>> thread: http://markmail.org/message/exlndbq3tw2thmmu
>>>>> 
>>>>> So here’s the strategy:
>>>>> 
>>>>> * 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).
>>>>> 
>>>> 
>>>> I don't think we need to release the Default Flavor more often than the
>>>> Base Flavor because with this new strategy the users can upgrade
>>> individual
>>>> extensions (those that are not in the Base Flavor) without upgrading the
>>>> WAR.
>>> 
>>> As I said, if we find some important bug (for example) and this bug is
>>> only in one of the 3rd party extensions, it would be a pity not to release
>>> just the Default Flavor IMO and wait for 2 months more. Even if users can
>>> upgrade their extensions, it’s better that users new to XWiki
>>> download/install the best possible version right away instead of having to
>>> upgrade.
>>> 
>>> We’ll see when the need arises but I don’t think we should stop ourselves
>>> from this possibility. Technically this means putting the Default Flavor in
>>> a separate github repo (same as xwiki-enterprise being in a separate repo).
>>> We need to discuss how we do it:
>>> - consider it’s XE for now and just add the 2 deps of Tour and CK to XE
>>> - introduce a new repo for the default flavor and do the build for it and
>>> deprecate XE in favor of it. For now we probably need to hardcode the
>>> flavor id in the platform WAR till we’re ready to have the flavor selection
>>> screen at startup (and for HSQLDB/Jetty packaging we need a hard-coded
>>> flavor anyway).
>>> 
>> 
>> I`m personally sensing that we may have a bit of a confusion here between
>> the notion of separate release cycles and the repo in which an extension
>> should be located.
>> 
>> AFAIU, the top priority and the actual problem that we want to fix here
>> (mainly for our users and XWIki`s flexibility) is to allow extensions to
>> have independent release cycles. Moving stuff to contrib just got somehow
>> into the discussion as a consequence of the old way we used to handled
>> things (xwiki org = monolith, single version; contrib org = distributed;
>> independent versions).
>> 
>> In the past, people (including myself) were pushing to move modules to
>> contrib for the independent versioning feature of contrib, but not
>> necessarily for the "openness for anyone to commit" feature of contrib.
>> That last feature was actually a downside to the quality aspect. If we
>> handle independent versioning within the xwiki GitHub organization, then we
>> will no longer have this downside and we will be able to properly control
>> the quality. This would mean that the Default Flavor would be in a repo
>> under the xwiki org (similar to xwiki-enterprise, as Vincent's proposal)
>> and I would even go as far as suggesting that all the dependencies of the
>> Default Flavor should be located/moved within the xwiki org, perhaps in
>> some xwiki-extensions repo (that we were talking about at some point).
>> 
>> I agree that this might sound a bit like going in circles, but IMO it`s not
>> entirely true, now that we introduce independent versioning in the
>> discussion, since it fixes a lot of problems we have in the previous
>> discussions were we were wrongly using Contrib, to compensate for it, since
>> the xwiki org was a big monolith.
>> 
>> Now what happens to the remaining modules inside xwiki-platform and the
>> Base Flavor, I would guess that, at least at the beginning, they will
>> continue to function as a monolith, at least until we decide to tackle the
>> notion of "core" dependencies and if we want to do something about them
>> (see my note about this on the previous thread).
>> 
>> WDYT?
> 
> Indeed going in circles a bit here but it’s an important decision… However we 
> need to conclude quickly since we need to implement the solution for 8.2RC1 
> i.e. we need to close this thread at latest this week.
> 
> Point 1: Scope of xwiki github org
> ==========================
> 
> The strategy we’re voting here is about having XWiki Core Dev Team (aka XWiki 
> Github Org) to be focusing about core stuff and reducing the scope of the 
> core as we progress. And letting the community at large handle the non-core 
> modules.
> 
> What you mention above (and which was already proposed in the previous thread 
> BTW) would lead to keep the same scope for the XWiki Core Dev Team.
> 
> As you mention it also leads to making it more complex for others to 
> contribute.
> 
> Also don’t forget that we’ve already voted to move stuff ouf of xwiki github 
> org and we’ve already started (markdown syntax, various platform modules 
> already moved out), and have even already voted to move more stuff out.
> 
> So the direction is to slim down the xwiki github repo, not just because we 
> also want users to be able to install extensions in older versions of XWiki.
> 
> Point 2: dependency hell
> ===================
> 
> I would prefer that we keep releasing all XWiki Github Org together as much 
> as possible to avoid dep hell (and increased testing efforts) as we had 
> before. It’s fine to decide to include a few third party modules but that’s 
> very different from deciding that the rule is now that all modules can have 
> their own release cycle inside core.
> 
> If the way to do this and be consistent is to say that the default flavor is 
> released with the same versioning cycle than all the rest of the XWiki Github 
> Org then I’d prefer that.
> 
> Other thoughts
> ============
> 
> Now we could decide to move just CKEditor inside xwiki github org with the 
> argument of controlling the quality. I think it would be more difficult to 
> justify moving the Tour app. Also note that we should prevent ourselves from 
> being able to bundle other third party extensions in the future in the 
> default flavor if we think they should be in by default so I think we should 
> still keep the strategy proposed in this thread.

^^^^^
Also note that we should NOT prevent ourselves from being able to bundle other 
third party extensions in the future...

Thanks
-Vincent

> 
> I view the proposal in this mail as an add-on and not a replacement, i.e. to 
> be clear:
> * Keep the same logic as proposed for xwiki github org
> * Still have a base and default flavor in xwiki github org
> * Still be allowed to bundle third party extensions in the default flavor
> * NEW: Allow ourselves to have special extensions in xwiki github org that 
> have their own release cycles, and CK would be the first
> 
> Right now I’m not fully convinced that we need to do this and I’d rather 
> continue with the proposal as is and keep CK outside. The only reason to move 
> it to the xwiki github org IMO is for quality reasons and I’d rather wait 
> till we see a problem before considering it.
> 
> Actually this thread mentioned about defining what a “basic wiki” is. I think 
> we should consider moving CK in only if we consider that a WYSIWYG editor is 
> part of a “basic wiki”. But I’m not convinced that a basic wiki requires 2 
> editors (the wiki one + a WYSIWYG one).
> 
> WDYT?
> 
> Thanks
> -Vincent
> 
>> Thanks,
>> Eduard
>> 
>> So, having that in mind, I would think of some questions:
>> -
>> 
>>> 
>>> Thanks
>>> -Vincent
>>> 
>>>> Currently the users cannot upgrade the Blog because the new version of
>>>> the Blog depends on a new version of the XWiki WAR. With this new
>>> strategy
>>>> the users will be able to upgrade the Blog (considering that the Blog is
>>>> not part of the Base Flavor).
>>>> 
>>>> On the same topic, we have the Extension Updater administration section
>>>> where users can check for extension updates. The problem is that the
>>>> extensions included in a flavor are considered dependencies of the flavor
>>>> and thus are installed as dependencies which means the Extension Updater
>>>> cannot separate them from other technical dependencies and thus won't
>>> check
>>>> for their updates. Ideally a flavor should be a pack of extensions that
>>> are
>>>> installed explicitly (not as dependencies). This way the Extension
>>> Updater
>>>> can propose updates and at the same time the users can uninstall
>>> extensions
>>>> from a flavor without removing the flavor.
>>>> 
>>>> Thanks,
>>>> Marius
>>>> 
>>>> 
>>>>> * 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.
>>>>> 
>>>>> Here’s my +1
>>>>> 
>>>>> Please cast your vote.
>>>>> 
>>>>> Thanks
>>>>> -Vincent

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

Reply via email to