Personal tools
You are here: Home community

community

May 06, 2008

Rob Miller: OpenPlans, now with Plone 3! (and easy to install, too...)

Filed Under:

An overview of the OpenPlans software's recently added Plone 3 support and improved installation story.

Wow, it's been a while since I've sent a message out to the greater Plone community.  I've been a bit busy over the last few months, what with having a new baby, and with internal-facing improvements to the OpenPlans software.

In the last weeks, though, I've been able to get around to some long-lingering needs which may be of interest to all of you.  Specifically, I've been getting the OpenPlans software to work on Plone 3.0, and I've put some finishing touches on the OpenPlans installation process, so that it's now much much easier for someone who wants to play around with a full OpenPlans stack to get started.  (OpenPlans, for those of you who don't know, is the largely-but-not-exclusively Plone-based software that powers the collaborative community website openplans.org, among others.)

The Plone 3 support is still experimental; it's not deployed on any of our live sites, and it hasn't yet seen any extensive testing.  It installs and works, however, and all of our unit and functional test suites pass.  And not only do they pass... they run much more quickly.  The zopectl tests are about 2.5 times faster (yes, that's 250%!) than they were before.  The flunc tests, which emulate a browser and connect to a running site over HTTP, don't see that much of an improvement, but they are consistently 20-25% faster than they are against a Plone 2.5-based stack.  Much (but far from all) of the improvement comes from Helge's refactoring of Membrane's object_implements index implementation; if you run a Remember or Membrane based site and you haven't played around with that code, I strongly recommend you do.  In any event, once we get this merged back to the trunk and installed on the openplans.org site, I'm confident there will be a very noticeable performance improvement for our users.

Equally exciting to me is that we now have some nice tools in place for people to get their own local copies of OpenPlans working.  It's taken us three iterations, but we've finally got a set of build tools and a build process dialed in that is working for us in managing both our development and production deployment environments.  And we've put some thin wrappers around this to make it easy for you to get started.  You can learn more at our getting started page.  If you're REALLY impatient you can eyeball the steps you'll have to take to get things going in the quick start section, although you'll probably also want to look at what you will need since OpenPlans does require that some other tools and services be available on your server before you can start the build.

Those of us at TOPP have had a great time building this; we hope that you find it valuable, and that you have as much fun using it, either hosted by us on openplans.org or as your own installation elsewhere.

February 17, 2008

Jonah Bossewitch: Fabricating Freedom

Free Software Developers at Work and Play

I haven’t posted much here lately, but I have been writing. I recently finished my first semester as a doctoral student in Columbia's school of journalism and one of the papers I completed draws directly on my experiences in the Plone Community.  A few years ago I remember being struck at how different open source development was from what I (and presumably others) imagined it to be. I kept pitching human interest stories to journalists, ones that might emphasize the playfulness, the sprinting, and the organizational experimentation, but got very few nibbles. So, I finally wrote some of this up myself before it all fades from memory:

 

Fabricating Freedom: Free Software Developers at Work and Play

 


The paper was for a wonderful class this semester at the New School taught by Paolo Carpignano (The Political Economy of Media - here is the syllabus). The class was all about the shifting relations between fabrication and communication, or more colloquially, work and play. We opened with Marx and Hannah Arendt and closed with Yochai Benkler and danah boyd. The piece I wrote is personal and anecdotal, but reflects on all that our community has taught me about free software, free culture, organizing, consensus building and the day to day politics of software development.

enjoy.

February 16, 2008

Andrew Burkhalter: Increasing Documentation for and Visibility into Plone's Efforts to Integrate with Others

Filed Under:

Seeking comments on a plan to "make sure the "strategic integration" story with other systems is visible and documented" as follow-up from the recent Plone Strategic Planning Summit.

On the off chance that you're like me and prone to falling behind on your various Plone list-related reading, I'm soliciting feedback on my plan for ticket #7813 aiming to "make sure the "strategic integration" story with other systems is visible and documented".   Comments welcome.  Full plan below:

With ongoing support, feedback, and guidance from the broader Plone
community, I volunteer to serve as "champion" of trac issue #7813,
'Make sure the "strategic integration" story with other systems is
visible and documented' (http://dev.plone.org/plone/ticket/7813).  I
will do so by offering to invest time/energy within the following two
focus areas:

1) Developing code, making increasingly better releases, documenting,
and marketing for the Plone integration with Salesforce.com as the/a
Plone Customer Relationship Management (CRM) story

2) Beg, bribe, borrow, and steal case studies and documentation of
successful implementations of Plone integrating with system X for
plone.net and plone.org/documentation. I'm not able to offer code in
this department, but I will aim to highlight successes and possibly
over time aggregate pain and resources for new integration territories
we'd collectively like to explore.

