Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Professional Plone Development

samzenpus posted more than 7 years ago | from the read-all-about-it dept.


Michael J. Ross writes "Among the hundreds of content management systems (CMSs) available for building Web sites, Plone may not be the most popular; but for the majority of experienced Python developers, it is without equal. This is partly due to Plone being one of the few major CMSs written in Python, and partly due to its powerful extensibility. Customizing and extending Plone, however, are not for the faint of heart. Fortunately, help is at hand, in Professional Plone Development, a book written by seasoned Plone developer Martin Aspeli." Read below for the rest Of Michael's review.Professional Plone Development was put out by Packt Publishing, on 26 September 2007, under the ISBNs 1847191983 and 978-1847191984. On the book's Web page, visitors can order a copy of the book (more on this later), download the sample source code found in the book, submit feedback, ask questions of the publisher, and download a sample chapter — specifically, Chapter 2, which presents the case study used by the author. For anyone who wants to get the most out of this book, downloading and working through the sample code would be extremely valuable.

The book's material is organized into 19 chapters, spanning 420 pages — despite what is reported on the publisher's Web page, which as of this writing indicates that the book comprises 300 pages. The book's chapters are grouped into four parts. The first one, the briefest, sets the stage for what follows, by presenting a context for Plone development, including the CMS's history, its competition, its use as a stand-alone application versus use as a framework, and other foundational matters. It also introduces the case study — a cinema chain's Web site — used throughout the book to illustrate the concepts being taught. Lastly, the first part of the book covers the development environment needed by the reader to follow along, including discussion of Zope, which is an open source application server designed for creating CMSs and other Web-based applications.

The second part of the book covers Plone customization: basic concepts, laying out a site's strategy, security and workflow issues, add-on products, and creating a new theme. The book's third part, the longest, covers how to extend Plone with new functionality: Zope programming essentials, custom content types, standalone views and forms, working with a relational databases, user management, creating user interfaces with KSS, and more. The fourth and last part of the book addresses real world deployment of one's extensions, including Zope server management, production server setup, LDAP authentication, and possibilities for the future. Unlike most technical books, the author provides at the end a brief yet worthwhile section on where the reader can go next to learn more along the same lines as the book. The brevity of the section is certainly not from a lack of knowledge or helpfulness on the part of the author, but rather the dearth of information available to developers interested in learning about how to extend Plone.

There's a great deal to like about this book. The author clearly possesses the expertise and experience needed for providing instruction on a challenging topic such as this. His explanations are not abbreviated, as seen in so many other technical monographs. Furthermore, most programmers learn best by viewing and mentally dissecting sample code. For such people, Martin Aspeli's practical approach — focusing on a substantial sample application — will prove more engaging and instructive than the made-up and oftentimes overly simplistic examples found in many computer programming books — including the increasingly popular cookbook titles. On the other hand, by placing almost all of the discussion within the framework of a single sample application, the author diminishes the potential of the book for reference purposes. To benefit the most from this book, the reader definitely would want to work through all of the chapters, in detail, and in the order presented.

In presenting the many steps of creating the case study application, the author provides a generous amount of information on what he considers to be best practices, to make the Plone development process more reliable, and the resulting code easier to maintain and further extend in the future. The confident authority with which the author covers these principles, and the validity of the examples provided, demonstrates his knowledge of the subject matter, and reassures the reader that the author has the experience to provide reliable technical guidance.

In terms of prerequisites, readers should have a solid familiarity with Python and Plone. The book covers Plone version 3.0, but still would be of value to developers who have not yet upgraded from an earlier 2.x release.

Professional Plone Development is definitely best suited for Plone developers and administrators from the intermediate to advanced levels. However, even someone fairly new to Plone, would benefit from what it offers. In fact, carefully working through all of the material, and taking the time to really understand it, could take a developer from the beginner to the intermediate level. With further experience, subsequent rereadings of the book would likely yield further insights. It's that kind of book — meaty and in-depth, and not in any way a shallow "dummies" book.

However, there are some criticisms that should be leveled against this book, although none of them have anything to do with the writing of the author or the sample code. Rather, these are recommendations for future improvement directed to the publisher. First and foremost, the book's print on the page, is quite shiny — and not in the sense of a "Firefly" compliment. Rather, it reflects light as if the ink were extremely glossy. As a result, depending upon the placement of one's reading light, the page being viewed invariably has a large shiny spot, forcing the reader to keep rocking the book back and forth, relative to the light source, in order to shift the glare away from the section on the page that is currently being viewed. Of the hundreds if not thousands of technical books I have read, this is the only one with this type of printing, and I hope it is the last. This problem is not seen with the largest text of all, such as "Part N" at the beginning of each of the book's four major parts.

The images in the book, of which there are few, have a high degree of pixelation, which makes them look cheap, though it certainly does not make them impossible to read. As with the book's text, the pictures suffer from the same annoying shininess.

Earlier it was mentioned that the prospective reader can order a copy of the book from the publisher's Web site. However, I would not recommend this until the publisher improves the way that they package their books for shipping. Rather than enclosing the book in a plastic bag or a piece of clean wrapping paper, to protect it, the book is placed bare inside of the shipping box, in which it bounces around during transit, as it makes its way to the purchaser from the shipping/distribution facility. Consequently, the corners and edges of the book are easily curled, and the outside surfaces of the book's cover are scratched from the imperfections found in the shipping box's interior. This shows what can happen with books that are mailed with no internal protection. Publishers should not assume that what the shipping department sees when they place the book in the box, is what the customer sees days later when they receive it. Fortunately, this book is available from all major online booksellers, including the 11 firms listed on the publisher's Web page, for various countries. While this might not guarantee better protection of the book's cover, I have had far fewer similar problems with Amazon.com, for instance.

Despite these production flaws — all of which can be corrected — Professional Plone Development is a worthy addition to the library of any Plone administrator interested in making the most of their Plone installation, any Python developer who wants to create Web sites without reinventing the wheel, and any professional programmer interested in taking advantage of the growing demand for Plone developers.

Michael J. Ross is a Web developer, writer, and freelance editor.

You can purchase Professional Plone Development from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

Sorry! There are no comments related to the filter you selected.

ZOPE (4, Informative)

