[Evangelism] The State of Drupal

Nate Aune natea at jazkarta.com
Mon Nov 23 19:13:56 UTC 2009


I've been putting together a "10 Things that make Plone a good choice
for the enterprise" factsheet, and have come up with the following
talking points.  Many of these echo the excellent ones that Ken
already posted in his email.

1) Security
Since Plone is built on top of Zope and Zope uses a security model
similar to Unix, the security and permissioning can be very granular.
Since Zope uses the ZODB, you don't have to worry about SQL injection
exploits.

One can cite that the Royal Bank of Scotland, FBI, CIA and NASA are
using Plone, and Plone is on the list of approved and secure platforms
for use at NASA.

There are the CVE graphs from the IBM report comparing Plone security
track record to other CMSes and frameworks.
http://www-935.ibm.com/services/us/iss/xforce/midyearreport/xforce-midyear-report-2008.pdf

The "Hardening Plone" howto on Plone.org is an excellent document
about how to lock down Plone even more for highly secure environments.
http://plone.org/documentation/how-to/securing-plone

And the accompanying talk from the recent Plone conference which was a
use case of a high-security Plone solution, which was audited and
approved for handling sensitive data from a multi-billion industry.
http://www.slideshare.net/khink/hardening-plone-a-militarystrength-cms

Zope is very secure
http://zope2.zope.org/about-zope-2/six-reasons-for-using-zope/zope-is-secure

2) Scalability
At the recent Plone conference, we heard case studies about sites that
have millions of page views per day and hundreds/thousands of users
logging into the site. I'd like to collect these case studies (perhaps
on plone.net?), so when potential customers ask for real data, we can
produce reports that show Plone can scale.

Since it's built on top of Zope, Plone has built-in load distribution
using ZEO (Zope Enterprise Objects)
http://zope2.zope.org/about-zope-2/six-reasons-for-using-zope/zope-is-highly-scalable

With Plone 4, we get plone.app.blob which stores large files on the
file system. Even Sharepoint can't do this OOTB without an expensive
add-on product.

Plone has built-in caching and with CacheFu, we can send purge
requests to an upstream caching proxy such as Squid or Varnish.

Load tests can be written easily with Funkload to test before and
after performance optimizations using collective.funkbot.
http://pypi.python.org/pypi/collective.funkbot

With RelStorage, you can use Plone with any RDBMS including MySQL,
PostgreSQL and Oracle and take advantage of these database clustering
and redundancy capabilities. See Shane Hathaway's recent blog post
about performance improvements when using RelStorage.
http://shane.willowrise.com/archives/relstorage-1-4-0b1-and-zodbshootout/

3) Interoperability
Since it's written in Python, Plone can talk to just about any backend
system, from relational databases to authentication services to web
services, and can be integrated with 3rd party search engines.

The Salesforce.com integration is the best of any open source tool
available today. David Glick from GroundWire gave a good overview at
the PloneConf.
http://www.slideshare.net/davisagli/integrating-plone-with-ecommerce-and-relationship-management-a-case-study-in-plone-getpaid-and-salesforcecom

Because Plone ships with PlonePAS - pluggable authentication service,
it can authenticate users against Active Directory, LDAP, OpenID, SQL
or even Gmail.

Plone's built-in search tool can be easily replaced with the open
source Solr search tool which provides faceted search and enterprise
level search capabilities. Andi Zeidler gave a lightning talk at the
PloneConf about how easy it is to integrate.
http://plone.org/products/collective.solr

Massimo from RedTurtle gave a talk at the European Plone Symposium
about integrating Google Apps / Google Docs with Plone
http://www.slideshare.net/massimo.azzolini/googledocs-on-plone

Sally Kleinfeldt from Jazkarta organized a panel discussion about
Plone and web services at the PloneConf and has also blogged about it.
http://blog.jazkarta.com/2009/08/07/plone-web-services-things-are-looking-up/
http://blog.jazkarta.com/2009/10/27/plone-web-services-what-about-cmis/

4) Data portability
Moving your Plone database to another provider is usually just a
matter of copying the Data.fs file and tar up the eggs/products
directory. Makes it very easy to switch to a different hosting
provider / vendor if you're not satisfied with your current one.

