What is the Dope on Zope?

by Noah Gift

PyAtl is switching to Plone as time is short and we want a CMS that everyone can edit. A few people are are working on getting Plone configured and we are looking at using the gmail authentication plugin and the forum plugin.

All of this has got me thinking? What is the story on Plone and/or Zope? There is all this talk of Django/Turbogears/Pylons, etc., but what about Zope and specifically Zope3 and Plone? In the younger crowd you almost never here anyone talk about anything related to Zope and I wonder why?

So, what is the dope on Zope? Can you turn Plone into the next myspace? How hard is it to learn Zope3?

15 Comments

Alexander Limi
2007-07-23 19:44:16
Since you asked... :)


The reason you seldom hear anything about Plone in the "younger crowd" is mostly related to its stack size. Yes, Plone makes it easy to get started if your problem domain is Content Management. If you're trying to build a simple web application, Plone is probably massive overkill.


Plone is an excellent fit if you need richer services like versioning, staging, locking, Word/PDF indexing, LDAP/Active Directory integration, multilingual content, etc. It's much bigger in the NGO and corporate space than in the "I need a weblog" space.


Building something like MySpace in Plone doesn't really make any sense either -- and is not the space Plone is in at all, but I know that was a joke. :)


Personally, I'm very happy that Django, TurboGears, Pylons and even Ruby on Rails came along, since a lot of people were trying to build simple web applications like issue trackers and the like in Plone -- something that is definitely possible, but not as straighforward as doing it in something that is closer to pure Python. Now we have somewhere to point them, and over the last few years, I have pointed countless people to Pylons and Django instead of trying to fit their square peg into the round Plone.


That being said, Plone (via Zope 3) is moving closer to the Python world again. Back in the day, Zope had to invent a lot of things just because Python wasn't mature enough. Which explains crazy things like the fact that Zope 2 has its own DateTime implementation. Zope 3 was a ground-up rewrite, using modern Python technologies. Plone is in a particularly interesting situation, as we didn't want to throw out everything and start over -- so we are "modifying the plane in-flight", so to speak. Which takes longer and is a bit more painful, but it's the responsible thing to do towards our huge customer base. Look at what happened to ArsDigita when they tried doing a ground-up rewrite by throwing out all their code.


So, in summary -- we didn't go anywhere, we're just plotting world domination when nobody's looking. And with Plone 3.0 -- due in a month -- we're capturing a lot of attention in the "enterprise" markets, who are ready for a mature but capable solution to the content management problem.


As for adoption, the past few months have seen Plone "switchers" like CIA and Novell. (no connection between them, I promise ;)


For more sites running Plone, have a look at http://plone.net/sites.


For a list of the stuff in Plone 3, have a look at the still-evolving feature list at:
http://plone.org/products/plone/features/3.0


-- Alexander Limi (Plone co-founder)


Daniel Von Fange
2007-07-24 05:00:53
Zope/Plone is evil. Your toes will fall off your feet.


At least that has been my experience.


Harvey Pengwyn
2007-07-24 05:39:27
Every time I see the name Plone I am confused as the first thing that leaps to mind is the fine programming language PL/1. I am looking forward to there being a framework called something like Ostwo.
Harvey Pengwyn
2007-07-24 05:40:59
Oops. The latency of your site is a fine example of the web-based paradigm so beloved of the fine writers here :-)
Noah
2007-07-24 10:10:24
Alexander,


It is funny, as we have a member of PyAtl that kept saying, what is wrong with Zope? I kept thinking....I really don't know. Why not Zope 3 or Plone? So far, I am really impressed with how cool Plone is. Not writing all of the code yourself, is a good thing in my opinion!


I also caught a couple of blog entries from Phillip Eby where he mentioned that if it had been thought of before, it was probably in Zope, to paraphrase.


On the Zope 3 Wiki I also noticed a great section called How Do I Find Documentation in Anger.


I also noticed that apparently launchpad uses Zope3 and Storm. For the people asking to open source Launchpad, it appears it has been to a large degree.


Finally, Zope has been around about 10 years now and my friend Aaron mentioned that often it takes 10 years for software to reach maturity. So, these all seem like good things about Zope.


I for one am starting to take a serious interest in Zope 3....

Tom
2007-07-24 12:55:24
I've been using Zope 2 for years now and I love it. I have used it in for the small things like personal blogs, a poker night website to sign up for games and keep track of scores as well as for building enterprise level websites for major media companies using the Zope4Media product (which I helped to develop). Zope 2 is extremely stable and, once you get past the initial learning curve, very easy to work with.


I haven't really used Zope 3 much because I haven't had time and basically because Zope 2 is solid and robust enough to handle pretty much every project I throw at it. To me the biggest reason why Zope isn't as popular as it could be is because of poor documentation and marketing. There's been many ground swell efforts in the past to try and revamp zope.org but they keep dying because a lack of agreement on the best way to proceed, mostly pro Plone vs. anti Plone arguments. Thankfully the people on the Zope mailing list are extremely helpful.