=-=-=-=-=-=-
Deliverables - I.E. what will exist in 6-9 months
=-=-=-=-=-=-

Plone with Salesforce.com serving as CRM:
 - Increasingly more mature releases of the following suite of
products: http://snipurl.com/plonesfproducts
 - A solid manual at:
http://plone.org/documentation/manual/integrating-plone-with-salesforce.com
 - Personal and Plone community participation in:
http://groups.google.com/group/plonesf/topics
 - Increased use of the term "CRM" in close proximity to the word
Plone, so that folks Googling for a CRM that works with Plone see this
as a strength for Plone, rather than a weakness.

Shed light on the "strategic integration" story:
 - 3-5 "integration-centric" case studies exist on plone.net
 - A "3rd party integration" category for: http://plone.org/products.
Ensure tagging is happening.
 - Enhance "Plays well with others" section of Plone.org homepage
under the "Standards Compliant" section
 - Bonus points: Hightlight commonly needed integration stories
hopefully causing new tools/documentation to emerge

=-=-=-=-=-=-
What success looks like
=-=-=-=-=-=-
I don't think the above alone will accomplish this, but it's a start.
I think longterm success would be:

- Members of other software communities (i.e. Salesforce.com, Moodle,
Facebook, <insert system that can be integrated with here>) learn
about and deem Plone a viable and *complimentary* CMS.  This knowledge
is learned within the context of their existing communities.
- Integrates well with X is easily found and helps certain decision
makers decide to use Plone.  Seminal "why we chose Plone" blog posts
appear citing integration as a key reason :)
- Plone continues to thrive by staying focused on what it does best
(as seen with future code Plone releases).  When strategic, Plone
integrates nicely in order to avoid spreading itself too thin.

=-=-=-=-=-=-
Call for Participation
=-=-=-=-=-=-
If Plone's integration makes you excited.  Logical next steps include:

1) Give me feedback on this plan
2) Watch ticket #7813 at http://dev.plone.org/plone/ticket/7813
3) Tell me on list of off list what you've integrated Plone with and
why you think it's interesting.  We'll turn interesting stories into
case studies.
4) If Salesforce.com as a CRM for Plone excites you, join this Google
Group: http://groups.google.com/group/plonesf/

Hopefully this is pretty clear and actionable.  I look forward to the
ensuing discussions.  Let me know what I'm missing and what seems
vague or unachievable.

 

January 24, 2008

Alan Runyan: Enfold Desktop 4 - Free and Server Independent

Enfold Desktop is now server agnostic and free. Desktop will work with any DAV server including: Zope, mod_dav, IIS, etc. Plone is no longer a requirement. Also its has a much better user experience than any previous version. A must-have for Windows users.

Finally the software has been released. Last year there was a Ploneability High Education event held in November at the University of Houston. I promised a few things during that presentation. We have followed through and I want to explain to the wider community our motivations.

At the Ploneability event I said Desktop 4 would be free. Desktop is now available to download. I also want to highlight some features: decoupled Desktop from Plone, the UI is now mostly asynchronous, fixed tons of bugs. We now feel that Desktop 4 should be widely distributed and urge everyone to use it.

Specific highlights:

  • Enfold Desktop no longer requires Plone. The Desktop Server components for CMF/Plone add "more functionality" to the user's experience. Such as workflow control and property sheets. But the server components are no longer required. In this mode Desktop users simply have fewer options. They have a very nice and reliable DAV client that is more predictable than Microsoft Web Folders. You can now use Enfold Desktop with Plone, Zope, CMF, mod_dav, IIS, etc. In fact we urge you to use it on any DAV server!
  • Performance. The UI was originally synchronous. This meant you could do one thing at a time. If an operation took a long time (say uploading a 100MB file) your Enfold Desktop would become unresponsive. This is no longer the case. You can upload and download multiple files at once and edit files -- all simultaneously! The user experience is significantly better because of these performance enhancements. Give it a shot and tell us.
  • Bug squishing. Not much else I can say. We added a Report a bug feature. Also if desktop does something unexpected it will prompt the user to send us a message (it also sends internal logging). This has helped tremendously. We have uncovered loads of bugs and fixed them. Often bugs that end users were unaware of but were still happening under the covers.