neo (4625) | more than 7 years ago | (#21269703)

When my friend and I were creating an offshore gambling application for a sports bookie in [censored] we decided to go with Zope. Our decision was made on a couple factors. Mandrake could encrypt both disk and swap out of the box, Zope had (has) an incredible security model, and very few sports betters would likely to know Python. (Yeah, you with the glasses, I know all about you. I know you exist but you weren't on our books).

In any event, when we looked at Plone we ditched it immediately. It was too much. We lost all the abilities to control the minutia of any given piece that we wanted and the bubble up ability of Zope was more or less lost.

I'm NOT saying don't use Plone. It has a lot going for it... but don't forget to look under the hood and see if straight Zope will do what you need first.

Re:ZOPE (0)

Anonymous Coward | more than 7 years ago | (#21269843)

Why did you go straight ZOPE, instead of ZOPE running behind Apache? On the Plone website itself, it suggest using the previously described method.

Re:ZOPE (1)

Just Some Guy (3352) | more than 7 years ago | (#21269915)

Why did you go straight ZOPE, instead of ZOPE running behind Apache?

He never said that. He said straight Zope as opposed to working with the higher-level Plone layer.

Re:ZOPE (1)

neersign (956437) | more than 7 years ago | (#21270025)

this is my first time hearing of Plone and Zope. After reading the websites of both projects and this review, I don't really understand your comment. From what I am reading, Plone is run ontop of Zope. So, if you didn't like what Plone had to offer, then you basically wrote your own Plone competitor to run ontop of Zope, while your comment leads me to think that Zope is a Plone competitor.

I guess I would call Zope a "window manager" and Plone a "Desktop Environment". Does that sound about right? Or would Zope be more like x.org, in this analogy?

Re:ZOPE (1)

neo (4625) | more than 7 years ago | (#21270387)

Zope is a very open ended content management system. Open ended is almost too lax a term. It's more like a content management SDK. Very open to modification and robust (excepting the database). Plone uses this environment to build on top of and Zope makes a great foundation. Plone does what it does so well because Zope does what it does so well.


Zope: Framework
Plone: Application on top of Zope.

What is the Zope? (2, Informative)

Wheat (20250) | more than 7 years ago | (#21276821)

I guess a good analogy in regards to the Zope that Plone runs on would be "Python is the 'GNU/Linux', Zope is the 'GNOME', and Plone is the 'Firefox'".

Zope has been around for almost 10 years now, so when people say "Zope" they can mean very different things. Zope 2 was originally used as a content management systems and a through-the-web development environment using the Zope Management Interface (ZMI). This was way back in 1998-2000 when web sites were simpler and mixing these UI of these two applications into one didn't seem so egregious at the time. Today the ZMI still exists, although it is only used to do more advanced customizations to a Plone site. Plone still runs on Zope 2, but Zope 3 was developed starting in 2001 as a from-scratch rewrite. Initially there was the idea that Zope 3 would replace Zope 2, but Zope 3 was also designed to be an extremely "loosely coupled" system - Zope 3 is sometimes called "The Framework without a Frame". Zope 2 started to ship the majority of Zope 3 as libraries, only of course it was still Zope 2, and called Zope 2 except it has Zope 3 inside of it and Zope 3 the standalone framework was also still available and this confused the heck out of everyone. Today Zope 3 is primarily used as a suite of integrated libraries - many of these libraries are now available packaged as Python eggs, and the current Zope 3 focus is on improving the ability for any Python web application to only use "small pieces" of the Zope 3 libraries. Finally there is Grok, which takes the Zope 3 libraries and applies the practice of "convention over configuration" to give you a Ruby on Rails like development experience, while still retaining all of the wonderful capabilites of the Zope 3 library such as a sohpisticated security system and the component architecture.

Re:What is the Zope? (2, Interesting)

nuzak (959558) | more than 7 years ago | (#21277563)

Grok actually makes me interested in Zope 3 -- because ZCML makes J2EE's XML configuration look sane. It's perhaps a perfect example of how not to write a configuration language, and especially how to not write an XML configuration language.

I just wish I could find decent documentation on Zope3. The greatest fear of the Zope 3 development community seems to be that someone might someday actually be able to use it.

Re:What is the Zope? (1)

Jansingal (1098809) | more than 7 years ago | (#21324963)

cant get a better anology than that!

Use the right tool for the job (4, Informative)

dracvl (541254) | more than 7 years ago | (#21270093)

Plone is a Content Management System, not an web application framework.

Writing a gambling application in Plone is absolutely not what it's built for, in those cases you should use something that fits the use case better -- Zope 3, Django, TurboGears or Pylons come to mind if Python is your language of choice. They are all excellent frameworks, Plone is much closer to an application than a framework.

-- Alexander Limi, Plone co-founder

Re:Use the right tool for the job (1)

neo (4625) | more than 7 years ago | (#21270309)

Exactly me point. I don't want to take anything away from Plone, but I want to show that Plone is built on something pretty nifty in it's own right.

Re:Use the right tool for the job (0, Redundant)

DrunkenRoach (264547) | more than 7 years ago | (#21271535)

The problem being that Plone developers insists in using it for everything, if they followed your advice there would be a lot less (really a lot less) applications made in Plone, and this would be a better world.

Re:Use the right tool for the job (1)

iamskelter (729807) | more than 7 years ago | (#21278099)

Your argument would be lot stronger if the person you were replying to (Alexander Limi) wasn't a major contributor to Plone.

Re:Use the right tool for the job (1)

hedleyroos (817147) | more than 7 years ago | (#21278777)

Oh come on Limi - you're selling yourself short!

I'll write a gambling application in Plone because I get to rapidly model the app with ArgoUML, generate my skeleton code and fill in the missing code and templates.

Plone has excellent UI which I can just re-use. It is quite easy to strip away what I don't want, or conversely to build a minimal design from scratch. In fact, in many cases I use Plone as a "thin" layer over Zope.

Re:ZOPE (1)

amaupin (721551) | more than 7 years ago | (#21270291)


I've used Zope as the backend for everything from an online dating site to a simple online game store. It's easy to extend and unless you want to copy Plone.org you should look at the wide variety of already available Zope products before installing an extra layer of abstaction.

I looked at Plone a few times over the years but it just appeared too crufty and since Zope supports Python scripts it's easy enough for a competent programmer (of which even I'm not!) to roll their own solution.

Re:ZOPE (1)

regebro (636069) | more than 7 years ago | (#21272081)

Well, Plone is a content management system. An offshore gamling application doesn't exactly sound like a CMS site... So even if you had liked what was under the hood, you probably wouldn't have ended up actually using much of it. :)

Of Michael? (0)

Anonymous Coward | more than 7 years ago | (#21269707)

Read below for the rest Of Michael's review.
Was that a typo? Did you mean to say Of Montreal's review? And, if so, why would a band review this book?

SLASHDOT SUX0RZ (0, Informative)

Anonymous Coward | more than 7 years ago | (#21269747)

.| |
professional goatse development [goatse.ch]

mmm Plone (0)

Anonymous Coward | more than 7 years ago | (#21269789)

i like pepperoni on my Plones

eeh whaaa? (0)

plasmacutter (901737) | more than 7 years ago | (#21269835)

i'm pretty tech minded, but i'd never heard of this, so i go to the site to read up on it, I dig 3 pages deep looking for a general description and this is as close as I am right now.

Plone is a content management framework that works hand-in-hand and sits on top of Zope, a widely-used Open Source web application server and development system. To use Plone, you don't need to learn anything about Zope;

so let me get this straight.. i go to the about page to learn about plone, and now not only do i not know what plone is, but now i need to know what zope is too. Let's hope plone's site designers are not also responsible for zope's front page : )

the really funny irony is how the front page touts the latest and greatest in usability design, but apparently their website can't even give people a quick link to what exactly plone is.

i'll be getting giggles about this for at least the rest of the day.

Re:eeh whaaa? (1)

Abcd1234 (188840) | more than 7 years ago | (#21269931)

i go to the about page to learn about plone, and now not only do i not know what plone is,

Wha? The description says:

"Plone is a content management framework"

What else do you need to know. Unless, of course, you don't know what a CMS is, in which case you shouldn't be bothering with this article in the first place.

Re:eeh whaaa? (2, Insightful)

MarsDefenseMinister (738128) | more than 7 years ago | (#21271421)

Some people might not know what a content management framework is, but it's damn rude to say that he shouldn't be reading the article if he doesn't know.

Whatever happened to the old idea of learning something new? Whatever happened to being a friendly neighbor?

Re:eeh whaaa? (0, Flamebait)

Abcd1234 (188840) | more than 7 years ago | (#21272049)

Well, given it's a book review about how to perform advanced configuration of a lower-level content management framework, I would contend it's probably not of particular interest to him. That's not to say he can't, or shouldn't read the article, but he sure as hell shouldn't be surprised if the topic doesn't make much sense to him, and he definitely shouldn't complain if that's the case, and instead spend more time educating himself.

Re:eeh whaaa? (0)

Anonymous Coward | more than 7 years ago | (#21284437)

Plone certainly has its place, and is a great tool if you need to get up and running quickly. I consider Plone more of a mix of Web Content Management, portal and application framework all wrapped into a package, which depending on your requirements can be a good or a bad thing.

If you want a WCM tool on par with the likes of enterprise offerings from Documentum and Interwoven, however, Alfresco is most definitely better candidate. Content preview virtualization, workflow, versioning and a push publishing model (complete separation of the public web site from the WCM tool) are all key features that stand out as necessities in the enterprise, and Plone won't hold a candle to Alfresco.


Re:eeh whaaa? (1)

Just Some Guy (3352) | more than 7 years ago | (#21269955)

i'll be getting giggles about this for at least the rest of the day.

I bet "America's Funniest Home Videos" has you in stitches, doesn't it?

Re:eeh whaaa? (0)

Anonymous Coward | more than 7 years ago | (#21271313)

Damn straight it does! How about the one where the toddler boy hits his dad in the nuts with a wiffle bat? Nothing can top that!

Re:eeh whaaa? (0)

Anonymous Coward | more than 7 years ago | (#21269965)

I think the plone documentation [plone.org] , gives a good overview of exactly what plone is and what it does.

Re:eeh whaaa? (1)

asphaltjesus (978804) | more than 7 years ago | (#21270099)

I run both so I have some insight.

Plone is a content management framework

A simpler way to describe it is as a content management system. But that's actually kind of a limited definition of it. Think of it as features on top of Zope.

What's Zope? Zope in this simple example is the guts of the content management system. The big advantage the entire system has is the design is more robust and scalable (ex. clustering) and has far better developer interface than your average PHP cms. (Drupal I'm looking at you)

Change management in general is not pretty and while they claim postgresql support, it's actually quite limited. It's great for more rapid development and small sites. But if your infrastructure already has clusters, then you would want to look very closely at Plone and perhaps even Zope.

Re:eeh whaaa? (1, Insightful)

Anonymous Coward | more than 7 years ago | (#21270897)

The title of the plone.org front page is "Plone CMS: Open Source Content Management".

That should give you more than a clue as to what Plone is.

Right below it, under "What is Plone?" is a link: "What is A CMS?"

I think you should click that and read it.

It's your ignorance, not someone else's design/usability flaw.

I can't believe this got a 5 rating - sheesh.

Re:eeh whaaa? (1)

seanmeister (156224) | more than 7 years ago | (#21270997)

apparently their website can't even give people a quick link to what exactly plone is.

You mean, other than the obtusely-titled "What is Plone?" section on the home page?

I think you should get your Braille reader checked out.

Re:eeh whaaa? (1)

heinzkunz (1002570) | more than 7 years ago | (#21271527)

i'm pretty tech minded, but i'd never heard of this, so i go to the site to read up on it, I dig 3 pages deep looking for a general description

What? Right on the start page on plone.net, directly beneath the headline, I can read the following description:

"Plone is a leading open source Content Management System, and people use it to run their web sites, intranets and extranets."

It's a CMS.

If you want to know what it can be used for, I suggest you read the case studies. They shouldn't be difficult to find either, because they are introduced right below the text I quoted above:

"Curious about what sort of things Plone is used for? Read case studies [...]"

Maybe you were looking at some other site??

Re:eeh whaaa? (3, Informative)

Just Some Guy (3352) | more than 7 years ago | (#21273697)

Let me make this short and sweet:

Zope, a widely-used Open Source web application server and development system.

Zope is kind of like Cold Fusion. It defines a lot of components that you can link together to build a website. For example, you have page template objects that contain all of the HTML you will be sending to visitors. Those templates have fill-in-the-blanks parts that you can populate with the output of a Python (or Perl) script or with the results of a database query. It also includes all the authentication software pre-written so that you don't have to cobble together your own, and a security system that gives you fine-grained control over which visitors can access which objects. With us so far? OK...

Plone is a content management framework

Plone is an application written in Zope, more or less. It's a "content management system", meaning that it's designed to let users upload data to it and make changes. There's an almost infinite number of ways to say which users can perform which actions. For example, say you're running a newspaper website. You can say that users in the "reporter" group can access to upload content, but not to actually make that content available to random visitors off the Internet. People in another group, "editor", don't have permission to upload new content but they can make changes to what "reporter" users have added and then mark the content as "ready for publishing". Then people in the "section editor" group can look at content that has the "ready for publishing" flag set, and if it's truly ready for the world to read, they can set it to "published". Otherwise, they can send it back to the junior editors.

Maybe in your organization, you only have "reporters" and "section editors". A good CMS would let you remove the "editor" role so that it's no longer used. Also, Bob Smith may be a "section editor" for the Sports section, but a "reporter" in the local news section. Again, a good CMS will let you set this up.

But that's only one example. Blogging software is another kind of special-purpose CMS, often giving the blogger permission to allow comments to his posts and edit or delete them. My company uses an internal CMS for blogs, a message board, and a vacation board. Only certain users can add "vacation" events to the calendar. Other users can write blog entries. Everyone can comment on the message board.

Basically, a CMS does exactly what it says: it allows you to manage (typically user-generated) content. If you find yourself writing a site that allows visitors to upload data for other people to see, you're probably better off installing a CMS and letting it handle all the details you're likely to forget.

So there, Zope and Plone explained. Does that clarify matters?

Re:eeh whaaa? (0)

Anonymous Coward | more than 7 years ago | (#21280719)

>> >> To use Plone, you don't need to learn anything about Zope;

>> so let me get this straight... now i need to know what zope is too.

No, but you may want to work on reading comprehension. Reading Is Fundamental.

Plone vs. everything else (5, Informative)

Just Some Guy (3352) | more than 7 years ago | (#21269839)

I love Python. In fact, I wrote a short magazine article [freesoftwaremagazine.com] about how much I like it (although I admit that the promised sequel never materialized; sorry Tony). Having said that, working with Plone was like pulling teeth. It's obviously a nice system with huge potential and excellent customization options, but the learning curve is enormously steep.

We ended up abandoning our Plone intentions and moving toward Drupal for pre-made CMS stuff; even if I don't like hacking in PHP, hundreds of other people have already done most of the work [drupal.org] for just about anything we might conceivably want to do. For true web application development beyond content management, we switched to Django and haven't looked back. If you already know Python, Django's learning curve is exceedingly shallow.

I don't hate Plone. It's just that it didn't seem to offer anything more than its competition, and that's from someone who already built a large web application in Zope (which is the platform Plone is built upon). Having said that, this book and others like it can hopefully make it a lot easier to get started with Plone development. It has great possibilities if you can get past the startup cost.

Re:Plone vs. everything else (1)

bugs2squash (1132591) | more than 7 years ago | (#21270009)

I've deployed plone extensively inside my organisation, it automates the monitoring and configuration of almost everything we do across Cisco, Windows and linux platforms, it's great. But I will say that the documentation I've read over and over again has failed to give me much confidence that I understand it.

Every time I've had a question the online forums have answered them fantastically quickly (better than any Cisco TAC case I've ever opened), and the answer has always seemed obvious and intuitive once I had the answer. But there's no-way I would have guessed what to do by reading 'The definitive guide to Plone' or just messing with the portal.

I remember when I first looked at Zope I instinctively thought it was what I wanted, but it took several hours of reading on their web site to figure out what it actually did. So far as I could tell on first reading it was some form of geek religion.

Real propellor heads out there may think me lame, but I consider myself to be a pretty smart guy, and there's just something about Zope and Plone that I find difficult to grok, the solutions I've made with it are wonderful solutions, better than anything I've been able to find to buy and better than anything I could have spec'd to a third party developer, but underneath I've implemented them clumsily and I've not yet found a book that will help me make the solutions elegant.

Maybe this book will be the one that makes me confident enough to let my Portal shine on the internet, rather than just lock it away on an internal network for fear of its security.

Re:Plone vs. everything else (1)

DigitalSorceress (156609) | more than 7 years ago | (#21271713)

"there's just something about Zope and Plone that I find difficult to grok"

Zope and Plone have notoriously steep learning curves... in fact, my former boss said they were more like cliffs or mountains than curves.

For me, the key to success was to take a bit of time to learn Python. If you can "think in Python" suddenly Zope and Plone make a lot more sense. The Zope Object DataBase (ZODB) is essentially just a big collection of Python objects, so using Python can give you a lot more precise control over just about everything in the environment.

Re:Plone vs. everything else (0)

Anonymous Coward | more than 7 years ago | (#21271087)

Open your mind to the possibility that you just haven't found a use-case for Plone, or that you just don't know enough about Plone to know when it is a good fit.

Many others have: http://plone.net/sites [plone.net] .

Re:Plone vs. everything else (1)

div_2n (525075) | more than 7 years ago | (#21271971)

The one thing I didn't see after (attempting) browsing through those modules is a desktop explorer integration piece.

Plone has this with some software from Enfold Systems. The general idea is to have an ultra quick and easy way for content managers to browse to files, open them, save their work back to the CMS and retain version history along the way.

The Enfold solution is almost there. It does everything except retain version history with the saving of files.

Plone with the Enfold Systems add-in is everything we want assuming versioning is added in soon--a CMS with straightforward intranet/extranet capabilities.

The benefit is a quick and easy way to publish documents internally and externally to customers.

If Drupal has that, I'd love to be able to evaluate it. If it doesn't have the desktop (yes, Windows) integration piece to easily open and save files, I'm not interested as this is an essential piece.

Re:Plone vs. everything else (1)

Just Some Guy (3352) | more than 7 years ago | (#21272207)

If Drupal has that, I'd love to be able to evaluate it. If it doesn't have the desktop (yes, Windows) integration piece to easily open and save files, I'm not interested as this is an essential piece.

Well, you bring up an interesting point: everyone has different requirements. Desktop integration is completely unneeded in my company, so its (apparent) lack in Drupal doesn't matter to us. Similarly, I'm sure there are Drupal modules that don't have Plone equivalents that somebody depends on every day. I have nothing at all against Plone - if anything, being a Zope shop I'd like to see it come out of hiding and build a big developer community.

It just doesn't meet our needs today, that's all. If it works for you, great! That's one more shop that can count on FOSS software instead of proprietary equivalents.

Re:Plone vs. everything else (1)

div_2n (525075) | more than 7 years ago | (#21272593)

I'm using FOSS wherever I can. A preliminary use of Linux on the desktop is showing great promise. If the WINE folks can work out their regressions and make some further progress, I foresee Linux replacing many desktops.

Re:Plone vs. everything else (1)

Just Some Guy (3352) | more than 7 years ago | (#21273373)

That's almost where we're at. We have exactly one Windows-only app that the majority of our employees use, and it's developed in-house. We're moving towards replacing it with a web app, or possibly a Python+QT/GTK GUI. When that happens, there will be no technological reason for us to stay on Windows.

Sysadmin that does hate Plone/Zope (0)

Anonymous Coward | more than 7 years ago | (#21273039)

I'm a Sysadmin that had nothing but problems and headaches with Plone from day 1 implementation. Plone itself can't even stand up by itself, it will buckle and crunch under any kind of load without Squid or some sort of web cache in front of it. Plone is quite buggy and a resource hog to boot, significant memory leaks are quite common.

If you are thinking about going with Plone as your content management system, be prepared to spend a great deal more money on developers/coders to write custom widgets to get what you want done.

It isn't for the faint of heart, but if you really like python and really enjoy having to spend many late nights trying to figure out why something that should be working won't work, then by all means, take the plunge.

Take a look at Mambo or something else before going with a Zope/Plone implementation. I do have one compliment to give to Plone, the Zeo backend works very well and we never had a problem with Zeo. Zeo is the storage facility that you can use for Plone.

Remember though once you pick a CMS, you are pretty much locked in for life on that CMS, so choose wisely.

Re:Sysadmin that does hate Plone/Zope (1)

Wheat (20250) | more than 7 years ago | (#21276937)

I've delegated Zope/Plone sysadmin responsibilities to people who little about Linux let alone system administration and they were able to keep Plone running without too much effort.

Perhaps you were trying to deploy on Solaris? I've heard Zope runs not-so-good on that OS.

Plone's focus is on being a CMS. It is also often used as a content deployment system, but it doesn't have to be. Products such as Entransit let you manage content in Plone, and then push it out into a relational database/XML formats if your web site happens to already have significant investment in other technologies (ASP/PHP/etc)

http://www.enfoldsystems.com/Products/Entransit [enfoldsystems.com]

Re:Plone vs. everything else (1)

LurkerXXX (667952) | more than 7 years ago | (#21275991)

I went to the Drupal site. It didn't say anywhere I could see what language it was based on. If you hadn't mentioned php in your post I would have been at a total loss.

These platforms all need to spell out what language they are based on a lot better than they do.

Re:Plone vs. everything else (2, Informative)

Just Some Guy (3352) | more than 7 years ago | (#21276361)

These platforms all need to spell out what language they are based on a lot better than they do.

From the download page [drupal.org] :

Note: Drupal works with PHP 4 & 5. If you need support for the newest PHP 5.2, however, you must use Drupal 5.1 (and higher) or Drupal 4.7.5 (and higher)

Beyond that, why would you care? Either it has the features you're looking for or it doesn't. It's expected that the majority of users of such a thing will just want to install and use it, not hack on it. Put another way, off the top of my head I don't know whether Firefox is written in C or C++ and don't really care. As an end user, it doesn't matter to me. So it is with Drupal for most of its audience.

Do not read that as a defense of PHP. I personally can't stand the language. That doesn't stop me from thinking that Drupal itself is a brilliant solution for the needs I had, any more than I'd stop liking Firefox if I found out that it was written in Visual Cobol--.

Re:Plone vs. everything else (1)

LurkerXXX (667952) | more than 7 years ago | (#21276787)

I think if you look at the % of firefox users who hack firefox to mod if for themselves, and the % of any web framework users who who hack on their framwork, you will find the second numer is much much higher than the first.

Firefox also doesn't require me to have C++ installed on my machine. Drupal does need php to be installed on my machine.

They are very different things.

Why care? (0)

Anonymous Coward | more than 7 years ago | (#21286721)

The whole stack does matter. I don't want to have to care what Firefox is written in, but reality occasionally intrudes and I have to go poking around under the hood to resolve some issue, introduce a feature, mitigate some security problem, etc. If all I did was browse the web with Firefox then these situations might be rather rare, and I could just get away with filing a report in bugzilla, but if I'm building applications or extensions off of it as a platform then it becomes more common.

Plone for CMS, for everything else there's Grok (0)

Anonymous Coward | more than 7 years ago | (#21279519)

If you're looking for a powerful CMS to to "CMSy" things then Plone is great. If you want to customize Plone, then this is DEFINITELY the book. If you want to create a web application but aren't a rocket scientist, then it may make more sense to look at something like Grok [zope.org] . Grok is "web application development for cavement (tm)".

Phone development? (0)

Anonymous Coward | more than 7 years ago | (#21269871)

oops..i read it as Professional Phone Development
maybe I am too much occupied by mobiles, open handset alliance, iPhones nowadays...

Whats yer poison with python then (1)

unity100 (970058) | more than 7 years ago | (#21269947)

The cmses, which are generally based on php/mysql, fall little short of doing housework, laundry and cooking. One can do everything with them. So ? whats the racket about 'professional' development on a cms on pythong ? it doesnt go professional unless there are hundreds of thousands of people using it, and using it for serious ends, like oscommerce.

Re:Whats yer poison with python then (1)

aclark4life (639571) | more than 7 years ago | (#21271011)

There *are* hundreds of thousands of people using it, millions even, see: http://plone.net/sites [plone.net] . Akamai, Novell, CIA, Discover Magazine, to name a few.

nay (1)

unity100 (970058) | more than 7 years ago | (#21273119)

"using it" does not mean who actually use it as a client/visitor. user here means the provider of that service, ie the company utilizing it. cia and so on do not count as examples in that. even if they deployed sh*t, people would have to use them. no choice.

Re:Whats yer poison with python then (1)

regebro (636069) | more than 7 years ago | (#21272185)

The poison with python is that it is a FANTASTIC programming language. That's what. :)
Sure, for the end user with their CMS it doens't matter what the CMS is written in. But me, who writes it, I care. :)

there are many fantastic things on the world (1)

unity100 (970058) | more than 7 years ago | (#21273157)

yet, fantasticness does not justify widespread usage.

Re:there are many fantastic things on the world (1)

regebro (636069) | more than 7 years ago | (#21278633)

When it comes to languages, they do, as the word "fantastic" when it comes to languages can be translated to "something that is justified for widespread usage". :)

A more reasonable comment from you would have been to ask what makes it fantastic. But you didn't ask that, so now you may never know. ;-)

well (1)

unity100 (970058) | more than 7 years ago | (#21278881)

Mona Lisa is fantastic. Can it be used widespread ? Is it relevant ?

Moreover, even if that word was fit to use in that fashion, the simple fact that it is not in widespread use would mean that it wasnt that 'fantastic'. Volkswagen beetle would be in 'fantastic' category then, likewise "ibm compatible personal computers". but not python.

Re:well (1)

regebro (636069) | more than 7 years ago | (#21348363)

If Mona Lisa is a fantastic programming language, then yes. If it isn't then your reply is irrelevant.

"the simple fact that it is not in widespread use would mean that it wasnt that 'fantastic'."

Eh... no.
I said that if a programming language is fantastic, that justifies widespread use. Notice the words "justifies".

First of all, you just did the most basic and fundamental of all stupid logical errors. The statement "If A then B" does NOT mean that the statement "If B then A" automatically is true.

Secondly, I said it *justified* widespread use. I did not say that if would *have* widespread use.

Two big stupid errors in one go. You should give up now.

Zope/Plone: best to avoid. (0)

Anonymous Coward | more than 7 years ago | (#21270037)

A few years ago, the company I was with needed some web application development done.

We chose Python for all the usual reasons: clean syntax, comprehensive libraries, large install base (for support), etc.

Python was a great choice, and when we started looking at web application frameworks, Zope seemed like a natural fit as well. It was based in Python, written by the author of Python, and seemed fairly popular (necessary for open-source support).

It was the wrong move. Zope and Plone failed miserably for us. Like all web application frame works, it made it easy to do some things, but other things were infinitely difficult. We spent countless man hours trying to add features we wanted in. After about 8 months of development (and dollars losses in the tens of thousands), we abandoned it for a purely Python based product (plus mod_python and some libs to spit out HTML).

It seemed to me that all the sites successfully using Plone were small mickey-mouse sites that occassionally published content. For them, I'm sure it is great. For real work however, it doesn't cut it.

Sites running Plone (4, Informative)

dracvl (541254) | more than 7 years ago | (#21270171)

I'd like to point out the sites currently running Plone:

http://plone.net/sites [plone.net]

Novell, Trolltech, CIA, Akamai, Discovery Magazine, Oxfam -- these are hardly small sites.

If you're going to troll, please at least troll on something that is close to the truth. :)

Re:Sites running Plone (0)

Anonymous Coward | more than 7 years ago | (#21270641)

I believe NASA's JPL [nasa.gov] is Zope (maybe Plone?) as well.

Re:Sites running Plone (1)

dracvl (541254) | more than 7 years ago | (#21271017)

Nope, .cfm is Cold Fusion -- but you are correct in that NASA uses Plone internally. Their public website is not Plone, however.

Re:Sites running Plone (1)

asv108 (141455) | more than 7 years ago | (#21271005)

I only tested a few, but it looks like Akamai and Novell are not running plone at the core webserver level. They might be using plone for some sections, but its not what your getting when you hit novell.com or akamai.com.

Re:Sites running Plone (1)

dracvl (541254) | more than 7 years ago | (#21271085)

This is a common setup, Plone is not used as the delivery engine -- it's used for content management. For large sites, this is usually how you do it no matter what your CMS is -- it's easier to scale, and has less complexity.

You use a CMS on the back-end that feeds into something that is capable of handling enormous amounts of traffic, normally caching proxies like Squid or Varnish.

Re:Sites running Plone (0)

Anonymous Coward | more than 7 years ago | (#21276129)

I only checked novell.com but it is running plone. Look at the HTTP source to verify. I agree with the next poster, in that Plone is not usually served directly, but through (usually) Apache, Varnish and Pound, which is the set up we use for the majority of our Plone sites.

Re:Sites running Plone (1)

Lodragandraoidh (639696) | more than 7 years ago | (#21282579)

You can run an Apache/squid SLB pool in front of a Zope/Plone implementation (this is typically used to improve performance and provide an extra layer of security). So - there is no telling how many sites are actually Zope/Plone on the backend.

Flexibility is the hallmark of python/zope/plone....

Re:Sites running Plone (0)

Anonymous Coward | more than 7 years ago | (#21276059)

If you're going to troll, please at least troll on something that is close to the truth.

That would not be on Slashdot, it would be on Bizzaro Slashdot in some parallel universe.

Re:Sites running Plone (1)

therealblacktar (1186981) | more than 7 years ago | (#21302405)

I'm happy to add, albeit belatedly, T-Mobile to the list of relatively large and well known companies that have adopted Plone. [Disclosure: I work for the responsible contractor. :)]

T-Mobile uses Plone internally Europe-wide (11 nations, 10 languages) enabling centralized managing and local printing of sales material at the PoS on demand.

I'll have a case study for plone.net ready soon, but in the meantime feel free to mail me if you have further questions.

Best Regards,
Vidar Andersen, Co-Founder of the Plone CMS

You can't lump Zope and Plone together (0)

Anonymous Coward | more than 7 years ago | (#21270489)

It is quite possible to use Zope without Plone. Back in 2001 I worked for an international laboratory company. We successfully hacked a rudimentary CMS out of Zope, Squishdot, some other plugins, and some custom DTML. The initial goal was a simple intranet whereby laboratory procedure documents could be stored and made consistent across numerous laboratories. It worked quite well, so we expanded the scope of the project to include online lab reports for high volume customers. Some of them were tired of getting 50+ reports per day via e-mail, so a searchable web-based repository was a real breakthrough (at least it was back then).

The Zope concept of a database that resembled a filesystem gave us massive scalability. Security was incredibly easy to manage -- LDAP for our internal users, Zope internal accounts for the customers. We had hundreds of thousands of reports online, for over 1000 users. Content was posted by laboratory offices all over the world. The server ran 24x7 with great uptime.

This became one of the largest Zope implementations ever attempted. The company went out of its way to avoid publicly exposing the details of how everything worked, for fear of enlightening the competition. After all, anyone could download the same products and build a knock-off in about two weeks.

We tried to implement Plone as an upgrade to Squishdot, but it was not successful. Performance was an issue, as was the overall complexity. The overhead of the framework was just too much.

Plone is pretty neat, but... (1)

joealba (36808) | more than 7 years ago | (#21270157)

Just be sure to apply the recent hotfix for a pretty nasty vulnerability.

http://www.heise-security.co.uk/news/98576 [heise-security.co.uk]

Plone is awesome (1)

Tracy Reed (3563) | more than 7 years ago | (#21270351)

I have been using it and developing apps for it for the past three years. There is a learning curve but it is worth it. There are some great videos about how easy Plone is to work with on the plone site:

http://plone.org/about/movies [plone.org]

Re:Plone is awesome (1)

anomalous cohort (704239) | more than 7 years ago | (#21273629)

Plone is great if it is a good fit between the requirements and developing custom document types within a CMS framework. The architecture is highly layered. The low level way of developing under plone has a non-trivial learning curve to it. The high level way is to use what is known as plone archetypes [plone.org] which makes it really easy to create custom document types. The skinning of the custom types becomes very easy using Zope's METAL [zope.org] technology which is a very cool page templating system.

I have discussed plone previously here [transitionchoices.com] and here [transitionchoices.com] .

Wub and Flizmo are interoperable (0, Troll)

poot_rootbeer (188613) | more than 7 years ago | (#21270513)

"Plone"? "Zope"? Please tell me that professional web developers are not attempting to use words as silly as these yet still be taken seriously.

Besides which, I heard somewhere that PL/ONE has a syntax worse than JOSS...

Re:Wub and Flizmo are interoperable (1)

Marcion (876801) | more than 7 years ago | (#21270589)

Well all good software has silly names, what's your problem?

Re:Wub and Flizmo are interoperable (1)

Bill_the_Engineer (772575) | more than 7 years ago | (#21270849)

Besides which, I heard somewhere that PL/ONE has a syntax worse than JOSS...

You know you're old when you get the joke... PL/I haha

Re:Wub and Flizmo are interoperable (1)

aclark4life (639571) | more than 7 years ago | (#21271241)

Zope stands for the "Z" object publishing environment ... not sure what that means, but you get used to it :-) Plone is the name of a (now defunct) techno band that Alexander Limi is a fan of.

Re:Wub and Flizmo are interoperable (1)

NicknamesAreStupid (1040118) | more than 7 years ago | (#21275163)

You might want to looks at Silva, also based on ZOPE. Not only is the name not silly, it also has great version control for content and uses XML for content metadata.

Very clear and informative review (0)

Anonymous Coward | more than 7 years ago | (#21270605)

This is a very thorough and informative review. Don't believe the flames in the comments, clearly majority are from people who had unreasonable expectations from a solid application. If you're a web developer looking for a CMS that will deliver the myriad of features your users are asking for without making your life miserable, Plone is the way to go. Get the book and Give Plone a try!

Re:Very clear and informative review (1)

odoketa (1040340) | more than 7 years ago | (#21273037)

Speaking as someone who had to deal with a myriad of CMSs in my previous role, the best answer is 'none of the above'. As a system admin with other things to do, I didn't find a single one of them to be intuitive and user friendly enough. Often, as another person commented, you can dig six levels deep in documentation and still have no idea what people are talking about. Implementation of basic features is often haphazard and illogical (except, of course, to the developer, who also often writes the hard-to-understand documentation). Don't get me wrong - these are tools with a great deal of power. But by and large they're a lot like many linux distros - if they don't work straight off you're in a world of hurt. There are several CMS comparison sites, many with useful feature lists and details on implementation. If you must put something up, use these to save yourself some hassles later on.

Plone! (1)

shurik (1185843) | more than 7 years ago | (#21270795)

I've been developing with Plone for 3 years, and admit that like any other complete web app out there there's a learning curve, but - Martin Aspeli's book is precisely the sort of clear and useful document a web developer needs to get started with an great application like Plone. It is also a solid guide for any seasoned Plone integrator to the direction Plone will be taking in the future.

Plone handles large-traffic websites (1)

BrDerby (629560) | more than 7 years ago | (#21270953)

The comment earlier that Plone only can handle small sites is completely refuted by facts. There are some seriously big sites using Plone, such as Novell.com, CIA.gov, Akamai's website, etc. As an example, I know for a fact that http://www.discovermagazine.com/ [discovermagazine.com] (Discover Magazine's website) got nearly 100,000 site visitors just yesterday and gets over 1.5 million page views per month currently. Bottom line, Plone is really powerful stuff. If you are doing a small rinky-dink site, it might be overkill (depending on what you want to do), but if you are building a site that needs strong workflow, security, internationalization, standards compliance, scalability, good usability for non-technical staff, automatic related content indexing, integrated search, or any other feature used in a modern high-end website, you could do a heck of a lot worse than Plone.

Re:Plone handles large-traffic websites (1)

BrDerby (629560) | more than 7 years ago | (#21273709)

Atkins website (http://www.atkins.com) is also a Plone site that gets a lot of traffic - millions of page views each month.

switched from plone to ruby on rails (1)

anselmhook (962411) | more than 7 years ago | (#21270991)

We started in plone, spent about $30,000 dollars on initial prototyping but found some problems and then rewrote in ruby on rails; redoing the same work for about $10,000 and being more complete. Granted our needs were not for the full plone capabilities, and granted some of the initial research we did in plone did rollover to the RoR version but the fact is nobody uses the full capabilities of plone and most of the features that one really needs can be easily written as small modules in say drupal or ruby on rails. I did have several specific criticisms of plone: Most seriously the database is too closely coupled to plone and doesn't support the kinds of independent access, orthogonality, scaleability, standard query language and many of the kinds of characteristics that we were used to with ordinary rdbms such as postgresql. It was exceedingly unclear as to how we would do replication and scaling with plones database model and this created fear for us. Granted there is apparently an ordinary sql database binding for plone but we want to have simple table structures; not some bizarre plone ODBMS mapping to an RDBMS. Secondly the templating grammer was hermetic, poorly documented and required a priesthood of plone experts to maintain - we wanted to also help participate in defining templates and the like and not always have to have the plone experts mediate our changes. Beyond this the python notation is terrible; verbose, clumsy, the white-space requirements are completely ridiculous and impositional. Basically it is an obsolete language. The state of tools and libraries for Python is also unclear; is twisted-python the state of the art? What are the right choices for socket handling and the like? At least with newer grammars the field has not been polluted by many half-baked solutions. The larger problem with plone is that it reinvents everything into python rather than being centered around a small pieces loosely joined philosophy. This is not dissimilar from Java and is a trademark of smart isolated people. This makes the learning curve too steep, makes the technology too fragile, and makes us all too dependent on experts who hold the secret lore. We were much happier rolling our own even with having to do work that is normally already provided (such as user account handling); not because we got the work done any faster per se but because we could open up the work to more participants and could separate roles between participants more easily. The ruby and php and like model of just being lightweight scripting languages, acting as a glue binding the database to the layout is much easier to deal with conceptually. I see plone as a pathologically bad choice; like RDF it is grasped at when somebody has unclear goals, and wants to avoid nailing down their specification. In reality most projects consist of only a few specific modules of functionality and those modules can be written by hand or scraped together from other existing modules or source code on the net. This is not to say that Ruby on Rails doesn't have serious problems as well, or that the infinity of php based frameworks and cms'es don't have serious problems, but Plone was particularily hermetic, clumsy and obsolete. I raise it as a red flag in my advisory roles when I see teams suggest it now.

Re:switched from plone to ruby on rails (1)

optilude (233718) | more than 7 years ago | (#21271911)


I won't get into a language-or-framework argument - I am big believe in "right tools for the right job", and it sounds like Plone wasn't the right tool for you. If you didn't need a CMS, in particular, it was almost certainly the wrong tool. :-) Personally, I find Ruby syntax to be very convoluted, but that's mostly because I'm used to a different style of programming that fits my brain better. If Rails works for you, by all means use it!

However, I take some issue with the use of the word "obsolete". Maybe that isn't what you mean, but the evidence is pretty striking that neither Python nor Plone are obsolete They continue to grow and be used.

On another note, Zope and Plone do scale. The ZODB (Zope's object database) is both a blessing and a curse. It makes people a bit scared sometimes, but it's also been proven over the past ten years, and scales very well. I think an object model is more appropriate than a relational one for the kind semi-structured, hierarchical content structures that Plone generally deals with. For other use cases (more homogenous and table-like data) it's a bad choice. We're getting better at integration with RDBMS', mainly thanks to the awesome Python library that is SQLAlchemy. Chapter 12 deals with that. :)

On the issue of re-inventing wheels. There's certainly an element of that, both in the Zope and Plone communities. But I think that's true of any largeish open source community with its own cultures and values. Sometimes, we re-invent out of ignorance, sometimes out of convenience, sometimes because we have no choice. In the Python world, though, WSGI and eggs, two recent technologies (much younger than Zope or Plone) are making intra-framework co-operation easier. The Zope and Plone communities are embracing and experimenting with these tools, not at least through an embryonic project called Repoze (http://repoze.org).

Saying that Plone is a "pathologically" bad choice is only true if viewed in light of the kinds of projects you seem to work with: those that "consist of only a few specific modules of functionality and those modules can be written by hand or scraped together from other existing modules or source code on the net." I've not really worked on such projects in any serious degree. The projects I work on tend to be more complex, culturally and technically. Actually, that's not true. I've written small systems (those that don't need to deal with things like changing visual design, internationalisation, complex security models, ad-hoc workflows and so on), and I'd normally not use Plone for those. I would definitely use Python - for example through Pylons, which is probably on the other end of the scale. Interestingly, something like Repoze and WSGI actually make it possible to mix-and-match these types of applications.


Mod parent up! (0)

Anonymous Coward | more than 7 years ago | (#21271997)

Great response that clarifies the issues in a good way.

Re:switched from plone to ruby on rails (1)

reex (1185901) | more than 7 years ago | (#21272297)

Hi Anselmhook! This story is really sad - I would not have wanted to be in your place when you told your client or investors that you wasted 30.000$ on nothing and that you need to start everything from scratch, with another system, with another crew. I think there is a lot to learn from your story. First, there is no system that is a good choice for "any task". Plone has its strengnesses and also some drawbacks: it is an excellent choice for many solutions but as you point out too, it is not good for anything. Second, it needs expertise to develop with. It is a common mistake to believe that experience arrives without an effort. A good developer needs to be more of a craftsman then of a genious, and yes: plenty of learning and practice is required to become a good professional and carry out a project of the size that you referred. This stands for any system, although the learning curve of different systems may differ - as do the services they provide as well. And last but not least: personal choice has an important role, too. If, for example, you found "python notation .. terrible; verbose, clumsy, the white-space requirements .. completely ridiculous and impositional, ... an obsolete language" (- end quote): then you should not have started with python at all. Luckily, there are more excellent languages and choices out there, and it seems you could find the right choice for your taste in the end - although you learned it the hard way. The good news is for any future potential users of Plone is: that they don't have to pay the same price as you did. There are virtually hundreds of companies and individual consultants around, who are more then happy to give professional advice to companies who start with Plone - including advising you against it, in case your project is not fit for Plone. Plone also has an excellent developer community with a mailing list and irc channel, and I am quite convinced that if you had spend some time on asking your questions on these resources, you would have get more then friendly answers, and these answers would have saved you from most - if not all - of your later problems.

Re:switched from plone to ruby on rails (1)

Wheat (20250) | more than 7 years ago | (#21277075)

Sweet bejezus!

"Beyond this the python notation is terrible; verbose, clumsy, the white-space requirements are completely ridiculous and impositional". The Python syntax excels at creating maintainable software, yes some people take offense that Python is trying to take away their creative control of white-space and other common language styles, but this is only a boon when you have software that has to be maintained by more than a single developer. I would certainly raise the red flag to any team taking advice from someone who can't distinguish between their own personal development preferences and the attributes inherent in a particular technology.

@parent.points.each{|point| puts point.to_summary} (1)

patio11 (857072) | more than 7 years ago | (#21278519)

* Plone was excessive for our needs. We reimplimented the needed feature subset quicker in Rails than learning how to use the equivalent feature subset in Plone would have taken.

* Plone conventions in database management and templating were difficult to understand, even if you had a deep understanding of databases and web content creation, due to implementation idiosyncracies.

* I really dislike Python's syntax.

I think syntax is a "You say tomato, I say tomato" sort of point, but the first two points should be kept in mind both by folks designing web application frameworks and by folks trying to figure out which framework fits the needs of their current project.

(Incidentally, I think if you actually executed the ruby code above you'd find that it returns his entire post at the end. I'll spare you.)

Probably a requirement for Plone developers (0)

Anonymous Coward | more than 7 years ago | (#21271133)

As someone else here said already, working in Plone has been like "pulling teeth." A big, huge part of that problem is the lack of documentation, especially documentation relevant to all the new stuff in Plone 3.0. I do not own this book, I have not read this book, but from what little I have heard and read about it, I suspect this book is the best single piece of documentation you will find for Plone right now. The author has written a number of fairly useful tutorials on the plone.org web site, and a good amount of code, so I can only imagine that this book will have all of that information and more, and all updated for Plone 3.0. To reiterate: if you are determined to use Plone, especially Plone 3.0, I would highly recommend buying this book immediately.

As for Plone itself... I would love to say nice things about it, because the Plone people work very hard, ostensibly "for free" (see: consulting gigs, contract work), but at this point I wish I had never chosen it for my project. In fact, I wish there was more written about the problems with Plone (documentation, complexity, performance) so I could have known to avoid it. Take Alexander Limi's comment to heart: "Plone is much closer to an application than a framework."

Re:Probably a requirement for Plone developers (1)

optilude (233718) | more than 7 years ago | (#21271729)

Hi :)

Thanks for recommending my book. Although I am being paid royalties, the main motivation was precisely what you identified: we need more, and better documentation. I think this is a problem that affects quite a few open source projects, though.

I won't claim that Plone (or Zope) is small and lightweight (I do quite like Pylons, though). I do, however, find it to be one of the most productive tools I've ever used for delivering a certain type of solution - what I call "content-centric" systems. The book is very much about that. I think this type of problem fits many business use cases, perhaps better than enthusiast/single-person use cases. I run my blog in Plone, and it was a two-minute job to set up, but if all you want is a simple web site, then Plone may be overkill. Similarly, if you want to build an intranet or a complex multi-author publishing platform or a bespoke portal where semi-structured content will be key, Plone may be a good fit.

The single most important reason to love Plone, though, is the community. I have some incredibly good friends in the Plone community (and outside... I do occasionally leave IRC), individuals whom I respect and admire greatly. People are friendly, constructive and helpful, and we all actively welcome new contributors and interested parties. If you found Plone frustrating, and you're able to put that into the language of constructive criticism, we'd love to hear from you (http://plone.org/support) so that we can improve the system. We're not perfect, but we are also proud of what Plone does.

By the way, if you want to read a pretty in-depth and interesting case study of a Plone implementation, take a look at http://plone.net/case-studies/discover-magazine [plone.net] . Obviously it's favourable (and I'm biased), but it may give you a good flavour.


Thank you! (1)

optilude (233718) | more than 7 years ago | (#21271481)

Thank you for a fair and balanced review. I hope you enjoyed the book!

No go on Plone (1)

saltydogdesign (811417) | more than 7 years ago | (#21275361)

The university I work for considered Plone for some large-scale CMS concerns. We finally decided in favor of Drupal instead because PHP developers are a dime a dozen. We have plenty of in-house expertise, but thinking about hiring down the road it seemed best to us not to narrow our options for at best a marginal software advantage.

My 2 cents.

Re:No go on Plone (1)

TrueKonrads (580974) | more than 7 years ago | (#21280731)

I did once the same conclusion - I'd better write my app in PHP, because there are so many PHP coders, a dime a dozen. The truth was, that the coders for that dime where so lousy, that wiping after them was a real chore.
My conclusion was, that once the codebase grew out of "basic stuff" and went into OOP, the dime a dozen coders couldn't keep up and the salary for a guy who can do decent OOP in PHP is the same for decent Python coder.
It really doesn't pay off.

Re:No go on Plone (1)

saltydogdesign (811417) | more than 7 years ago | (#21280961)

I disagree. There are plenty of good PHP programmers. There are lots of crummy ones, it's true, but it's not like it's hard to find a really good PHP coder when you need one. There are just more in general. Besides which, our codebase (Drupal) is already written, and that's half the point. We want to be able to hire people who can get their minds around the CMS, not write modules from scratch. We employ a lot of designer/developers, and while it's plenty easy to find a designer with enough PHP skills to code (or quickly learn to code) Drupal templates, finding a Python developer with excellent design skills is a tougher job.

Re:No go on Plone (1)

Schraegstrichpunkt (931443) | more than 7 years ago | (#21283375)

There are lots of crummy ones, it's true, but it's not like it's hard to find a really good PHP coder when you need one.

On the other hand, you don't need a "really good" Python developer, because Python (unlike PHP) doesn't make it exceedingly easy to write buggy code that looks like good code.

Plone in SecondLife (0)

Anonymous Coward | more than 7 years ago | (#21275909)

Plone? These guys advertise their CMS in SecondLife. They stream video to virtual screens.

Plone is fantastic (1)

SlightOverdose (689181) | more than 7 years ago | (#21275919)

I've been using Zope/Plone as a development platform for years now (Since an early alpha of plone1.0), and I can honestly say it is without equal.

There is an incredibly steep learning curve and sub-par documentation, but once you get your head around it the speed and ease of development amazes everyone I develop for (And myself).

Having started using Java/Tomcat again for a project, It feels like taking several steps backwards. Apart from the the (imho) superiority of Python over Java*, The entire development process in Java feels antiquated, slow, error-prone, and difficult to scale (Not to mention Javas #1 Philosophy- if it aint broke, try adding XML).

I ended up writing my own framework to replicate my favorite parts of Zope/Plone (mainly Skins, ZPT, and Zope3 Views) and am feeling much more productive.

*I will admit, there are a lot of things- most notably typing and Interfaces- that I would love in Python, but overall Python wins over Java

Are ther any good cms? (1)

flukus (1094975) | more than 7 years ago | (#21276561)

Is there such a thing as a good cms? It seems like most designs seem to breakdown when there interdependencies between data.

Then again, I've only ever used DotNetNuke, which is a complete joke of an application.

A name like plone... (1)

crazyvas (853396) | more than 7 years ago | (#21277137)

...is plane bad.

Cue Grammar Nazi (0)

Anonymous Coward | more than 7 years ago | (#21279653)

You mean 'plain'
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?