Which versions of Zope are supported by ERP5
Short Summary (updated 2009-04-08)
Zope 2.7 is not supported any longer. (see this post)
Zope 2.8 is the officially supported version.
- Zope 2.9 seems to work more or less, if you make a little effort.
- Zope 2.10 never works with ERP5, at the moment.
- Zope 2.11 never works with ERP5, at the moment.
- Zope 2.12 never works with ERP5, at the moment.
- Zope 3 never works with ERP5, at the moment.
History
At the time of writing this page (2007-10-22), the officially supported version of Zope is still Zope 2.7.x. However, Zope 2.8.x had been put on an experimental repository for a long time, and it has recently moved to the normal repository, because a lot of effort has been made on porting ERP5 to Zope 2.8 (mostly by yo), and the stability has been confirmed in some big production systems. The switch is completely seamless, because compatibility patches have been developed. All you need to do is just install Zope 2.8.
Now the remaining issue with Zope 2.8 is only about quite a few test failures. Before migrating officially, the unit tests and the functional tests must be completely fixed, so that we can confirm whether such a migration makes any difference.
Also, Rafael has reported that he succeeded in running ERP5 on Zope 2.9 with some minor updates. Although this was a simple experiment, it looked not hard to move even more forward.
Plan
The current plan is to migrate to Zope 2.8 as soon as possible. Zope 2.7 should be used, only if it is absolutely required for some reason. All developers should use Zope 2.8, if possible. This will be officially announced, once all the tests are fixed up.
After the migration, Zope 2.7 will be supported for a while, to have some extra time to migrate. For now, it is not certain how long it will be.
Experiment
(Here, me means yo.)
From my point of view, the migration to Zope 2.8 is technically finished. So I privately started to port ERP5 to Zope 2.10.4. The port to Zope 2.8 was also started by me just as a hobby project at the beginning, and it took me 2 years to finish. So I expect that this effort will also take a lot of time, although I estimate that it is rather easy to move from 2.8 to 2.10, in comparison with from 2.7 to 2.8.
For challengers, I note down some procedures and obstacles to use Zope 2.10:
- Use the latest revision of all ERP5-related Products. I have already checked in some changes.
Use the latest version of Localizer. Note that you must install itools 0.13.x as well, and remove iHotfix.
You can use ClockServer instead of timerservice to send a request periodically. However, ClockServer is too simple, so I recommend combining two of them. You still need the Product TimerService, but do not need to install the Python package part, because ClockServer can do the same thing (in a better way). Then, you can put this in zope.conf:
<clock-server> method /Control_Panel/timer_service/process_timer?interval:int=5 period 5 </clock-server>
Page Templates are now Unicode-based in Zope, but ERP5 handles data as str with UTF-8 encoding. So unicodeconflictresolver is always invoked. This works, but the performance is poor. ERP5 should migrate to Unicode-based handling.
- So many deprecated warnings, mostly due to the usage of hooks, such as manage_afterAdd. Zope 2 is moving to more the Zope 3-ish way, so events should be used instead. This means that ERP5 classes have to use interfaces appropriately.
- Page Templates are mostly based on Zope 3's now, so classes based on Page Templates, such as PDFTemplate, may not work correctly.
- Neither unit tests nor functional tests have been performed so far. Only site creation and additions of Business Templates were confirmed manually. Do not expect that things will work.
- XML import is so broken in the Zope. I prepared more monkey patches for this problem, but it is desirable to fix the Zope itself.