Why we released:

Enfold Systems is very interested in acting as a good community citizen. We believe that Enfold Desktop will enable people to win more consulting projects. If they want support and to remove the ads - they can pay us. But the result is the consulting community is often asked for Windows Desktop integration and there was no de-facto standard. Enfold Desktop aims to be that standard. By having the broadest adoption of Enfold Desktop there will be a coherent Plone / Windows Desktop integration story.

This is only the beginning. We have laid one piece of the foundation. Plone has a complete DAV integration (server and client). But it needs much more. Specifically we need software developers to make their software DAV compliant. This requires the entire community to buy-in. There are many reasons for DAV compliance. One example could be import/export.

An example is having a representation of content outside of the CMS, say in the case of exporting. Also a way to create content by importing this representation. So the import/export story, I believe, could be tied to having a DAV representation for content. Plone still does not have a full import/export story that is 100% textual and independent of the storage medium. Customers want repeatable import/export.

Another could be creating a cross platform editor for content. We now have Enfold Desktop and External Editor. But we can not edit "rich content types". This could be very interesting. Double click on content and have it open up in a rich editor that supported calendar controls. We have a higher level of abstraction other than "File". It would be a pity for everything to be file oriented.

If you do not keep up with IT analysts writings. Plone is the big kid on the block when it comes to Open Source content management. Desktop integration is one facet to CMS. The plone community now has a great foundation to make a much richer experience. And an immediately useful Folder/File-level DAV integration for the Windows Desktop. But it will require more from the community. Specifically users asking product writers to support DAV. Because it is the product aftermarket that makes the Plone CMS so powerful. Commercial CMS's do not have such a flourishing aftermarket. The Plone aftermarket is continually building and sharing 24 hours 7 days per week.

Lastly I would like to clarify Enfold System's position when it comes to open source and Plone. Enfold Systems is the Windows open source content management system specialist. We focus on providing product, services, and integration to organizations that want the power of the open source Plone content management system while reusing their existing Windows infrastructure. This is very important for large organizations. This is our niche. Our customer's want a vibrant community. So as we provide service to a wide variety of organizations from small-medium size non-profits to fortune 100 companies - Enfold Systems is trying to build a sustainable open source model. A part of this manifests in big releases like Enfold Desktop 4 being released. But more often than not you can see aftermarket Plone components such as the magnificent UploadReferenceWidget and the visionary Entransit Content Deployment all the way to unseen bug fixes to Python COM bindings, Zope, and Plone. PLIP 187 is an example of us feeding changes from product development back into Plone proper. Enfold Systems sees releasing Desktop as a way to grow the Plone ecosystem. Also to maintain visibility that Enfold Systems is both the premier Open Source Windows CMS provider and the Plone experts.

November 07, 2007

Jonah Bossewitch: Plone University

Open source software as pedagogical scaffolding, and F/OSS ecologies as a dialogical knowledge communities.

 

 

This is a fun post recognizing the role of open source software and breaking routines in learning new programming patterns and paradigms.

 

7 Reasons I switched back to PHP after 2 years on Rails

 

Rails was an amazing teacher. I loved it’s “do exactly as I say” paint-by-numbers framework that taught me some great guidelines. I love Ruby for making me really understand OOP. God, Ruby is so beautiful. I love you, Ruby. But the main reason that any programmer learning any new language thinks the new language is SO much better than the old one is because he’s a better programmer now!

 

This story articulated an idea that I have been thinking about for a while - the ways in which developers working on open source software enter into an educational relationship with the software and the community (sometimes indirectly, mediated through the code).

I have often appreciated all that Plone has taught me about the domain of content management, component architectures, extensible software design, internationalization, test driven development, responsible release management, etc etc. I know that it has taught me well since when I walk up to new pieces of complex software like Sakai or Drupal the concepts are familiar and often isomorphic. I can vouch that exposure to Plone has helped designers I know with stretch their CSS skills, improve the accessibility of their sites, and more cleanly separate presentation from logic.

