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."
Once again, another example of why open source is the way to go. Think about how many websites out there wouldn't be the way they are without open source, and how many businesses rely on it.
I have no firsthand experience with Plone but would be curious to hear more about it.
Wireless News www.DailyWireless
... 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.
Is software really such a topic that someone (besides a marketing guy) would rave about it in an objective review? I mean, I've had some good software packages that were easy to use (relatively) and did the job well (compared to alternatives), but they weren't revolutionary and didn't make me run through the streets naked, Archimedes-style.
Any person who comes to me foaming at the mouth, "raving" about any type of software is going to have me taking a rather large grain of salty goodness.
except linux. Because this is /.
Even those who arrange and design shrubberies are under considerable economic stress at this period in history.
Plone is not the only one open source CMS around. Tikiwiki, Typo3,Drupal and a lot more are open source, some even with commercial support (i.e. Typo3, comparing with it could be a bit more fair) if eWeek want that "feature" over every other possible functionality they could have.
A raving techie is the kind you see at a late night warehouse partying to music that would otherwise make his head hurt if he wasn't so up on the x trip. I love to see such thinly veiled articles as this that are made to be oh so much more than they really are. Come on I haven't seen a tech rave about software since Virtual Valerie and that's only because it was the first time he had made a woman moan without it being more of a groan of disgust.
RHEL 3 packages Python 2.2.3. Is that high enough for it?
I'm not sure what it is, what it's supposed to do or if it even exists, but it's very important. Props to Poone 2.0 for including LDAP support in the default install. It gets my vote.
Plone two is by far the best portal / cms system I have ever tried. It spanks the pants off of every single commercial system as well and I have tried some expensive ones. It is the flexibility and power of python that makes it so great.
Got Code?
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?
I'm sure that this is a really great piece of software and I've been meaning to check out Zope for a long time. But I just can't get over this name. It just sounds too much like it ought to be signed to Warp Records or something.
I just can't take it seriously... I look at a headline like "Plone 2.0: eWeek Reviews" and I go "oh, so Aphex Twin's released a new album then?"
For feature by feature comparisions between a large number of CMS applications, check www.cmsmatrix.org.
I bet if they where willing to bust out a checkbook
and hit the plone developer list they can get all of the support their little hearts desired. Not only that but they would likely be working with someone that actually wrote it instead of a helpdesk dork telling you to reinstall.
Got Code?
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
... beating out a commercial portal suite, Traction's TeamPage 3.01, reviewed in the same issue.
How long it takes for people to realize that you can make money with open source so it can be commercial. Commercial software isn't the opposite of open source. Non-free or closed is.
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
Great product, but if you follow the links to the plone website, then watch the demo for the HIGOV.net implementation, part of it (near the end) shows integration with monitoring software... and it reveals the private IP addresses inside their LAN and that they run telnet. Considering that I just finished Kevin Mitnick's book on social engineering (the Art of Deception), this wasn't the best choice of content to put into a demo. Running telnet on a firewalled, private LAN is one thing. But telling the world your private IPs that are being used for telnet services mean one only needs a username and password now...
...to plug another newly-open-sourced CMS I'm the lead developer for:
Sitellite CMS
Written in PHP, unusually flexible, very strong add-on framework, free add-ons, including a search add-on based on Apache Lucene (no PHP Java extension required though), and HIGHLY usable by non-techies. Cross-browser WYSIWYG editing is built-in, and it's designed for non-techies to use, but real techies to code in. Like any proper template system, standards compliance is up to you however (although our XML-based templates require XHTML or XML output, so we do encourage at least ;)).
There's also a commercial version, and commercial support available (this was the qualm that the reviewer had about Plone) at simian.ca. We also sell commercial add-ons (gotta eat too, right? ;)).
Anyway, </plug> -- just trying to scare up some more interest, never hurts to try. :)
putfwd.com - 1GB Free file storage with a twist
> 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.
"Do not be swept up in the momentum of mediocrity." - anon
http://www.oreillynet.com/pub/a/network/2000/06/02 /magazine/python_first_language.html
http://www.linuxjournal.com/article.php?sid=3882
You could 'talk' ? We had to bang out our messages on our chests and then carve pictorial representations onto the foreheads of bison.
The community is building rapidly. We're nearly 200 registered users strong now, and the site has only been going since the beginning of February. We're up to 600 unique visitors a day too. We're doing what little promotion we can, but we're a 2-person company/project, so time to get the open source word out there is pretty limited.
However, with those stats, I wouldn't call the developer site dead. :) It's no google.com, but it's a good start.
The anonymous CVS instructions are here:
http://www.sitellite.org/index/cvs
Yes, contributors are required to license their changes (changes to the core system, add-ons are a different matter) back to us, for inclusion in both the open and commercial versions (the two being identical, aside from license, warranty, resellability, and a few extra add-ons). We don't try to hide this, but even the Free Software Foundation require that you assign/grant unlimited copyright to them on contributions. So I don't think it's unfair for us to ask the same thing.
Also, a commercial version is a good thing for the community as well. The fact of the matter is that programmers need to eat too, and that costs money. You can't make money offering nothing but free code, free support, etc. So we sell a commercial version for people who have commercial interests in the software (just like MySQL does, for example). So a commercial version helps keep a core of developers working primarily on the CMS itself, not as a hobby, but as their day job.
Yes, but these don't come overnight. That's why we're trying to get the word out there, and going an extra mile to get people interested/involved right now. New projects don't just pop up with 10,000 members. :)
Technology-wise, we have one of the top CMSes in PHP, and I know we compare favourably to Open Source CMSes in other languages too. That's not to boast, but it is true (go look). What we're trying to do now is fill in the blanks -- community, documentation, more free add-ons, etc.
Anyway, it's getting late. I should catch a few zzz's. :)
Cheers,
Lux
putfwd.com - 1GB Free file storage with a twist
darnok's already covered most of the salient points as to why Python's the shits. I was in something of your shoes -- doing IT work with a big chunk of development for the last fourteen years. I got into Perl back in the 4.x days and loved it; started doing PHP about three years ago and discovered Python a year ago (I might be out of P* languages by now). It's not tremendously fair to compare Python to PHP -- PHP doesn't have much of an existence outside the context of a web server (yes, I know you've got the CLI, but you're still essentially writing HTML pages with PHP embedded into them). That said:
:) ).
At least last time I had to do PHP, I had a bitch of a time trying to get it to act as an HTTP _client_. I ended up having to open straight socket connections and hand-crufting[sic] my HTTP calls. Ugh;
Object orientation is bolted onto PHP; it's built into Python.
[Yes, I know this is one of those religious issues] mandating whitespaces makes Python code much more readable (until someone edits your code and uses a tab instead of four spaces
It's the easiest, most intuitive language I've ever used (this includes Perl, LISP, TCL, and PHP, among others). Most times, if I think "well, I'll just put this code in and see if it does what I want it to do," that's what happens -- it makes it much easier to prototype.
Zope, built on Python, is also quite nice. Reasons for it include the fact it mandates the separation between presentation, business, and database logic (well, you could work around that, but they make it easy to do it The Right Way), and (again) the rapid prototyping of web applications.
I should note, by the way, that Zope is one of those F/OSS projects that's phenomenally coded and absolutely horrendously, horrifically badly documented. Oh well.
Oh, and 'Zope Security' is something of an oxymoron. I don't like the in-band management of it (if you've got a Zope server running on http://host:8001, then you manage it by going to http://host:8001/manage. This is one of the reasons you want to front it with Apache and do ProxyDeny for a whole bunch of special URLs)
I consider them way ahead of time.
And I'm glad to see Zope and one of it's major products, Plone, getting this recognition. I consider Zope vastly superior to any other available Application Server. It's suitable for rapid and large scale developement likewise. If you want to know how the future of databases and high level programming of custom apps will look like, check out Zope.
We suffer more in our imagination than in reality. - Seneca
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.
pVisual Studio is and always has been a superb development environment. So where's the problem with that award? Just because it's MS doesn't automatically make it unworthy of awards.
Bad analogies are like waxing a monkey with a rainbow.
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.
You had bison? We had to carve rocks with smaller rocks.
I read the article, the reviewer liked what he saw, just was wishing he could have found a 24/7 place for customized support..
well, well???? Isn't this supposed to be one of the two ways to make some clams with open source software, ie, this is a job going begging now?
make money with open source by:
A-using it directly to help make and sell and service your widgets
B- offering custom service for the application software
No current direct 24/7 support = someone reading the article who might be under or un-employed just discovered a job that didn't exist before. Sounds OK to me, this "problem" will be self rectifying I would bet, real soon now....
I am negotiating right now with one of my customers to get a long-term grant to build a GPLed Knowledge Management (as apposed to just content managment) layer on top of the Python/Zope/Plone stack.
I usually use Java (or Common Lisp) for development, but Plone offers so much infrastructure out of the box, that the decision to use it seems right. (Although I have been experimenting a lot with OpenCMS, which also looks very good).
-Mark
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++.
Shameless AMD plug, but Zope's performance on AMD64 is very good. As long as you pick an architecture that has decent integer performance, you are likely to find that VMs (Python, Java, .NET CLR, etc) will usually run decently fast for most apps. The same isn't a much true with SPARC or ppc (not to knock those platforms).
That's not true. We tried to help you but you resisted reading some essential books, manuals, tutorials and examples about Zope, Plone and Archetypes.
We help other people on #plone in our free time and we don't get paid for it. We like to help and most people are amazed about the help they get on the mailing lists and the irc channel.
We are helping newbies to start with plone and we are helping novice to experts with precise problems. But we are not able to take you on your hand and guide you from the beginning to an expert. You have to spend time to learn all stuff yourself or you have to pay money for commercial support.
You don't need to be our friend to get help from us but if you start to offend us you can NOT expect to get more answers to your questions.
Tiran
Plone and Archetypes core developer
Supporter and moderator on #plone