TL/DR: Plone 5 is only going to be successful if we provide add-ons compatible with it; to allow painless migrations, add-ons must run in both Plone 4.3 and Plone 5.0 at least; to make an add-on compatible with both versions we need to run tests; we have a problem and an opportunity here.
I have spent the last 3 days working to make collective.cover compatible with Plone 5. what I have done until now is mostly based on some previous work by @alecpm, @cewing and @cguardia:
let me start again... I have spent the last 3 days trying to make collective.cover tests run under Plone 5 and I'm a bit discouraged with the current situation; let me summarize what I have found until now:
- documentation, or better said, the lack of it
- differences among Archetypes and Dexterity's APIs
- complexity associated with running test under Plone 4 and 5
- lack of RF abstraction layer for basic functions
documentation is a huge problem; in all previous versions there was a list of basic things you need to do to make your add-on run; this is not the case right now as current documentation is plenty of TODO markers and missing pieces.
even with that handicap, with Travis' help I was able to break the work done by the Jazkarta guys in many pieces and started solving one problem at a time; the first one (versioning) was relatively easy and is now documented:
but that was not the case with the following: link integrity and plone.app.contenttypes compatibility (the later is a blocker of the earlier).
collective.cover's Travis testing matrix is pretty complex; we have to run tests against 6 different scenarios and I'm currently stock on Plone 4.3 with plone.app.contenttypes installed; enter API inconsistency:
we created plone.api to make our life easier but... who wants to spend an evening in the beach when you can dig on lines and lines of code to debug things like these? easy life is for weak!
I have been here for over 10 years now; we have dozens of sites running Plone, none of them is Plone 5; I don't see Plone 5 in my near future if we're not able to have our add-ons tested in, at least, both Plone 4.3 and Plone 5.0.
I was talking to @polyester the other day: we are pretty interested on having a sprint to make our workhorse add-ons compatible with Plone 5 and document all the problems found in the process.
if anybody else have similar issues, let me know and let start thinking on how to solve this puzzle.
happy new year!
collapse consciously and don't drink too much!