I have also made the case that for an organization to work on software in isolation is bit like having a conversation with yourself. At first you might arrive at some new insights, but its really hard to learn anything new in a hermetically-sealed vacuum chamber. The software world transforms so quickly that it is a Sisyphean task for any one person or organization to track. Joining a community, even if it is through the indirect, intermediary object of code, is a great way to continue learning and stay on top of emerging trends. The notion that learning happens through dialog is an old one; the notion that working with open source software is a form a dialog with the authors is a bit less obvious.

My main critique of Derek's post is that he doesn't explicitly acknowledge the fact that Rails is open source, which is precisely what enabled him to learn so much from the framework. This isn't just a matter of attribution, it has practical implications for being able to continue learning new tricks over time.  If he had realized that Rails-the-software embodied the knowledge of the Rails-the-community, he might not have been so quick to venture off and write his very own framework. I am not arguing that he should have steered clear of php, but he does not explain why he decided to roll his own framework as opposed to joining forces with Cake or another existing php framework, or at least using an existing php templating system. With a more explicit understanding of the origins of the knowledge that Rails-the-software captures, he may have appreciated the potential future gains of remaining part of some community.

While it is possible to learn something from proprietary frameworks, "learning" is fundamentally about the open exchange of knowledge and meaning, which are values intrinsic to F/OSS. While you can learn something from a .NET api, you can't step through the entire stack of software in the debugger. Perhaps more importantly, the cultural tendencies on an open project support constructionist poking and prodding (dare I say, hacking?).

October 12, 2007

Christopher Johnson: What is Plone?

Plone is a lot of things to a lot of people. But, at heart, it has a core identity. This is familiar to those who read the plone-dev list, but if you are out of touch with the heartbeat of the community or overwhelmed by the information there, you won't be able to find the core values of Plone written in one place. I was kinda appointed to do so today via "Plone is Democracy"...so here goes a first draft for community review!

Many of us are familiar with the One Laptop Per Child project, which is making technology and information more accessible. Eben Moglen talked about this at his keynote at the 2006 Plone Conference (link to video, youtube version). What struck me as most powerful about the project was the clear, concise design principles. From the principles, you know exactly what the project is, and without any of those things, it would not still be OLPC.

At the Moglen talk, I asked about what Plone's design principles are. The question was more for the community, and a lot of people seem interested in the question (and it's answer!) over the last year...yet nothing happened. So, a year later, I started an informal survey at the Naples conference.

With the idea of making a draft of what Plone's core design principles are, I have been asking people around the conference, including core developers, board members, integrators, end users, new developers,...though there is obviously a diversity that we would expect from our community, I am trying to synthesize here the responses, with the intent of submitting the words of the community back to the community for review :)

And with no further ado...my attempt at articulating Plone core values:

1. Easy to use (to add/edit content)!
Responses: Easy to use (highest hits of any), usability (high number of hits), intuitive

This is the bread and butter of Plone, the part that every one of us experiences when we see it and use it, and the fundamental part of . Plone's commitment to usability since the beginning is apparent in the product and the community, and it is core to Plone to make it easy to use for content management.

2. Approachable
Responses: sensible defaults, easy to get, easy to deploy, easy to download and install, opportunity/potential, giving technical people (though not necessarily developers) a great system that they can gradually get more into the customizing with a steady and approachable learning curve.

This principle is about making it easy for people to get into Plone and get hooked on how cool it is, and then be brought through a manageable learning curve as they do more of their own custom implementations. It means out of the box, the settings make sense and that we empower people with tools that give them lots of potential. It also means that smart scripters (even without Plone development experience) can get into doing custom work also.

3. "Developer Nectar", ie Built to Last, quality framework
Responses: Safe customizations, smart adaptability, easy to extend, extensible, easy to develop, user centric, use case driven, best practices, web standards, accessibility, good error messages, cross platform, test-driven, solid development, open source, scalable (up and down), passion for the technology (doing things the right way, even if it is a new technology).

Moving on from those getting into the customizations, there is the more serious development work in Plone, which is solidly built on best practices (web standards, accessibility, development process, test-driven, etc). This is about helping developers learn about and adhere to good practices, as they get deeper in the system, by having defined processes and practices. It is also about using cool technologies that keep developers interested and having fun. Finally, it means that we provide direction to the developers that originates in the way people want to use the system, captured as use cases.

