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."
... 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.
RHEL 3 packages Python 2.2.3. Is that high enough for it?
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.
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.
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?
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.
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
The minute I discovered Python, I never went back to PHP. And that's just for the sake of the language.
... Python talks to all the databases you want. You can do Python in Gnumeric, there are talks about integrating it in Openoffice.org ... ...
...
...
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 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
> 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.
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
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.
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.
"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.
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?
The state of Open Source CMS's has been driving me nuts for quite some time.
:) 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
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.
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++.