While it may be a bit tough to get into Zope at first and deal with the initial learning curve, I think a lot of people would be pleasantly surprised to see how powerful, stable and easy it is to work with.

Noah
2007-07-25 15:31:16
As an update, I know that Derek Richardson is hoping to organize a Plone Sprint at Georgia Tech in the very near future.
Anon
2007-07-26 13:33:37
Interesting questions? But there are lot's of question marks in this article? Even where not appropriate? I'm not sure I've seen so many question marks in a single blog post before?


Cheers?

Noah
2007-07-26 15:03:02
Anon,


I do ask a lot of questions, and sometimes they are even inappropriate :) I also take punctuation with a grain of salt.....I know I shouldn't admit this, but parts of the English language are boring to implement. Often I get lazy, and don't implement the features I don't want, or implement other features that don't normally apply.


I guess this is just one of my quirks, like the ..... I find it more fun to use than a comma or period at times.

Klaus
2007-07-28 02:23:29
In my experience Zope/Plone lacks in two areas: Documentation and Ease of Development.


The documentation for more complex Plone problems is frankly non-existant (or out-dated and most times only tells half the story...)


It is also extremely difficult for a single developer with limited time to actually maintain and upgrade a site which actually offers hand-coded applications - You are not programming Python anymore, you are programming in an undocumented language that is called Zope/Plone.

Jeremiah Foster
2007-07-29 05:34:57
Hey Noah!


Good blog post, I have been wondering the same thing.


But now to the purpose of my comment; your English code is throwing a syntax error. This means it does not parse well in the application - causing unexpected results on different operating systems.


The purpose of grammar, in code and in English, is to provide clarity and understanding. These are crucial, in fact, these are your goals when you write. Therefor, I implore you, as you are an author who writes for a large public audience, to take English punctuation with more than just a grain of salt. Consider taking the whole salt shaker, as I am sure you do when you write code or read it. This will provide an opportunity for readers who may not understand your syntactical shorthand (or syntactic sugar, to keep the metaphors consistent with spices) to fully understand what you write.


Jeremiah

Noah
2007-07-29 19:32:37
Jeremiah,


I agree, your points are valid. It isn't that much effort to make use of standardized english when I blog. Even though I don't personally value proper pronunciation and valid spelling as much as others do, I appreciate that it matters to some. I suppose using the correct English language syntax is polite to a certain crowd and personality type.


There is a whole other world of text based communication that deliberately denounces the traditional English language. It is now perfectly acceptable for most people to receive a blackberry email, IM, or SMS message that includes cryptic phrases and a deliberate basterdization of words. It is also common in many emails that I receive to have large improperly punctuated acronyms such as IIRC or IMHO. This is, of course, improper English, but it is pragmatic English.


Ultimately, I think part of how a person reads and writes in English is dependent on the paradigm in which they view the world. If you are a detailed oriented person, such as the Myers Briggs ISTJ personality type, it may heavily concern you, if you read an article in which there is questionable punctuation. When other personality types like INTP, like I am, are reading or writing an article, they may be so lost in thought, that the article could be punctuated by asterisks instead of periods. I suppose these differences and tensions are what enables the world to be such an interesting place. On a side note, I am not fully subscribed to the Jungian psychological type theory, but I do believe there is some truth in it.


In closing, I may never truly understand why a dropped period in an article may total disqualify the point a person is trying to make for some people, while they may never understand how it is irrelevant to me :)


Of course in the post in question, there is really only one error. In the second paragraph, the first sentence and the second sentence could have been combined to form just one question.

jorge
2007-08-09 10:49:28
I'll reply short. I was in love with plone from the minute I saw all their screencasts, after that I turned to my hosting (no they are really good, they let me run anything) and ask if we could setup a trial site, they reply sure no problem I'm going to give you 80 additional mbs of ram, so it will run fine. Long story short I'm a happy Turbogears user.
Drew Smathers
2007-08-15 07:22:53
I think PJE really says it best:



http://dirtsimple.org/2007/01/where-zope-leads-python-follows.html


Simply put, zope3 is very well designed and very well implemented; and to ignore it's achievements is ... well ... counter-productive. Also, remember the driving force behind Zope has been economics not academic experimentation. And it is not an all-or-nothing solution. A lot of python programmers (including myself for some time) haven't realize that you don't have to have a "zope instance" to start using bits and pieces of Zope - it's all divided into separate libraries that can be used in "non-Zope" python applications.


Why are we creating things like Babel, when zope.i18n and the utilities it provides exists? Or ToscaWidgets instead of just using Zope's formlib?

jerk (tschitschereengreen)
2007-08-30 06:32:55
Dear, we are developers using rails, symfony and preferably django. the reason why we don't use zope/plone is the fact, that in our opinion it's "pre-made interfaces" are way to inflexible for us and our customers. therefore we prefer frameworks, where you don't see anything in the beginning...