4. Fun! Community!
Responses: fun, fun atmosphere, entertaining, community (one of the more popular responses, though without certainty that it applies to Plone the software, but knowing it is essential to survival and sustainability of Plone)

Some intertwined concepts here, that I am calling Fun & Community. First on the fun: this is about being fun to use and develop with, as well as being a thriving community with amazing people. The community is an obvious part of anyone who already participates. It is amazing, whether it is the "mindshare" or finding others working in your area, or just having a great time with passionate, bright people, Plone's community is a huge asset. Without it Plone wouldn't be Plone. The community also provides lots of support, which helps sustain it and make it more approachable.

 

So, that's the core. Definitely needs language refinement and maybe also refactoring, but I submit it for your review :)

There is one item I am on the fence about. It is something that is not core now, though important, and which, if it were to be core, would affect certain decisions and involve some tradeoffs. That item, is "collaboration" as a use case for Plone the software (there is tons in the community itself, which is not what I am referring to here). There are definitely some collaborative features in Plone, but most are through addons or configurations (a few new ones in 3.0, but still lacks several).

Conclusions


The idea of core values or design principles is that they are the things that never change, that, if removed, would take away the Ploneness. The core principles don't necessarily have to unequivically describe the current product. The fact that we don't already have these principles articulated means that it may not be true, but it should help us to enhance the product in the future.

This is being submitted for comment and review from the community. The idea is *not* (did you miss that? I said NOT) to make a long list. Core principles lists should be as small as possible; the goal is not a comprehensive list of things we like, but instead the smallest list of things we can't live without.

One note about timeliness...as announced at the conference in the State of Plone talk, there will be a Plone visioning/strategy meeting in Feb 2007 at the GooglePlex. I strongly believe that we need to identify the core principles[1] before we engage in visioning, so here's my small contribution to that.

From talking with others in this process, I got a lot of good, complementary ideas as well as clarification on this excercise. I want to thank Paul, Jon, Martin for supporting the inquiry process. 

References:

[1] The book, Built to Last, is a classic presentation of the concept of core values as necessary for a company/organization/movement's longterm success. It defines these as the small collection of values that *never change*. These are the heart, stability of the institution.



September 25, 2007

Jon Stahl: Plone Product Developers List: Going Strong!

The Product Developers email list, which was started in early 2007 as an outgrowth of Martin Aspeli's session at Plone Conference 2006, has really blossomed into a vibrant, active community of folks working collaboratively on add-on products for Plone.

It's a tremendous resource if you're developing an add-on product, looking for advice about an existing add-on product, or looking to make suggestions for how you'd like to see an add-on product evolve.   I plan to follow this list a LOT more closely from here on out, and I encourage you to as well.

You can subscribe via email or read it on the web via Nabble.

September 13, 2007

Jon Stahl: Plone Foundation Members: Time To Renew Your Membership!

Filed Under:

If you are currently a member of the Plone Foundation, and wish to remain so, you need to renew your membership for 2008.   Consider this a gentle reminder.

Plone Foundation membership committee chair Godefroid Chappelle explains:

To the members of the Plone Foundation,

The bylaws of the foundation state that each member needs to renew his membership each year in order to keep it for another year.

The foundation must give a period of thirty days to allow for this renewal.

This period starts at the moment of the publication of this text both on plone.org and on the membership mailing list. It will end on 2007-10-03 at midnight.

Any member that will not have renewed will go to emeritus status. He will need to apply again for membership and go through the application process in order to be full member again.

The way to renew your membership is the following:

  1. Log in plone.org,
  2. Find your member object. One way is to use advanced search and to specify your name in the title and "Foundation Member" as content type. Another way is to look in http://plone.org/foundation/members/folder_listing.
  3. Use the "Renew" transition from the workflow dropdown (menu).


If everything goes well, you will get a message in the view stating "Member renewed for 2008".

If you have any problem, please contact Hanno or myself for help.

Jon Stahl: Annoucning Ploneability Higher Ed

Filed Under:

I'm excited to read that the crew at Enfold are organizing Ploneability Higher Ed, a free, one-day event in Houston, Texas, on November 8th that will introduce and showcase Plone for the academic sector. 

