Thanks for explainations ! :)

Well, I believe my target anyway will be 4.x (and only 4.x),
compatibility for 3.x is mainly for my own use-case of replacing the
old app in production with the new component. Once it's done (and my
own wiki migrated to 4.x) I don't think I will bother with 3.x
compatibility anymore ...

So of course if this timeframe is really short I might not even bother
with a 3.x at all, but it all depends on my ability to releasing a
real 1.0 soon ;-)  ... (I feel I'm a bit far from that to be honest)

Thanks,
Jeremie

2012/10/8 Vincent Massol <[email protected]>:
>
> On Oct 8, 2012, at 1:12 PM, Jeremie BOUSQUET <[email protected]> 
> wrote:
>
>> About branch for 3.5.1, I wonder if there is a way to properly manage
>> that with extensions manager ?
>> Is it possible to provide a specific extension artifact for users
>> running xwiki 3.5.1 and another one for 4.x ?
>
> You can have as many versions as you want of your module.
>
> The EM can install any version. By default it'll pick the latest version 
> compatible with your install but you can ask it to use any specific version.
>
> What you need to figure out (if you need 3.x compatibility) is how to name 
> the version.
>
> You basically have 2 solutions:
>
> Solution 1: You use the xwiki version in the name of your module
> ========
> Example:
> * xwiki-contrib-mailarchive-ui-3x-0.2 based on XE 3x
> * xwiki-contrib-mailarchive-ui-4x-0.2 based on XE 4x
>
> And when you need to release a new version for XE 3.x you use for example:
> * xwiki-contrib-mailarchive-ui-3x-0.3 based on XE 3x
>
> Or instead of 3x and 4x you use the exact version of XE it requires:
> * xwiki-contrib-mailarchive-ui-3.5.1-0.2 based on XE 3.5.1
> * xwiki-contrib-mailarchive-ui-4.2-0.2 based on XE 4.2
>
> (note to self: need to check with Thomas what version the EM think is the 
> most recent in this case - I don't know our algorithm - I guess it's 
> alphetical so 4.2-0.2 will be considered more recent than 3.5.1-0.3).
>
> Solution 2: You just specify in the release notes what's the minimal version 
> required for a given version
> ========
> Example:
> * xwiki-contrib-mailarchive-ui-0.2 - Works with XE 3.x
> * xwiki-contrib-mailarchive-ui-0.3 - Works with XE 4.x
>
> And when you need to release a new version for XE 3.x you use for example:
>  xwiki-contrib-mailarchive-ui-0.2.1
>
> It's not fully correct since it may not be a bugfix release so this second 
> solution works best when you follow the XE releases and only issue bugfix 
> releases for past XE versions.
>
> The most correct solution is Solution 1 of course.
>
> Hope it helps,
> -Vincent
>
> PS: It's always a pain to maintain several branches, so you really need to 
> decide if you want to do that or just maintain one branch… ;)
>
>> Or is it just too painful and useless, at once, to not just provide
>> the extension for last xwiki version ?
>>
>> 2012/10/7 Jeremie BOUSQUET <[email protected]>:
>>> Hi again,
>>>
>>> - I pushed last updated code to git, so that version should be better
>>> ... But I'm still having issues building it, so you should add
>>> "-Dmaven.test.failure.ignore=true" to maven cli. It's a problem I
>>> still couldn't solve: the junits for MailUtils component (in -api)
>>> fail because of xwiki not finding roles for this component, while when
>>> the app is deployed to a running xwiki, MailUtils component is
>>> instanciated without any issue.
>>> Time for an additional question : there are some specific things to do
>>> to unit test a component that depends on old core, but are there any
>>> for a component that depends on a component that depends on old core ?
>>> - About moving to more recent xwiki version I agree, I'll create a
>>> branch for 3.5.1. Will also be a motivation to finish migrating my
>>> wiki to recent version :)
>>> - I added MailArchiveCode.UIExtension for application panel, doesn't
>>> it work ? Did not test in a 4.x myself so I'm not sure.
>>> - added dependency on Tabs Macro from Mail Archive App extension, but
>>> it's not listed in the page... I must have done something wrong.
>>> - added dependency on -api from -ui
>>>
>>> Br,
>>> Jeremie
>>>
>>>
>>> 2012/10/7 Jeremie BOUSQUET <[email protected]>:
>>>> Answers below,
>>>>
>>>>
>>>> 2012/10/7 Vincent Massol <[email protected]>:
>>>>> Some more feedback:
>>>>>
>>>>> * You should put all your technical code in the MailArchiveCode space. I 
>>>>> see you're putting pages in existing spaces which is not that good: 
>>>>> Scheduler, Extension, XApp.
>>>> For Scheduler and xApp I agree, though it's the default behaviour of
>>>> scheduler and application manager apps to put their descriptors in
>>>> their space.
>>>> For Extension it was of our decision to put documentation in Extension
>>>> space on xwiki.org. I wanted to have the pages in the same relative
>>>> location but anyway as I can't import those pages in xwiki.org it's
>>>> useless, so I'll set them back in MailArchive space (they are not
>>>> technical pages but documentation pages).
>>>>
>>>>> * You should mark all the technical pages as hidden docs.
>>>> I don't think it existed in 3.5.1, that's why I didn't set them ;-)
>>>>
>>>>> * You should have a package.xml file since it's generated automatically :)
>>>> I understand that I "shouldn't have" a package.xml file, am I right ?
>>>>
>>>>> * I see a java-libpst jar in some lib/ dir. This lib should be in maven 
>>>>> if it's required.*
>>>> It's supposed to be used by experimental feature in specific branch,
>>>> so I should remove it completely from master.
>>>>
>>>>> * MailArchive UI module is missing dependencies; it should depend on 
>>>>> xwiki-contrib-mailarchive-api for ex at least
>>>> I'll fix that.
>>>>
>>>> I really appreciate your feedbacks !
>>>> For git I'll send a mail when fixed, because I don't exactly remember
>>>> how far I went, I'll have to test that before committing.
>>>> Thanks,
>>>> Jeremie
>>>>
>>>>>
>>>>> Thanks
>>>>> -Vincent
>>>>>
>>>>> On Oct 7, 2012, at 2:34 PM, Vincent Massol <[email protected]> wrote:
>>>>>
>>>>>> Hi Jeremie,
>>>>>>
>>>>>> I've tried using version 0.1 this week end and I've found that it 
>>>>>> doesn't work and is missing things. For example, it requires the tab 
>>>>>> macro which isn't specified as a dependency. And some pages have 
>>>>>> velocity macro failures.
>>>>>>
>>>>>> I've then tried to build the mailarchive app from git in the hope that 
>>>>>> some more recent commits fixed the issues but I couldn't built it. The 
>>>>>> build fails with:
>>>>>>
>>>>>> "Results :
>>>>>>
>>>>>> Failed tests:   
>>>>>> decodeMailContentForHtmlAndNoBodyAndCut(org.xwiki.contrib.mailarchive.internal.MailUtilsTest):
>>>>>>  To be implemented
>>>>>>
>>>>>> Tests in error:
>>>>>> extractTypesWithLimitValues(org.xwiki.contrib.mailarchive.internal.DefaultMailArchiveTest):
>>>>>>  Failed to lookup component 
>>>>>> [org.xwiki.contrib.mailarchive.internal.DefaultMailArchive] for role 
>>>>>> [org.xwiki.contrib.mailarchive.IMailArchive] and hint [default]
>>>>>> extractTypesForNominalCases_OtherType(org.xwiki.contrib.mailarchive.internal.DefaultMailArchiveTest):
>>>>>>  Failed to lookup component 
>>>>>> [org.xwiki.contrib.mailarchive.internal.DefaultMailArchive] for role 
>>>>>> [org.xwiki.contrib.mailarchive.IMailArchive] and hint [default]
>>>>>> extractTypesForMultiplePatternsAndTypes(org.xwiki.contrib.mailarchive.internal.DefaultMailArchiveTest):
>>>>>>  Failed to lookup component 
>>>>>> [org.xwiki.contrib.mailarchive.internal.DefaultMailArchive] for role 
>>>>>> [org.xwiki.contrib.mailarchive.IMailArchive] and hint [default]
>>>>>>
>>>>>> Tests run: 10, Failures: 1, Errors: 3, Skipped: 0
>>>>>> "
>>>>>>
>>>>>> I've also noticed that on master the core dep is 3.5.1 which is pretty 
>>>>>> old. I'd like to update this to 4.3-SNAPSHOT and when you perform a 
>>>>>> release you resolve the snapshot to whatever version is the latest 
>>>>>> released (ATM that would be 4.2 and later on that would be 
>>>>>> 4.3-milestone-1 for ex).
>>>>>>
>>>>>> If you still need to depend on 3.5.1, it should be done on a branch of 
>>>>>> the mail archive app IMO.
>>>>>>
>>>>>> It would be nice for ex to be able to use the Application panel 
>>>>>> extension point.
>>>>>>
>>>>>> WDYT?
>>>>>>
>>>>>> I'm now going to try building with -DskipTests and pray it's going to 
>>>>>> run ;-)
>>>>>>
>>>>>> Thanks
>>>>>> -Vincent
>>>>>>
>>>>>> PS: I'm still very eager to see it in action!
>>>>>
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to