February 10, 2010

No Plone dependency declarations within your setup.py - PLEASE

Today I had a hard time fixing a Plone 3.1.7 buildout suddenly pulling in Plone 3.3 and Plone 4 stuff. In each case it turned out that some add-ons defined Plone as a dependency through install_requires. Never ever do that! There is really no need to define upstream packages as a dependency. On of the issues was with the latest DataGridField release specifying "Plone >= 4.0a1". This is completely insane. Add-ons should specify there down-stream dependencies and side-stream dependencies only. Another issue where some add-on was pulling in Plone 3.3 remains without further investigation....this dependency nonsense took me almost a complete working day in order to get the site up again and running. Average users would be completely doomed I guess...so please: trible think about what you put into your add-on as dependency and how you add it...at least "Plone" does not belong here - perhaps others have a different opinion on that?