Python: Zope/Plone - Is it the right solution?

  • kbperry / 200 / Sun, 31 Jan 2010 23:31:00 GMT / Comments (9)
  • Hi everyone,
    I am currently a student, and for our HCI class project we are redeveloping our CS website. I attend a very large university (around 30,000 students), and the CS site will need to be updated by many people that don't have technical skills (like clerical staff).

    The biggest problem with the current site is that not enough people have access to update it. Since I love python, these seemed like viable solutions.

    1) Is Zope/Plone overkill for this type of project?

    2) Why use Plone vs. straight up Zope?

    3) Is there a way to get over the steep learning curves (that I have read about)?
  • Keywords:

    zope, plone, right, solution, python

  • http://programming.itags.org/python/103870/«« Last Thread - Next Thread »»
    1. You may want to look at either of the popular frameworks, TurboGears
      http://www.turbogears.org/ or Django http://www.djangoproject.com/

      I have very little experience with both, but I decided to try learning
      the Django framework after watching the Snakes and Rubies videos. (See
      http://www.djangoproject.com/snakesandrubies/ ) I am working my way
      through the Django tutorials and am very impressed and looking forward
      to deploying it on my own site. The admin interface that you get
      basically "free" is a very slick touch, especially with all the
      widgets. My recommendation is to check out Django's admin interface
      (see Adrian Holovaty's presentation of Django in Snakes and Rubies and
      http://www.djangoproject.com/documentation/tutorial2/ ) and see if that
      won't do the trick for allowing easy content contribution without the
      contributors having to know any of the Python, HTML, or CSS behind the
      pages.

      Chris

      chrislasher | Wed, 07 May 2008 09:53:00 GMT |

    2. "kbperry" wrote:

      > I am currently a student, and for our HCI class project we are
      > redeveloping our CS website. I attend a very large university (around
      > 30,000 students), and the CS site will need to be updated by many
      > people that don't have technical skills (like clerical staff).
      > The biggest problem with the current site is that not enough people
      > have access to update it. Since I love python, these seemed like
      > viable solutions.
      > 1) Is Zope/Plone overkill for this type of project?
      > 2) Why use Plone vs. straight up Zope?
      > 3) Is there a way to get over the steep learning curves (that I have
      > read about)?


      do you want to build a web application, use a ready-made CMS, or is the goal
      to
      easily get lots of information on to the (intra)web ?

      if the latter, a modern wiki with good access control could be worth investi
      gating:

      http://moinmoin.wikiwikiweb.de/
      http://moinmoin.wikiwikiweb.de/HelpOnAccessControlLists

      (for performance, you may want to run the wiki behind mod_proxy)

      if you want a ready-made content management system, pick Plone.

      if you want to build your own web application, you know Python reasonably
      well, you don't want much of a learning curve, and you want to start right n
      ow,
      pick Django.

      (I'm now leaving the microphone to the "pick me pick me!" crowd ;-)

      </F>

      fredrik_lundh | Wed, 07 May 2008 09:54:00 GMT |

    3. Well,
      I guess our main goal in this class is to improve usability and user
      experiences at the site.

      While we want to improve our site visually and make it more usable to
      the prospective students, the site needs to be easily updated. I don't
      think that I am looking for a wiki.

      I will definitely check out Django and turbogears.

      Thanks a ton for the info!

      kbperry | Wed, 07 May 2008 09:55:00 GMT |

    4. It depends on how much time do you want to spend fighting with the
      framework.
      I usually do not recommend Zope, unless you want to make a career as a
      Zope
      consultant. If you have to interact with a relational database, your
      life with Zope
      may be hard: http://www.jrandolph.com/blog/?p=23

      For easy of use nothing beats CherryPy, but I am not sure how stable it
      is.
      Quixote is nice and small, and pretty easy to use too.
      Many likes Django and TurboGears.

      Zope and Twisted are for people who have a lot of time to invest.

      Michele Simionato

      michele_simionato | Wed, 07 May 2008 09:56:00 GMT |

    5. Michele Simionato:
      >I usually do not recommend Zope, unless you want to make a career as a
      >Zope consultant.


      You have a point there.

      >If you have to interact with a relational database, your life with Zope
      >may be hard:


      And if you have to interact with flat files, your life with an RDBMS may
      be hard. Zope contains a full-fledged post-relational object database
      called ZODB.

      The time it took me to learn to program with it (outside of Zope) is less
      than 1% of the time I've spent learning the relational model and SQL.

      Get your data out of those silly rows and columns, and put it in
      first-class objects!
      Ren Pijlman

      renepijlman | Wed, 07 May 2008 09:57:00 GMT |

    6. kbperry wrote:
      I attend a very large university (around
      > 30,000 students), and the CS site will need to be updated by many
      > people that don't have technical skills (like clerical staff).

      That is exactly the kind of thing Plone is good at. A good match I would
      say.

      Check out http://plone.org/documentation/faq

      The answers to your other questions can be found there.

      n_davis | Wed, 07 May 2008 09:58:00 GMT |

    7. Rene Pijlman wrote:
      > Get your data out of those silly rows and columns, and put it in
      > first-class objects!


      Well, there are pros and contras in the choice of a relational database
      vs an object
      database. Most of the time, there is no choice, since you have a legacy
      relation
      database to work with. Also, there are many cases where a relational DB
      is the
      right choice. So I would say that most of the times one has to do with
      relational DBs
      anyway, so it is a good investement to learn them. The ZODB is easy to
      use,
      but when it gives errors, it is not obvious at all to understand what
      is happening.

      Michele Simionato

      michele_simionato | Wed, 07 May 2008 09:59:00 GMT |

    8. kbperry:
      >1) Is Zope/Plone overkill for this type of project?


      No, Plone is an excellent CMS for your purpose.

      >2) Why use Plone vs. straight up Zope?


      Plone is an out-of-the-box CMS for non-technical editors, Zope is the
      underlying infrastructure for developers.

      >3) Is there a way to get over the steep learning curves (that I have
      >read about)?


      There is a steep learning curve when you need to develop custom content
      types, application code, integrate other databases and so on.

      But when all you want is a CMS for a community-type website, Plone is
      fine. I recommend this book, it probably contains all you need to know:
      http://plone.org/documentation/manual/definitive-guide
      (it's available as web pages and on dead tree as well)
      Ren Pijlman

      renepijlman | Wed, 07 May 2008 10:00:00 GMT |

    9. Fredrik Lundh wrote:
      > "kbperry" wrote:
      > do you want to build a web application, use a ready-made CMS, or is the go
      al to
      > easily get lots of information on to the (intra)web ?
      > if the latter, a modern wiki with good access control could be worth inves
      tigating:
      > http://moinmoin.wikiwikiweb.de/
      > http://moinmoin.wikiwikiweb.de/HelpOnAccessControlLists
      > (for performance, you may want to run the wiki behind mod_proxy)
      > if you want a ready-made content management system, pick Plone.


      I'd heartily agree with Fredrik on this.. If you just want to manage a
      set of interlinked documents (i.e. content oriented web pages) then a
      wiki will get you going and contributors updating stuff faster than
      pretty much anything going.

      Plone will give you more structure (allow you to create your own types
      of conten or object e.g. courses, buildings, whatever) with more effort
      and more maintenance.

      Rolling your own with any framework out there will inevitably give you
      the most flexibility (you can do pretty much what you want) traded off
      against a lot larger investment in time at the start and ongoing.

      If you want it to be a project, there isn't much to get your teeth into
      in creating a wiki based site (you can write you own modules and
      plug-ins I suppose). Plone/Zope3 would challenge you more and you'd have
      a chance to learn some different approaches to common cs problems.

      If I were to recommend based on you wanting a project, I'd say zope3. If
      it's based on getting some content up and editable quickly then I'd say
      wiki. If you're aiming for a structured website to handle some of the
      typical course info (handling events, rooms, dates, etc) I'd recommend
      plone.

      Tim Parkin

      p.s. The steep learning curve should only be if you want to do something
      to 'extend' the plone/zope system. As long as you are happy with the
      defaults for common components you shouldn't have too much to learn.

      timparkin | Wed, 07 May 2008 10:01:00 GMT |