As people start asking me what are the differences between ZopeSkel and DIYPloneStyle, here are a few answers.
DIYPloneStyle is a small product which has a script that generates the needed code to get started with while starting the development on the filesystem of a theme for Plone. ZopeSkel is an extension to a more general python utility called paster. Paster is a utility that generates base code for any python project. It can be extended with new templates for any kind of project. ZopeSkel is an extension set for ZopeSkel that provides a bunch of templates that lets paster users generate python packages for Zope and Plone. One of these templates is called 'plone3_theme', it is used for generating the code needed for starting the development of a theme for a Plone 3.0 site. DIYPloneStyle was developed when Plone 2.1 was released, and became some kind of standard as starting point for developing a theme product on the filesystem. Around the same time, distutils and paster were developed, as well as Skeletor. Quickly after trying paster and ZopeSkel thanks to Daniel Nouri's posts in his blog, I started adapting DIYPloneStyle to a template in ZopeSkel, so were added plone2_theme and plone25_theme templates to ZopeSkel. Since then, I tried to keep ZopeSkel themeing templates and various DIYPloneStyle generator outputs in sync. ZopeSkel now has a plone3_theme that outputs a blank theme product identical to the one outputted by DIYPloneStyle 3.0. Identical? not really. First, ZopeSkel is a utility for generating code of python eggs, DIYPloneStyle generates a product that must be installed in the Products directory. Secondly, DIYPS and ZS don't support the exact same options for generating the code, so the result might be slightly different from one to the other. Even then, I have more and more the feeling that those two products are somehow in competition. I also have the feeling that I spend too much time keeping the themeing templates of ZopeSkel and their DIYPloneStyle equivalents in sync. So one of them should die. I am personally using ZopeSkel more and more. Its advantages are numerous: - As it is extensible, paster could be used for generating potentially any kind of python package, it comes with very inreresting default templates and ZopeSkel povides all the needed ones for developing with zope and plone. So better learn it anyway. - paster asks for questions to be answered in an interactive mode, no need to remember a full set of options like with the DIYPS script. - paster package creation options can be saved in a file and reused later for regenerating a project. - paster supports cheetah, a very powerful templating language well know in the python world. - ZopeSkel is a community product (DIYPS too, but not in the facts) - paster is fully supported on all systems (DIYPS never was so lucky on windows) - …probably a few more So I see many advantages of using ZopeSkel over DIYPloneStyle. That's the reason why I will stop DIYPS maintenance after its 3.0 final release (I will still fix major bugs if any…). It's been a real pleasure working with/for it. It's been also a very good tool for finding bugs and missing features in the CMF and Plone while updating it to the newest Plone versions. I loved using it as a base for most of the documentation I wrote on plone.org. The doc and the product had good dialectical dynamic and I enjoyed it. Does that mean that my documentation effort will stop? nono… I am preparing a new themeing tutorial that will replace the old DIYPloneStyle one (and quickly will illustrate the use of ZopeSkel in that context). By the time it gets published, you should have a look at all the excellent resources about ZopeSkel on plone.org and around. Cheers, David -- View this message in context: http://www.nabble.com/DIYPloneStyle-vs.-ZopeSkel%3A-death-match-tf4380835s20094.html#a12487998 Sent from the Product Developers mailing list archive at Nabble.com. _______________________________________________ Product-Developers mailing list [email protected] http://lists.plone.org/mailman/listinfo/product-developers
