Slashdot Mirror


Plone 2.0: eWEEK Reviews, Raves About OS Software

securitas writes "eWEEK Labs' Jim Rapoza reviews open source Plone 2.0 Web publishing portal / content management software and raves about the Zope/Python-based system. He liked it so much it garnered an Analyst's Choice award, beating out a commercial portal suite, Traction's TeamPage 3.01, reviewed in the same issue. The Plone 2.0 release was mentioned a couple of weeks ago on Slashdot."

19 of 189 comments (clear)

  1. The most important feature... by gmuslera · · Score: 3, Interesting

    ... for eWeek seems to be "commercial support", doesn't matter cost, functionality, adaptability, extensibility and other obviously wrong ways to compare CMSs. It don't matter either if there are other ways of support that could eventually be far better than the standard commercial support they are used to, if it dont fit in they preconcepts, it is bad, period.

  2. RHEL 3 support? by weave · · Score: 2, Interesting
    It looks like, from their supported release page, that for Redhat OSes, it's Redhat 9 or Fedora Core 1. That's a bit strange (to me) for RHEL to not be listed or have an RPM since businesses are being pushed onto RHEL.

    RHEL 3 packages Python 2.2.3. Is that high enough for it?

  3. Seems easier to sneak a spy into closed source. by Anonymous Coward · · Score: 1, Interesting
    Of course it's even possible for a foreign agent to sneak into a secretive oranization like this one .

    It wouldn't surprise me if some Closed-Source companies have foreign nationals working on their software as well.

    In either case, whoever's using software for National Security better audit the source code themselves. I wouldn't want missle systems to use Linux or Windows or some other RTOS without a careful audit.

  4. Re:More opensource CMSs by Anonymous Coward · · Score: 1, Interesting

    Sorry, the opensourcecms.org site turned me off instantly by requiring that packages be php + mysql before it would list them.

    For me, if php is the solution, then you're asking the wrong question.
    Especially with something that's likely to have to be extended in some way.

  5. Great code by fsterman · · Score: 5, Interesting

    Their outputted html is amazing, the CSS is elegant but very very powerful, they leverage as much of their Zope underpinnings as possible, it is quite extendable, has a nice management environment, international support is getting very good, and it's interface is great (they actually have interface engineers on the team), it is a very good CMS. It is easy to jump into too, there is a good amount of, if scattered, documentation. Being able to bridge between news sites and group-ware is pretty encompassing. It might not be the absolute best solution for every situation, but it is getting there with its plug in architecture.

    --
    Is there anything better than clicking through Microsoft ads on Slashdot?
  6. Re:More opensource CMSs by foniksonik · · Score: 4, Interesting

    You go and try to find a non-cutsey domain name without a hundred grand to throw down.... seriously, go try it.

    thanks for playing

    --
    A fool throws a stone into a well and a thousand sages can not remove it.
  7. Advantages of Plone by IWK · · Score: 5, Interesting

    We've been using Plone for a while now and for me it has a few distinct advantages:

    * Plone works *out-of-the-box* and is easy to extend and configure.

    * Plone provides excellent workflow support. A Workflow is the editorial chain used to manage documents. Creating new workflows is easy.

    * Plone is easily extended with external components ("Products" in Zope/Plone parlance). I run Plone with Zwiki (a wiki extention) and CMFBoard (forums), making for a very rich intranet site with loads of possibilities. Check out the The Collective or the Zope website

    * Plone comes with Archetypes, which is a framework which allows for the relatively easy creation of new content types (in Python)

    * It runs on Zope which is a very powerfull Application Server and Content Management System. Zope has got a rather steep learning curve, but its documentation has been improved and it has got a very supportive and vibrant user community.

    --
    Once in a while, I even pass the Turing-Test
  8. Re:Huh: My humble opinion by Notrace · · Score: 3, Interesting

    The minute I discovered Python, I never went back to PHP. And that's just for the sake of the language.

    Once you look into it, you'll understand that stuff like Zope really needs stuff like Python. Python really is that great and well worth learning.
    It really is more powerfull. And a lot easier, IMHO, to extend than PHP.

    Something else I do like about Python is that IMHO it is becoming the the facto scripting language in (at least) Linux. You can use it to create Gnome APPS, there is now a pretty good mod_python for Apache, and that's a lot faster than PHP, it can be embedded in PostGres ... Python talks to all the databases you want. You can do Python in Gnumeric, there are talks about integrating it in Openoffice.org ...
    Python has an OMG-defined CORBA-mapping, the latest I heard about PHP and CORBA was that it was in the works ...

    Although not entirely true, I feel PHP remains somewhat stuck in the realm of webapps. Please correct me if I'm wrong. And yes, I'm aware of php-gtk, PHP in PostGres ...

    For the record, my latest experience with PHP are 4.2.3. Things may have changed since ...

    Evert

  9. Re:Huh? by darnok · · Score: 4, Interesting

    > What is so special about Python and why should I
    > care?

    Glad you asked!

    I've also been writing software for 20+ years (God, is it really that long?) and Python is the nicest language I've come across for many types of task. No, it's not the "ultimate" language, but it's a very good fit for a lot of problem spaces.

    Key features:
    - it's very easy to learn (20-odd keywords, which is very few compared to most languages). In particular, any reasonably competent programmer will pick up Python and be coding well with it in a remarkably short time. Moreover, you can actually keep the entire language in your head; you don't have to resort to having language references at your desk, which makes a big difference when it comes to speed of delivering a solution
    - it runs on almost any platform
    - it discourages "individual coding styles"; most competent Python programmers would come up with substantially the same code to the same problem. This is unbelievably useful when it comes to supporting other peoples' code, or even your old code
    - OO support is both unobtrusive and very complete. Among other things, this makes "design by contract" a much easier goal to achieve, which goes a long way towards making "software project management" an achievable target rather than a tautology
    - it's a great general purpose scripting language. It's very nice to use the same language for scripting as for your "real" coding
    - it's a "batteries included" language. Although you have to use external libraries in many cases, the base set of libraries that come with Python cover a very wide set of technologies
    - it's mature enough that there's very few surprises in the language itself. When you have a problem, you can be pretty sure it's in your code rather than a compiler or library bug. Another benefit of this is that your Python code has a strange tendency to work first time; I spend very little time debugging my Python code compared to most other languages
    - although I write Perl code faster than Python, in productivity terms Python is quite extraordinary. I would write Python code 5-10 times faster than C/C++/Java/C# code, so I get to a working piece of code that much faster
    - Python is very good at talking to other code. I've found it's fairly easy to get Python talking to libraries written in C, and you can actually compile your Python code (using Jython) and call Java library code natively

    Finally, I'd have no qualms recommending Python as a prototyping language for almost any commercial app I've worked on. You may need to go back and rewrite it in another language later for security or performance reasons, but Python is the best way I've seen of creating working prototypes quickly.

  10. Plone Support and Accessibility by HammerToe · · Score: 5, Interesting

    I recently came back from the Plone Sprint in Austria. For those not familiar with sprints, this is where you get a bunch of developers in one place for a week to concentrate on development.

    Virtually all of the people there (there were ~50 attendees) ran their own small businesses (myself included, Netsight) that used Plone -- mostly providing installation, customization, and support. Most of these companies *depended* in Plone for their livelihood.

    What struck me the most was how business focused all of the developers were. This is something that really sets Plone apart from some of the other OSS projects out there. All of these people are making real dollars on developing this software, and hence *need* to have a business focus otherwise their businesses would fail. As technically great as many OSS projects are, many of them don't have the business drive to succeed.

    The second thing that really struck me was a demonstration by a blind woman from the local Institute for the Blind. Plone is known for being very hot on accessibility, but this was just amazing. The woman had half a day training, and was then able to enter content, add metadata and take it through a workflow -- all using a braille reader and text-to-speech software. And what is even more amazing, is that she doesn't speak any English, she was relying on the internationalization features of Plone to deliver a German version of the UI -- including all the alt tags and hidden things that screen-readers rely upon.

    --
    Matt Hamilton (aka HammerToe)
    Netsight Internet Solutions

  11. Re:Huh? by dotz · · Score: 2, Interesting

    As someone else already pointed out good sides of Python... Here's my $0.25 about PHP:

    "24 or so years" and "PHP - the language that seems elegant"... That's the best example, that even if you do something for a long, long time you can still be very, very wrong.

    PHP is not elegant and has a very poor object model. Also, it is pretty impossible to implement some of design patterns in it because of that. PHP has inconsistent API, PHP has a long way to go before it could be considered a serious language. Popularity? So what. Windows XP is also widely used.

  12. Real production Plone/Zope experience by Anonymous Coward · · Score: 2, Interesting

    I'm posting anonymously, for the obvious reasons.

    We're just about to ship a in-house web application to 50,000 users. We did a significant amount of the work using Python 2.3.3, Zope 2.7 and Plone 2.

    These tools made it possible for us to get some visually nice things out quickly, but they are a maintenance nightmare. To be able to leverage Plone 2, we had to update to a more recent version of Archetypes. We have to use 11 different components, of which there is no real support for 3. The people who have developed these modules are not really professional programmers, or even experienced Open Source hobbyists, which really shows in the quality of code.

    The worst thing about these products is that the documentation ends at the Python level. There are some web documents for Zope, but they are next to useless for serious developers (they explain how to get things done in Zope Template Language and present a few APIs manually, but lack any explanations about program flow, object details and other things that come so naturally in Java API documentation.)

    So, we're one month away from wide-scale deployment, our application has a response time of 1.2s per click, the code is unreadable spaghetti tangle of Zope Page Templates, Archetypes storage objects, all arranged as a Plone skin, because that's apparently the only _real_ way to extend that product, and we're still MISSING functionality because we have to work hard to get around problems in the platform.

    So - if you want a out-of-the-box content management solution for a small office, I'd recommend Plone heartily. If you're planning in doing _ANY_ modifications at all, keep away from Plone like it had rabies.

    Don't _ever_ start writing a UI in Zope Page Templates unless you know exactly what you're doing.

  13. No, really. Zope rocks. by Moderation+abuser · · Score: 2, Interesting

    "but they weren't revolutionary and didn't make me run through the streets naked, Archimedes-style."

    It's one of those epiphany moments when you start using it and developing for it. After Apache, Perl, PHP, ASP and all the other point tools. The thought is "Fuck me, *this* is how it *should* be done".

    Zope on it's own rocks. Plone on top is the icing. It's all free anyway, runs on every platform including Windows so you might as well try it for yourself.

    --
    Government of the people, by corporate executives, for corporate profits.
  14. Comments about Python and Zope. by Futurepower(R) · · Score: 2, Interesting


    Also see the comment below: Python is great. Zope is well-written and badly documented.

    From another comment below: PHP is horrible -- Experiences of Using PHP in Large Websites

    Eleven more reasons why Python is wonderful, from a comment below.

    From a comment below: Major problems with Zope and Plone.

    Correct link to Nuxeo's Collaborative Portal Server. Also, in French: CPS.

    No active Zope development community?

  15. But how efficient is it? by Micah · · Score: 2, Interesting

    The state of Open Source CMS's has been driving me nuts for quite some time.

    Specifically, nearly all are written in PHP. I have nothing against PHP in general -- it is a fine language for some things.

    But it is not inherently persistant -- code has to be parsed and any objects recreated for every HTTP request. I've been watching projects like Xaraya and Drupal, but they are alower than they should be. Last time I tried Xaraya, it was positively glacial. Drupal is somewhat better.

    A few of us had a similar problem a while ago when trying to develop a Linux knowledge-base type application. A complex OOP solution in PHP absolutely killed performance. It didn't work.

    I've tried the Zend Optimizer with Xaraya but wasn't too impressed.

    I think that CMS's should be self-contained application servers. Any objects created should be persistant, not needing to be re-created for every HTTP request.

    I have a wild idea floating around in my head about a C++ CMS. I don't promise anything, especially since I'm not super-strong in C++. But I'm in the "tinkering" phase and maybe something interesting will come out of it. I guarantee it would be the fastest CMS on the face of the earth. :) Oh yeah, and it would be optimized for PostgreSQL. My other major CMS annoyance is that MySQL is always the preferred DB. If anyone wants to talk about this idea, feel free to email me: micah AT yoderdev DOT com

    Python/Plone/Zope could be an OK platform, but I'm still a bit concerned about performance. It seems as though applications that should reasonably written in scripting languages, like little desktop utilities, are written in C/C++, and things that run on performance critical servers are written in scripting languages, when they should be written in C/C++.

    1. Re:But how efficient is it? by HammerToe · · Score: 3, Interesting

      There is more to application servers than just raw performance. Hardware nowadays is much cheaper than development time. This is not to say that programmers should be lazy just because they have faster servers. I am just saying that things like dynamic memory allocation and rapid development offer many benefits in term of minimising errors and reducing code maintainence time than raw performance.

      Incidentally though, certain parts of Zope, e.g. the security code which is exectuted many times on every request are written in C for added performance.

      Zope has many features for tuning speed, including various cache managers.

      -Matt

    2. Re:But how efficient is it? by Micah · · Score: 2, Interesting

      That's good to know. Maybe I should give it a try.

      By "cache managers" do you mean content caching? That was one of my ideas. The application server would cache, for example in a Slashdot style application, the entire tree of comments for recently viewed stories. That would make browsing the comments do-able without a single DB hit! Does Zope do something like that?

      And how is it memory-wise? Could it easily fit in an inexpensive virtual server that gives you 256MB RAM (or less)?

      I used to commercially host Slashcode, and the memory requirements were insane. Allowing 256MB per site is a bare minimum.

      I'm guessing it should be better, as mod_perl in multiple Apache processes, plus the separate "slashd" is the major problem.

      But still, Python will take significantly more memory than a similar C app. I want the RAM to be used for caching content, not wasted, or even required (huge amounts, that is).

    3. Re:But how efficient is it? by HammerToe · · Score: 3, Interesting

      Yes, I mean content caching. Zope comes with two cache managers as stanndard (there is an API if you want to writee your own). One is RAMCacheManager, which caches the results of method calls (including page template rendering) to RAM. The other HTTPAcceleratedCacheManager sets HTTP cache headers so an upstream cache (e.g. Apache mod_proxy or Squid) can deal with it.

      The caches are very flexible and the RAMCache allows you to cache 'bits' of a page. E.g. we often dynamically build navigation for a site, but RAMCache the results so that the script that traverses the ZODB building the navigation does have to run on every hit.

      Zope does have quite high memory requirements. It doesn't need to use all that much to start with (50-60MB) but it has a (tunable) cache that means by default it will use more like 100-200MB on a medium sized site. Our main production Zope servers that host about 60 zope sites runs about 400MB.

      -Matt

    4. Re:But how efficient is it? by lux55 · · Score: 2, Interesting

      memcached is a really cool cache system that I believe slashdot.org also uses now for caching comments. It's super easy to integrate into an app in various languages (Perl, PHP, Python, Java, etc.) and the protocol is published as well, so it can be made compatible with any language/application. 3 lines of code, and the performance of your site skyrockets. Check it out at:

      http://www.danga.com/memcached/

      Note: I have no affiliation with memcached, danga, or livejournal -- I just think it's a really sweet solution.

      Cheers,

      Lux