Besides using the web services APIs mentioned above to get data in and
out of Plone, one can also leverage ContentMirror, which will
serialize and replicate all the content in Plone into a relational
database asynchronously. See Kapil's talk about it at last year's
Plone Symposium.
http://docs.google.com/present/view?id=dntgmzf_17547q5j3wq

enpraxis.static site is an add-on for Plone that lets you easily
create a static HTML snapshot of your entire Plone site.
http://pypi.python.org/pypi/enpraxis.staticsite

Also, using new tools such as Transmogrifier and Funnelweb (which
builds on top of Transmogrifier) it's even easier to get data in and
out of Plone.
See Lennart's talk from the PloneConf about Transmogriier.
http://www.slideshare.net/regebro/transmogrifier-migrating-to-plone-with-less-pain-2387600

And the project page for Funnelweb, which gives you a TTW interface
for importing static sites into Plone.
http://www.coactivate.org/projects/funnelweb/project-home

5) Accessibility
Plone is the most accessible open source CMS available on the market.
Conforms to Section 508 which is a requirement for all government
agencies and W3C accessibility guidelines. The functionality
gracefully degrades on older browsers, or when using a screenreader.
http://plone.org/products/plone/features/3.0/existing-features/accessibility-compliant/
and http://plone.org/accessibility-info

An all-too-often forgotten aspect when people construct web sites is
how accessible these sites are to the blind and sight/motor-impaired.
Plone was probably the first CMS out there that focused on
accessibility. With the ruling that web sites can be sued for not
providing access to the blind, things have changed for government and
corporations who provide information to the public through their
websites.
http://www.infoworld.com/d/security-central/target-sued-over-web-access-blind-917

Aaron VanDerlip from Jazkarta gave a talk about Plone and
accessibility at the PloneConf 2006
http://plone.org/events/conferences/seattle-2006/presentations/plone-and-accessibility

6) Internationalization and multilingual content
Plone already supports over 50 languages out-of-the-box and with
Python 2.6 excellent handling of Unicode, we can support multibyte
languages as well such as Chinese, and even right-to-left (RTL)
languages such as Arabic and Hebrew.

Using the LinguaPlone add-on you can translate the content of your
Plone site into any language, and even export the content in standard
XLIFF format for hand-off to a professional translation agency. after
they've done the translations, they send back XLIFF files which can
then be imported into Plone. See Sasha's presentation on this from the
PloneConf.
http://www.slideshare.net/valentineweb/manage-multilingual-sites

There was a lightning talk at the Plone conference about an in-place
translation tool that made it possible to translate the message
strings in the Plone interface just by clicking on them, and then this
could be exported to a .po file.

7) Theming and branding
Plone already has excellent separation of presentation and content,
and almost any element in the Plone interface can be styled using only
CSS. With Deliverance, we have an even easier theming story, and the
possibility to theme multiple applications using the same static
HTML/CSS design. Now any design can be made to work with Plone with
minimal effort - simply add some rules to the Deliverance rules file
to wire up content generated by Plone into placeholders in the theme.

See my presentation from the Plone symposium (conference slides to be
posted shortly)
http://www.slideshare.net/Jazkarta/deliverance-plone-theming-without-the-learning-curve-from-plone-symposium-east-2009

8) Hosting
Plone can be hosted on any platform including Linux, BSD, Windows or
Mac OSX. Basically any platform that can run Python will work.
Plone can be hosted on a VPS, a dedicated server or virtual machines
on Amazon EC2 or using Ubuntu's Enterprise Cloud.
http://www.ubuntu.com/cloud/private

Using GenericSetup, it's very easy to capture site configuration
settings, and programatically replicate the site on a different
instance.

Using buildout it's very easy to make repeatable deployments so that
you can easily replicate a development environment, push it to staging
and finally production.
See Tarek's excellent presentation on this subject:
http://www.slideshare.net/tarek.ziade/delivering-applications-with-zcbuildout-and-a-distributed-model-plone-conference-2008-presentation

A new development by Dylan Jay is collective.hostout which is a series
of buildout recipes for defining your hosting settings directly in the
buildout configuration file.
http://www.slideshare.net/djay/collectivehostout-how-to-host-a-python-app-for-20-in-20min

