The anti-sprint (Plone 3.1 testing event March 14-16)

We won’t be writing code or submitting fixes… we will be the ones finding the bugs!

Join us on Friday March 14 to Sunday March 16th and contribute to the Plone community without having to buy a Plone ticket (Plane, I meant Plane).

As I mentioned last month as “champion” for integrator liaisons I’ve committed to leading/coordinating/organizing a monthly gathering at #plone-integrators on the IRC freenode server.

This month is special, this month we have the priviledge of testing the Plone 3.1 release and providing our hard-working developers with the feedback they need to catch those pesky little bugs and squash them til they are good and dead.

This Friday March 14th we’ll gather in #plone-integrators and begin “Real-World” testing of migration to this newer version (with a whole lot of fixes). We are also looking for feedback on fresh installations. How does editing work for you? content rules? Issues with setting up workflow?

Show up on Friday with a site you need (or want) to migrate or just download Plone 3.1 and put this new release to the test.

An example of an issue that needs to be tested: Reports that NuPlone in 3.1 is crashing IE6 & IE7

Installers (for those of us just not ready to handle buildout yet) will be available in the next couple of days (you are welcome to download and test prior to Friday of course).

Come armed with a positive attitude and real desire to help improve Plone.

The event will be open all weekend (I’ll be there as much as possible. I’m participating in the doc sprint at Penn State -remotely) so pop in when you have a little while to participate.

IF you haven’t already please join our Open Plans project for integrators.

http://www.openplans.org/projects/ploneintegrators

Oh and hey, if you don’t have Martin’s book (Professional Plone Development).. let me know in PM when you get to the event. Two lucky type people will get a copy donated by C Squared Enterprises (I’ll announce here on Monday who gets the book..they’ll be picked randomly from those who  stay at least one hour and participate AND don’t have his book yet :-)) Even if you aren’t a programmer/developer you can still give the book to someone who is.. 🙂

Come and go according to your schedule.. but please do join us! We can use all the feedback you all can spare!

PSPS 2008 – report from an Integrator

We are heading into our last day of the Plone Strategic Planning Summit.Our laptops have been packed away and our focus has been to be “present” and involved. It is amazing to see just how many here have dug in to the task at hand and are doing it without bloodshed (ok we are adults but there are some passionate opinions). The overall event has been fantastically well organized.

The only thing that I’d do different is allow for some free discussion with the entire group that allows true debate on some of the hottest issues. OK some feelings will get hurt.. but I think there is an undercurrent here of “let’s get this resolved and get the real work done”. Who wants to invest the next six months to a year working on an application only to find out that everything is going to change?

The discussion about whether Plone is a product or framework.. has been pushed aside a few times and I’m hoping today is the day where we get to really pin this down.. just like we have so many other issues related to the “framework/product/thing that is Plone. I still cannot answer the question: “What is Plone?”. (I mean I can tell you conceptually, I can tell you what it is capable of.. but I can’t tell you what it is in an “elevator speech”)

Overall, this summit has been an eye-opening experience. There is a real desire from the developers to connect/engage with the integrator (which always benefits the end-user as they are the beneficiary of our content .. err happiness) I’m feeling more a part of the overall community rather than on one side or the other and truly believe the Plone Strategic Planning Summit is the best thing that has happened to Plone in a long, long time.

I’ll provide more details as to what has happened over the last couple days. Right now it’s off for our last day together (I’m feeling like this needed to be a full week.. because there is so much to do.. but this has provided us with a solid jumping off point) Here is to continued momentum in this direction.

Off to summit, blog at you later!

Doccomm Sprint: Ecommerce (GetPaid) Report

(compiled and edited by Chris Johnson, ifPeople)

Happy Birthday, GetPaid!

Live from e, the 29th of June 2007, born was one GetPaid, child of Plone and Community. The excited parents were gathered around a room accented with blue, red, yellow, and green chairs. They shared in the joy of seeing their combined contributions resulted in something amazing: Plone and Community had just given birth to a commerce system!

Time of birth: doccomm Plone Sprint, Day 5, Summer
Place of birth: e <photo>, GooglePlex, Mountain View, CA
Given name: GetPaid
Family name: Plone
Weight at birth: 1.5 Mb
Delivery method: buildout

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.
<!– D([“mb”,”u003cbr />Led by Kapil Thengavelu, core Plone committer and author of many products for 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 from Argentina) on the project’s Google Code are: u003ca onclicku003d”return top.js.OpenExtLink(window,event,this)” hrefu003d”http://code.google.com/p/getpaid” targetu003d_blank>code.google.com/p/getpaidu003c/a> . 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. 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.u003cbr />u003cbr />Among the accomplishments of the week for GetPaid:u003cbr />- an elegant framework thanks to Kapil’s architectingu003cbr />- Integrate three payment processors (u003ca onclicku003d”return top.js.OpenExtLink(window,event,this)” hrefu003d”http://Authorize.net” targetu003d_blank>Authorize.netu003c/a>, GoogleCheckout, PayPal)u003cbr />- Create a shopping cart and means of adding items to itu003cbr />- Refine the means designating content as &quot;payable&quot;u003cbr />- Provide a working delivery method for the product (via buildout/ploneout) for technical users to quickly get set upu003cbr />- Integrate user information collection and registration into the checkout processu003cbr />- Order management interface to track both site-wide transactions (and status) as well as to provide end users a view of their own transactionsu003cbr />- Shipping functionality via integration of UPSu003cbr />- Tests! Unit, doc, and functional testsu003cbr />u003cbr />The 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:u003cbr />- A remote sprint (continuing energy of the sprint at Google)u003cbr />- Documentation of API and roadmapu003cbr />”,1] ); //–>
Led by Kapil Thengavelu, core Plone committer and author of many products for 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 from Argentina) 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. 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.

