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

Reply via email to