We've also started working on an Amazon AMI, VMWare and VirtualBox
images of Plone to make it even easier to evaluate and get Plone
hosted on a server quickly and using best practices.

9) Open source
Similar to Linux, Apache, Firefox and many other popular software
tools, Plone is open source. Open source is a methodology to
programming that puts great emphasis on community development. Rather
than one firm or organization building a particular product, an open
source project can be built by a variety of individuals or companies.
We like open source because it helps us stop trying to reinvent the
wheel and instead choose the best of breed systems for our clients and
deliver them at an affordable price.

Plone has won 3 years in a row the Best Other CMS Award from Packt Publishing
http://plone.org/news/plone-wins-packt-2009-cms-award

Martin Aspeli wrote about Plone: a model of a mature open source
product for his MSc dissertation for Analysis, Design and Management
of Information Systems course at the London School of Economics.
http://martinaspeli.net/publications/Plone%20-%20A%20Model%20of%20a%20Mature%20Open%20Source%20Project.pdf

10) Foundation backed international community
With over 300 vendors in 50 countries, and Plone being used by
governments and universities all over the world, Plone is truly an
international movement. With a non-profit foundation owning the
trademark and copyrights, Plone is protected and it's governance is in
good hands. http://plone.org/foundation

The Plone community has an annual conference in a different city every
year with regional symposia in Europe, N. America and S. America also
taking place every year. The most recent conference attracted 400
attendees from 30 countries. http://ploneconf2009.org

In additional to the usual issue tracking systems, Plone also has a
user feedback service to collect suggestions form the users of the
software. these suggestions are reviewed by members of the core Plone
development team and considered for future versions of Plone.
http://plone.org/news/plone-launches-user-feedback-system

There is also a formal process to get a new feature considered for
inclusion in the Plone core, a paid release manager and a clear
roadmap for what future versions of Plone will bring.
http://plone.org/documentation/manual/plone-developer-reference/overview/release-process
http://dev.plone.org/plone/roadmap

This is still very much in a draft state but I would love any feedback
on the points, and I plan to write some blog posts about each point to
go into further details.

thanks,
Nate