Among the accomplishments of the week for GetPaid:
– an elegant framework thanks to Kapil’s architecting
– Integrate three payment processors (Authorize.net, GoogleCheckout, PayPal)
– Create a shopping cart and means of adding items to it
– Refine the means designating content as “payable”
– Provide a working delivery method 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
– Shipping functionality via integration of UPS
– Tests! Unit, doc, and functional tests

The 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 remote sprint (continuing energy of the sprint at Google)
– Documentation of API and roadmap
<!– D([“mb”,”- Set up demo site with latest version of productsu003cbr />- Clean up integration of workflow and payment processorsu003cbr />- Organize additional developers and funding to build out for specific use cases of &quot;premium content&quot;, &quot;pay to submit&quot;, and advanced store features.u003cbr />u003cbr />The Recipe: Beans and Riceu003cbr />u003cbr />For those who are interested in more technical information…check the directory where your buildout ran and meet getpaid.core and PloneGetPaid. They are designed to work together 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 product getpaid.core is a pure Zope product, while PloneGetPaid provides Plone integration and configuration.u003cbr />u003cbr />The approach to integrating with a site is to provide the ability to make any content in a Plone site &quot;payable&quot; by providing a &quot;marker interface&quot;. This trick, inspired by the Plone4Artists project, allows GetPaid to add to the site without actually changing the existing content. The system is built using Zope 3 technologies for adapters so that it can easily be adapted for custom storage of data (for example, 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 u003ca onclicku003d”return top.js.OpenExtLink(window,event,this)” hrefu003d”http://code.google.com/p/getpaid” targetu003d_blank>code.google.com/p/getpaidu003c/a> for more on the product and its use.u003cbr />u003cbr />Where get paid goes from now?u003cbr />u003cbr />&lt;geek&gt;Eggs Don’t Care!&lt;/geek&gt;u003cbr />u003cbr />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 sprint was an important step in getting new people into the code and working with the product. What’s next? Well, we will have to see – maybe you want to be a part of that! Visit u003ca onclicku003d”return top.js.OpenExtLink(window,event,this)” hrefu003d”http://www.plonegetpaid.com” targetu003d_blank>www.plonegetpaid.comu003c/a> and get connected!u003c/div>”,0] ); //–>- Set up demo site with latest version of products
– Clean up integration of workflow and payment processors
– Organize additional developers and funding to build out for specific use cases of “premium content”, “pay to submit”, and advanced store features.

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 are designed to work together 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 product getpaid.core is a pure Zope product, while PloneGetPaid provides Plone integration and configuration.

The approach to integrating with a site is to provide the ability 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 to the site without actually changing the existing content. The system is built using Zope 3 technologies for adapters so that it can easily be adapted for custom storage of data (for example, 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.

Where get paid goes from now?

<geek>Eggs Don’t Care!</geek>

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 sprint was an important step in getting new people into the code and working with the product. 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!

Doccomm Sprint – Day 5

As the SanFran bound packed up and headed out the doors of Google one last time it struck me as amazing just how productive both teams were (ecommerce and documentation) over the last week. Sprinters from barely 18 years old to 50+ years of age collaborated for hours every day) and you could feel the sense of pride as another milestone was reached.

So maybe “I just finished this.. yay” was typed into the channel while we sat merely 3 feet away.. but it was there.. and it made me proud to be a Plonista. Totally different personalities.. totally different backgrounds.. totally different viewpoints.. and yet progress was made. This is what makes sprinting an experience not to be missed..
This was my very first sprint. I wasn’t sure what to expect and to be honest as a GIT (Geekette in Training) much of what was discussed on the ecommerce side was way over my head. Markers, interfaces, and eggs? I actually know what a python egg is now (thank you siebo and db)..

As an implementer/designer my biggest concern with all the upcoming changes is “How is this going to affect my end users?” and “Does this mean the way we do things to customize a Plone site (especially with look & feel) is going to change? I asked those questions and got honest answers that’ll help to prepare myself and my clients.
Watching everything transpire this week also made me realize there is plenty of room in our community for non-programmers who want to help us continue to enhance Plone’s core functionality..

How can you help?

  • Sponsor a sprinter (help a sprinter with travel, lodging and food)
  • Document, Document, Document… you don’t have to be a programmer to write documentation…this isn’t necessarily the documentation on plone.org either.. this can be helping with Readme.txt’s and intall.txt for core products and third party products.
  • Provide a place for sprinters to get together.. (I for one believe these sprints help to give a team the ability to really hash out things that may hold up development.. a whiteboard and a few diagrams later.. there is only the sound of keys clacking on laptops as the diagrams are turned into working code.)
  • Can’t write?.. don’t have a place to sponsor a sprinter?.. then why not help Plone by testing new beta releases and sending in bug reports..

The Plone community is one of the strongest ones I’ve ever been involved with.. and because of this Plone continues to grow both in implementation and features.. don’t be afraid to step up to the plate and say..

Hey.. how can I help?