Ploneability Higher Ed is a one-day conference for college and university Web content managers, developers and site administrators to connect and share success stories involving Plone, the open-source content management system.
Among the presenters:

  • Alan Runyan, Plone project cofounder, on what’s next in open-source content management
  • Kurt Bendl on the University of Louisville’s Plone rollout (more than 150 sites and counting), which has produced benefits for content managers, marketing and IT
  • Christian Vinten-Johansen and Mike Halm on Penn State’s WebLion, a customized version of Plone plus consulting, development and training services
  • Cameron Cooper on Connexions, the collaborative, Plone-powered course materials repository that was launched at Rice University and has received substantial news media attention
  • Josten Ma on how nearly 40 Plone sites and a custom skinning product support the University of Houston’s effort to reach the top tier of U.S. research institutions

Ploneability Higher Ed is free, but seating is limited.

In addition, there will be two related events, on the day before and after.

Wednesday, Nov. 7
Joel Burton of Plone Bootcamps will hold a training session on the UH campus. Course information and registration will be available soon on the Plone Bootcamps Web site.

Friday, Nov. 9
Christian Vinten-Johansen and Mike Halm of Penn State will hold a meeting at Rice University to discuss collaboration on higher ed Plone products. Seating is limited. For information, please e-mail Christian at cjohansen@psu.edu.


Full details are here.

August 29, 2007

Jon Stahl: Can you spare 10 minutes to advocate for Plone in e-Government?

Filed Under:

From Xavier Heymans of ZeaPartners comes word of an interesting opportunity for the Plone community to advocate for Open Source in European e-government, and to promote the PloneGov initiative. 

The PloneGov initiative is in the running for an EU "2007 eGovernment Award" for "most innovative good practice."  You can vote for Plone.  Xavier writes:

Winning this award will highlight the maturity achieved by the Open Source collaborative model as a pragmatic way to tackle IT challenges in society. You may register to vote until Friday, September 7th, and can vote until September 20th.

Register to vote at: http://www.epractice.eu/register

PloneGov's project description: http://www.epractice.eu/cases/plonegov

August 28, 2007

Jon Stahl: Copenhagen Performance Sprint: Nov 1-4th

Filed Under:

Anton Stonor and the crew at Headnet.dk are hosting the Copenhagen Performance Sprint 2007 in early November:

Anton writes: "We'll spend four days on making Plone run faster and have fun in the capital of Denmark, Copenhagen."  Sounds pretty good to me!

There are still a few seats left, you can sign up online.

Update: It's not Sept 1-4th, it's November 1-4.  :-)

August 21, 2007

Jon Stahl: Plone 3 Released

Filed Under:

At midnight PDT on August 21st, the Plone Team released Plone 3.0, capping off a huge year of work.  This is a big day in the history of Plone.

My congratulations and deepest thanks to all the folks who made it happen.  I'm really looking forward to using it.

August 17, 2007

Christopher Johnson: Happy Birthday, GetPaid! First transaction!!

It was a dramatic moment as the proud parents stood over the console, waiting for the delivery (shouting "show me the money!"). Finally, GetPaid emerged into the world, thanks to ploneout, and the commerce framework built on Zope 3 technologies began its own life. Read on to catch a glimpse of the dramatic tale of how it came to be, who the parents are, and what it's future might hold!

Rio Ceballos, Córdoba, Argentina: Born was one GetPaid, child of Plone and Community. The excited parents shared in the joy of seeing their combined contributions resulted in something amazing: Plone and Community had just given birth to a commerce system!GetPaid Birth Certificate The first breath...er...transaction was processed today by authorize.net!

Certificate of Birth: GetPaid de Plone

Time of birth: FairSource retreat day 4, 5:55pm
Place of birth: Rio Ceballos, Córdoba, Argentina
Given name: GetPaid
Family name: Plone
Weight at birth: 394 Kb
Delivery method: tarball

GetPaid's approach to ecommerce is to be (a) useful out of the box and (b) flexible (find more at www.plonegetpaid.com). This approach reflects the value that Plone itself provides: a full feature set that can easily be deployed complemented by a flexible system that can be customized and extended for particular use cases. The use cases targeted for the current release included basic donation processing and simple stores.

GetPaid provides the tools needed to easily integrate those features into a site: a cart, checkout, workflow, payment processor integration, administrative screens, and end user interface. At the DocComm sprint, held at Google June 25-29, over a dozen people contributed to the features that now make up GetPaid. In addition to the front-end features, the sprinters created a testing framework and created an entire set of test scripts to ensure quality now and in the future. The sprinters and organizers - all volunteers - were hosted and fed by Google, fueled by Guayaki yerba mate, and supported by several sponsors from the community who made the event possible.