On Mon, Nov 23, 2009 at 9:51 AM, Scott Paley <scott at abstractedge.com> wrote:
> Steve - this is fantastic. Thanks!
>
> Next Wednesday (12/2)  I'll be sitting on a panel at Gilbane Boston entitled
> "Open Source CMS Powwow", as the "Plone representative". Others on the panel
> will include Mitch Pirtle, the founder of Joomla, Jay Batson, a co-founder
> of Acquia, and Ian Howells, the CMO of Alfresco. In other words, it's a
> pretty strong panel (always fun to be the "weakest link!") Obviously I know
> a lot more about Plone than the other 3 platforms, so this kind of
> information is extremely helpful. It's interesting to see how Drupal
> stuggles with many of the same challenges as Plone and is not some "magic
> bullet".
>
> http://gilbaneboston.com/conference_program.html#W9
>
> If anybody out there wants to "arm" me with additional information about
> what you perceive to be the strengths of Plone relative to the other
> platforms, please send an email my way. I'm not as interested in the
> specific ways in which Plone is better than Joomla as I am about where Plone
> really shines. I have my own ideas on this, but would love feedback.
>
> The stated agenda of the talk is, "Just a few short years ago many
> organizations wouldn't think of implementing an open source content
> management system. Today, thousands of major global companies have
> implemented solutions like Drupal, Joomla!, Plone and Alfresco, to name a
> few. In this session, Joe Bachana, Founder and CEO of DPCI, has invited
> major luminaries from these four open source CMS projects to help attendees
> better differentiate each system from the others. Particular attention will
> be paid to calling out the strengths of each system. The session will also
> pay close attention to any feedback or lingering criticism in the market
> that open source CMS platforms still face."
>
> The moderator followed up privately to let the panelists know that, "With
> regard to the tone of the session, I'd like it to be constructive -- I don't
> have a particular interest in declaiming which project is better than the
> other. However, there are clear differentiators on platforms (LAMP, Python,
> Java/J2EE) as well as functional focus for each that can and should be
> called out, and we should endeavor to do so. Further, I would like to leave
> ample time to discuss the criticisms of the open-source platform and
> communities, since there is still a great deal of it out there."
>
> Thanks all,
>
> Scott Paley
> Abstract Edge
>
> On Sun, Nov 22, 2009 at 12:59 PM, Steve McMahon <steve at dcn.org> wrote:
>>
>> While at the Non-Profit SW Dev Summit, I had the opportunity to attend a
>> couple of Drupal panels (new to Drupal, and what's new with Drupal). Drupal
>> had their A team at the summit (a couple of core devs and several
>> evangelists) to do the talks. I wanted to pass on a few things on what I
>> observed. Share as appropriate.
>>
>> 1) Drupal is also having the framework vs product debate. From what I
>> heard, the "framework" side is definitely winning. Many Drupal integrators
>> are actually demanding that some new, friendlier UI in the Drupal 7 preview
>> be rolled back because they feel it undermines their flexibility as
>> integrators. Drupal 7 continues to be a micro-core product that is not
>> really suitable for use out of the box. The Drupal folks emphasize that no
>> inexperienced person should think they can integrate Drupal by themselves
>> (for more than a blog), as they need to gain a lot of experience as to which
>> modules really work together.
>>
>> 2) There is no migration path for add-on modules between 6 and 7. The core
>> devs emphasize that it will be a rare 6 module that does not need a complete
>> rewrite to become a 7 module. The integrators in the audience moaned loudly
>> on receiving this news, and complained that this was awful for them. The
>> core devs replied that the new APIs would make add on modules more secure
>> and reliable.
>>
>> 3) Drupal is still very complex for end users. I don't think they really
>> differentiate between users and site managers. Positioning a node in the
>> content hierarchy still requires intimate knowledge of how Drupal works (or
>> add on modules that organize portions of the tree). The ideal Drupal install
>> is probably either small enough that a single site admin is not a
>> bottleneck, or large enough that several site admins can be well trained.
>>
>> 4) Permissions and roles are still pretty much global, and workflow is
>> rudimentary. No ACLs. The organic groups module remedies some of that, but
>> there was skepticism about whether or not it could be ported to 7.
>>
>> 5) The CCK (content creation kit) is now pretty much integrated into 7,
>> and is really pretty cool in its ability to allow site admins to add fields
>> to content types TTW. On the other hand, they don't have a round trip story,
>> and I heard a couple of conversations, that translated to Plone-speak,
>> amounted to "we need something like generic setup to handle repeatable
>> deployments."
>>
>> 6) Real-life Drupal is actually very resource intensive. The audience was
>> told that they could do something like a blog on a cheapo host, but that a
>> real deployment with multiple content authors would require a dedicated
>> server or large virtual slice.
>>
>> 7) They are still, out-of-the-box, a great blogging platform, and if
>> you're using Drupal as a "news to the home page site" with a few static
>> pages, it's easy and fast to configure.
>>
>> 8) The party line on Acquia is that what's good for Acquia and Dries is
>> good for Drupal. I saw not a hint of discomfort with that.
>>
>> 9) A somewhat contradictory pair of party lines: "it's easy to find PHP
>> programmers, and they're inexpensive, therefore PHP is the place to be" and
>> "Don't even think of using a PHP programmer with less than 3 years Drupal
>> experience to do any customization."
>>
>> 10) Taxonomy was "never meant to provide site structure" and is now
>> deprecated as a way to build nav trees. The "right" way to do it is with the
>> new relations fields, which allow you to pick nodes as parents/children.
>>
>>
>>
>>
>>
>> _______________________________________________
>> Evangelism mailing list
>> Evangelism at lists.plone.org
>> http://lists.plone.org/mailman/listinfo/evangelism
>>
>
>
>
> --
> Scott Paley | ABSTRACT EDGE
>
> Office: 212.352.9311
> Direct: 212.352.1470
> Fax: 212.352.9498
>
> Website: http://www.abstractedge.com
> Blog: http://www.brandinteractivism.com
>
> _______________________________________________
> Evangelism mailing list
> Evangelism at lists.plone.org
> http://lists.plone.org/mailman/listinfo/evangelism
>
>



-- 
Nate Aune - natea at jazkarta.com
http://www.jazkarta.com
http://card.ly/natea
+1 (617) 517-4953




More information about the Evangelism mailing list