I’ve spent some time this weekend updating the Plone Help Center product to work in Plone 4, specifically in Plone 4.0a2. Some reasons/excuses:
- I had free time.
- I love coding for fun.
- I wanted to experience myself how easy/hard can be to updating a Plone 3 product to work in Plone 4.
The changelog will tell you about every change I performed, but a summary of the most important stuff is:
- The attribute __implements__ of a class cannot be used anymore. Use zope.interface implements and implementsOnly instead.
- Use mailhost.send instead of mailhost.secureSend. Learn how to upgrade your product accordingly (thanks alecm!).
- Manually define all needed variables which were formerly globally defined in the famous main_template. This was the most time-consuming step, because I had to fix them one-by-one following a try-error approach. Thanks god PHC has automatic tests, which helped a lot there.
Perhaps we could come up with a handy find-grep expression to be run in the root of your add-on package to identify all templates where you’re using global expressions (no longer available). find-grep hackers are welcome to comment this post.