That work was advanced by a dozen FairSource developers in Argentina working alongside the product's leadFairSource Retreat Photos architect, Kapil Thangavelu. An issue that we were reminded of in the Google sprint when Ofer dropped in to the channel was that we need to have the product internationalized, which led to a sprint! Sprinting began at the Jornadas Regionales de Software Libre (Regional Free Software Conference) with a day of i18n sprinting, which then turned into a group effort to work towards the release at the FairSource retreat organized by ifPeople. After months of work, the first processed transaction went through today (see the message from authorize.net)

Led by Kapil Thangavelu (hazmat), core Plone developer, founder of ObjectRealms, and author of many products forKapil in Tree Plone and Zope, the sprinters worked together pair programming towards the goal of the week: getting paid! The group generated ideas and implemented side by side; they also created, tracked and closed issues (with the help of a remote sprinter in Italy) on the project's Google Code are: code.google.com/p/getpaid . Each day twenty people would gather in our instant messaging channel on IRC (#getpaid) to follow what was going on, rallying the sprinters, and ask questions.

Among the accomplishments of the GetPaid contributors:

  • Shape the scope of the Red Ochre release around the donation use case.
  • an elegant Zope 3 based framework.
  • Integrate a payment processors (Authorize.net, and others in progress)
  • Create a shopping cart and means of adding items to it
  • Internationalization of the Plone and Zope products
  • Provide a deployment mechanism for the product (via buildout/ploneout) for technical users to quickly get set up.
  • Integrate user information collection and registration into the checkout process
  • Order management interface to track both site-wide transactions (and status) as well as to provide end users a view of their own transactions
  • Tests! Unit, doc, and functional tests


Sprint Fuel: yerba mateThe future looks bright for this newborn! GetPaid still has a lot of work to be a complete system, but is near the point of its first release. Next on the horizon is:

  • A release!
  • Documentation of API and roadmap
  • Set up demo site with latest version of products (dev.plonegetpaid.com)
  • Clean up integration of workflow and payment processors
  • Make backups possible
  • Organize additional developers and funding to build out for specific use cases of "premium content", "pay to submit", and advanced store features.
  • Build a product catalog, document and provide an interface for categories
  • Make the UI sexy with AJAX :)
  • Add lots more usability improvements

The Recipe: Beans and Rice

For those who are interested in more technical information...check the directory where your buildout ran and meet getpaid.core and PloneGetPaid. They part of the elegance of the system's design: getpaid.core is a pure Zope product, while PloneGetPaid provides Plone integration and configuration. (For those unfamiliar with the latest in Zope/Plone, the two products are designed to work together as a system that, architecturally speaking ties us to CMF, but that is built in Zope 3 (and then bridged back to run in Zope 2 by Five))

The approach to integrating commerce with a site is to be able to make any content in a Plone site "payable" by providing a "marker interface". This trick, inspired by the Plone4Artists project, allows GetPaid to add interfaces and information to the site without actually changing the existing content (thanks, Zope 3!). The system is built using Zope 3 technologies for interfaces, views, viewlets, and adapters. Particularly noteable about the adapters is that we have been working to build in storage flexibility from the beginning. GetPaid can thus easily be adapted for custom storage of data (especially using relational database for the store). This opens possibilities for integration with other enterprise systems, advanced reporting, and even making multiple stores per site! Check out code.google.com/p/getpaid for more on the product and its use.

The main goal of the first release is to satisfy the needs for easy donation processing in a Plone site. Content marked as a donation gets a "donate" link that takes the user through a checkout process. Any piece of content can be turned into a donation (ie event, news item, page...) and be given a price. Additional functionality is provided for "buyable" content, ie things that would be added to a shopping cart. This allows for simple stores to be easily created in the site.

Amazing Support

As the organizer and primary cheerleader for the project, I have been amazed at the support that the community has given to us in this process. In particular, the set of visionary sponsors who supported the development and sprint activities over the last five months. This also couldn't have been done without the ongoing sprint-spirit, ingenuity, and attention of Kapil and the support in organizing from Jon Stahl. Thanks to all the contributors of the project and for the support of Tirza in helping me take the reins on "social sourcing" a project (see more on that in Italy ;).

Where GetPaid goes from here

<geek>Eggs Don't Care!</geek> Um...sorry for that outbreak. This whole sprint community thing just gets me excited :)

At the Google sprint, we had an important revelation, inspired by Steve's (Mech422) question: line items in an order need to be workflowed independently. Take the case where you order 1 case of Empower Mint, 2 gourds, a box of Divine chocolates from our hypothetical Fair Trade store. If the mint and gourds are in stock but the chocolate isn't (maybe someone snacking in stock room!?), then we want to be able to fulfill the order that we can. So we will charge for and ship out the products we have, and leave the chocolate pending till we get more in. Since these are both part of a single order, the order itself becomes a container of line items, each of which can be workflow-ed through the system.

The result of this was that Kapil refactored much of the system (since the end of the Google sprint) to make the entire system workflow-driven. The goals is to ship a system with a workflow that can be modified for custom business processes or integrations (these changes went beyond what the hurry.workflow offered, and are also being made available upstream). This has implied updates to the admin interface as well.

Given the changing understanding of the product, we are reworking the milestones and release versions. The "Red Ochre" release, our alpha, will be out shortly and be v0.3. That will be followed by v0.6 and v0.9 (and then 1.0!). After Red Ochre is out, it will be much easier for developers and others to contribute to the product.

But when it comes down to it...the future of GetPaid largely depends on the adaptation and extension of the system by the community itself. The architecture and pending work on documentation and roadmap will provide a foundation for contributions. The sprints were important steps in building community around the product and getting new people into the code and working with the product. Already there are companies using (and modifying) GetPaid. What's next? Well, we will have to see - maybe you want to be a part of that! Visit www.plonegetpaid.com and get connected! Some things that we are looking into:

  • Extensions to make the product ready for specific use cases: Premium Content, Membership organizations, pay-to-submit content, web delivery of content, and more
  • Integration with other systems (Salesforce.com, accounting)
  • ???
Most likely we will reorganize the "social source" process of building pieces of the project, this time focused on new use cases.

Thanks again to all the supporters of this project, both before, during and after this sprint! We couldn't do it without you!

Jon Stahl: Introducing Web Couturier - Custom and Ready-to-Wear Plone Themes

Filed Under:

Long-time Plone consultant and theme-master Denis Mishunov launched Web Couturier today, his new consultancy providing high quality Plone themes, both custom-built and off-the-rack.  Denis and his team are also offering logo design and graphic design services.  

Denis is well-known in the Plone community (I'm looking forward to meeting him in Naples in a couple of months).  His first four "ready to use" themes are polished and professional looking, and reasonably priced at 200 euro. 

Bonus: the Web Couturier website is one of the first public sites running Plone 3, to be released on Tuesday August 21st!

August 14, 2007

Andrew Burkhalter: Plone + Salesforce.com Integration Talk Accepted


My proposed talk, Plone + Salesforce.com: Best of breed applications working in harmony for your organization, was accepted for the 2007 Plone Conference in Italy. I'm really excited to connect with everyone that's there (has it really been almost a year since Seattle 2006) and talk on a subject I personally find very gratifying and strategic to the Plone ecosystem.

If you're curious or have ideas about what would be good to cover, my proposed and working talk excerpt is:

Plone + Salesforce.com: Best of breed applications working in harmony for your organization

We all know and love what Plone accomplishes in the content management space, but ambitious tasks of customer and constituent relationship management (CRM) often fall outside the scope of the content management problem domain. Yet the latter is an equally critical need for organizations. Salesforce.com is a well known and established leader for customer and constituent relationship and with it's innovative API-first design, over 50% of all traffic comes via its SOAP API. This makes it an obvious candidate for integration with Plone and there are tools (Beatbox, Salesforce Base Connector, Salesforce PFG Adapter, and Salesforce Auth Plugin) to do just that.

This talk will introduce the use cases where Plone can benefit from CRM integration, Salesforce.com's ability to model an organization's business processes, and how, where and why they can and do compliment each other. This has everything to do with choosing the best of breed CRM and CMS and using them together to transform your organization. Why build it from scratch, when you can integrate it with Plone?


The only part I'm dreading about the conference -- making all the tough choices about what talks to attend. Congratulations to the organizers for such an impressive talk list.  There's not one talk I wouldn't want to attend.


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: