<?xml version="1.0" ?>
<?xml-stylesheet href="" type="text/css"?>

<Channel xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns="http://purl.org/net/rss1.1#"
         xmlns:p="http://purl.org/net/rss1.1/payload#"
         rdf:about="http://plonegetpaid.com/updates">

    <title>News</title>
    <link>http://plonegetpaid.com/updates</link>

    <description>GetPaid open source ecommerce blog: A blog about GetPaid for Plone and the news from the project. </description>

    <image rdf:parseType="Resource">
        <title>News</title>
        <url>http://plonegetpaid.com/logo.png</url>
    </image>

    <items rdf:parseType="Collection">
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/10/10/la-reina-del-recipe-lucie-finishes-getpaid-recipe">
            <title>La reina del Recipe: Lucie finishes GetPaid recipe!</title>
            <link>http://plonegetpaid.com/updates/archive/2008/10/10/la-reina-del-recipe-lucie-finishes-getpaid-recipe</link>
            <description>Yesterday Lucie's big news landed - she had finished the GetPaid recipe. As I am getting unburied from conference emails, I was so delighted to see the news! Goooooooooo, Lucie!!! </description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Just in time for the Plone Conference sprint, our Remote Sprint Goddess, Lucie, finished a release recipe for GetPaid, making it much easier for you to include GetPaid in your own recipe. Please give her your thanks and pat on the back!<br /></p>
<p>More from Lucie: <br /></p>
<p>The recipe is working and uploaded on pypi:<br />http://pypi.python.org/pypi/getpaid.recipe.release/1.0<br /><br />You have all the detail on how to use it if you follow the link above. I will probably continue updating it today and make the documentation<br />prettier. I am currectly using it for one of our sites and seems to work correctly so far.<br /></p>
</p:payload>
            <dc:date>2008-10-10T18:21:54-07:00</dc:date>
            <dc:modified>2008/10/10 18:21:54.372 GMT-7</dc:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>release</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/10/08/getpaid-talk-at-plone-conf-slides-available">
            <title>GetPaid talk at Plone Conf - slides available</title>
            <link>http://plonegetpaid.com/updates/archive/2008/10/08/getpaid-talk-at-plone-conf-slides-available</link>
            <description>Fresh off the projector, here are the slides from my GetPaid talk at the Plone Conference 2008 in Washington, DC. </description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Well, just in time production (thanks to perrito and dunny), I had the various "howto's" I needed to explain how to use GetPaid for the talk. <br /></p>
<p>In the talk, I introduce GetPaid and its core features, and then show how it can be used to satisfy various use cases, both with the out-of-the-box components as well as with some customization.</p>
<p>The audience was a decent size (especially considering I was up against Joel Burton at same time slot!), <br /></p>
<p><a href="files/getpaid-presentation-ploneconf-2008.pdf">Download slides here.</a></p>
<p>http://plonegetpaid.com/updates/files/getpaid-presentation-ploneconf-2008.pdf<br /></p>
</p:payload>
            <dc:date>2008-10-08T13:20:11-07:00</dc:date>
            <dc:modified>2008/10/08 13:20:11.114 GMT-7</dc:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>conference</dc:subject>
            
            
            <dc:subject>ploneconf2008</dc:subject>
            
            
            <dc:subject>getpaid examples</dc:subject>
            
            
            <dc:subject>getpaid extensions</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/10/03/preparing-for-plone-conf-presentation-and-sprint-update">
            <title>Preparing for Plone Conf: Presentation and Sprint Update</title>
            <link>http://plonegetpaid.com/updates/archive/2008/10/03/preparing-for-plone-conf-presentation-and-sprint-update</link>
            <description>Getting ready for the conference has been a great motivation to review the state of GetPaid and get ready for involving some new community members in the upcoming sprint. </description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<h3>Surveying the State of the Art in Plone Ecommerce</h3>
<p>I intended my talk for the conference to be a good learning experience that pushed my own understanding of GetPaid. As I am not a developer, I certainly don't know how to do a lot of things that people do with GetPaid. But, as GetPaid was my motive for actually learning how to use svn and making my first checkin, I figure I should be able to figure some of this stuff out using the available documentation and my knowledge of GetPaid. So as part of my talk, which will be walking through what you can do with GetPaid: out of the box, with community addons and with basic customziations, I have been asking a lot of questions! This has motivated some new documentation being produced that will continue to support new community members who are finding GetPaid. Also, I found a few bugs that are now in our tracker. <br /></p>
<p>Some of the things I will show: <br /></p>
<ul><li>Managing inventory with GetPaid</li><li>One-page checkout (with PloneFormGen integration)</li><li>Making a store</li></ul>
And then more customized solutions for: <br />
<ul><li>Pay-to-publish content (working that integrates a payment step for job listings, ads, applications, etc)</li><li>Making your own content type buyable (programmatically)</li><li>Showing GetPaid information on your templates</li></ul>
All of these are things that are in production/live sites already (see <a href="../why/sites-using-getpaid">Sites Using GetPaid</a>). If you want to learn more about GetPaid and how it can help you with all these things - come to my presentation! <b>Wednesday, October 8, 2008 (Day 1) at 2:30pm</b> in the Polaris room.<br /><br />
<h3>Sprint Preparation and Plans</h3>
The great part of trying to learn how to do the above things is being in the "beginners mind" and experiencing GetPaid as new comers would. That right away lead to a list of documentation needs (many of which are out there, just not in our collections and thus readily accessible). Also some bugs that really need addressing. So, I met with Lucie this morning, who has been our Remote Sprint Goddess during the August Sprints, to update the list of<a href="http://code.google.com/p/getpaid/wiki/AugustSprint"> possible sprint topics</a>. <b><a href="http://www.openplans.org/projects/plone-conference-2008-dc/getpaid">If you are interested to join us at the DC Sprint, please sign up here</a></b>.  Based on who we get participating, we can refine this some, but here is an idea of what we have to work on: <br />
<h2><a name="Distribution"></a></h2>
<h2><a name="Distribution">Distribution</a></h2>
<ul><li><a name="Distribution">Eggify components and get to pypi (everything in externals already there) </a></li>
<ul><li><a name="Distribution">getpaid.warehouse </a></li><li><a name="Distribution">getpaid.report </a></li></ul>
<li><a name="Distribution">Finish GetPaid</a><a href="http://code.google.com/p/getpaid/w/edit/GetPaid">?</a> recipe; Document usage </li><li>Buildouts:  </li>
<ul><li>Test and finish reorganization (base, 30, 25, currently on meteoroid-branch) and document buildouts (how to add getpaid) </li>
<ul><li>Document and use in <a href="http://code.google.com/p/getpaid/wiki/DevGettingStarted">DevGettingStarted</a> </li><li>Merge branch or copy files on existing buildout </li></ul>
<li>update anonymous buildout (diff svn externals and cfg file). Fairly easy, as it was last updated in August.  </li></ul>
</ul>
<h2><a name="Bugs_&amp;_Issues">Bugs &amp; Issues</a></h2>
<ul><li><a name="Bugs_&amp;_Issues">fix issues </a></li>
<ul><li><a title="If you restart Zope logged-in users with non-empty carts won't be able to log in again" href="http://code.google.com/p/getpaid/issues/detail?id=209">Issue #209</a>  </li><li><a title="Order search paging doesn't keep filter settings (makes orders inaccessible!)" class="closed_ref" href="http://code.google.com/p/getpaid/issues/detail?id=202"> Issue #202 </a> </li><li><a title="Need to Persist processor_order_id and make visible in Orders search/listing page" href="http://code.google.com/p/getpaid/issues/detail?id=117">Issue #117</a> </li><li>Improve paypal processor: make multi-item checkout possible, make/fix admin screen for processor </li></ul>
</ul>
<h2><a name="i18n">i18n</a></h2>
<ul><li><a name="i18n">update translations </a></li>
<ul><li><a name="i18n">Spanish: in progress (FranGM, Wu, cjj) </a></li><li><a name="i18n">French (very close to done) </a></li><li><a name="i18n">German  </a></li><li><a name="i18n">Italian  </a></li><li><a name="i18n">Chinese </a></li><li><a name="i18n">Dutch </a></li></ul>
</ul>
<h2><a name="Testing">Testing</a></h2>
<ul><li><a name="Testing">add greater test coverage: </a></li>
<ul><li><a name="Testing">getpaid.report </a></li></ul>
</ul>
<h2><a name="Documentation">Documentation</a></h2>
<ul><li><a name="Documentation">gather/improve/update/add documentation (list specific here) </a></li>
<ul><li><a name="Documentation">Review and improve </a><a href="http://code.google.com/p/getpaid/source/browse/Products.PloneGetPaid/trunk/Products/PloneGetPaid/docs/development/make-content-types-buyable.txt" rel="nofollow">content type integration for devs doc</a> </li><li>How to show price (or other GetPaid<a href="http://code.google.com/p/getpaid/w/edit/GetPaid">?</a> properties) on a template in your site </li><li>How to wire payment process to a workflow state change (ie create a piece of content, but pay before it is published) </li><li>How to get and use getpaid.formgen </li><li>How to customize the checkout process (including using available slots, ie for comments) </li><li>Enabling components in buildouts </li><li>Using the new buildouts </li><li>Using the recipe </li><li>Review mailing list and document errors messages (on plone.org doc collection) and how to fix them </li><li>How to get and use getpaid.salesforce </li></ul>
<li><a href="http://code.google.com/p/getpaid/wiki/ReorganizeIssueTracker">ReorganizeIssueTracker</a> (in progress; cjj, gabrielle) </li></ul>
<h2><a name="Release_prep">Release prep</a></h2>
<ul><li><a name="Release_prep">0.7.0 release (would support 2.5 and 3 together) </a></li>
<ul><li><a name="Release_prep">update changelog on plone.org/products/getpaid </a></li><li><a name="Release_prep">branch code </a></li></ul>
<li><a name="Release_prep">make a branch to separate future 2.5 and 3 support (dennis) </a></li></ul>
<br /></p:payload>
            <dc:date>2008-10-03T13:07:21-07:00</dc:date>
            <dc:modified>2008/10/03 13:07:21.116 GMT-7</dc:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>conference</dc:subject>
            
            
            <dc:subject>ploneconf2008</dc:subject>
            
            
            <dc:subject>i18n</dc:subject>
            
            
            <dc:subject>PloneFormGen</dc:subject>
            
            
            <dc:subject>release</dc:subject>
            
            
            <dc:subject>sprint</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/09/26/getpaid-remote-sprint-ploneconf-and-ploneformgen-news">
            <title>GetPaid Remote sprint, PloneConf, and PloneFormGen news</title>
            <link>http://plonegetpaid.com/updates/archive/2008/09/26/getpaid-remote-sprint-ploneconf-and-ploneformgen-news</link>
            <description>It has been quiet on GetPaid blog lately, though we have some good news to share. Read on for more on PloneFormGen integration, PloneConference presentation news, and sprint updates. </description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<h2>GetPaid Presentation at Plone Conf 2008</h2>
<p>GetPaid will be present at the upcoming Plone Conference session <a href="http://plone.org/events/conferences/2008-washington-dc/agenda/toc/ecommerce-in-plone-surveying-the-state-of-the-art">"Ecommerce in Plone: Surveying the state of the art"</a>. If you are interested in learning what you can do with GetPaid, how the <a href="../why/sites-using-getpaid">Sites Using GetPaid</a> were made, and what you can do with GetPaid, please join us on <b>Wednesday, October 8, 2008 (Day 1) at 2:30pm</b> in the Polaris room for this presentation!</p>
<p>Also, don't forget that GetPaid will be present at the Plone Conference Sprint! <a href="http://www.openplans.org/projects/plone-conference-2008-dc/getpaid">Sign up to participate here</a>. A schedule of tasks is coming in a week. <br /></p>
<h2>PloneFormGen Integration Gets Refactoring</h2>
<p>You may have read about the integration between GetPaid and PloneFormGen that happened a couple months ago. Recently, it got some refactoring to make it clearer, thanks to perrito666 (aka Horacio Duran). He also implemented the ability for it to accept multiple "adapters" (in the PFG sense, not the Zope 3 sense). What does that mean? Now you can seamlessly use PloneFormGen with GetPaid and add in your Salesforce.com integration adapters (or whatever other PFG adapters you may have)! <br /></p>
<p>The latest updates are available at the mercurial repo available here: <a href="http://code.except.com.ar/hg/hgwebdir.cgi/getpaid.formgen">


	http://code.except.com.ar/hg/hgwebdir.cgi/getpaid.formgen</a></p>
<p></p>
<h2>Remote Sprints Continue to Further GetPaid</h2>
<p>Lucie Lejard of Six Feet Up is the Goddess of Remote Sprints in GetPaid throughout the summer. After a vacation in France, she returned to wrap up work on improving ease of integrating GetPaid. She has been on a quest for the holy grail of GetPaid deployments - the recipe. <br /></p>
<p>And behold! With the guidance of Clayton (claytron) she is unleashing the power of the recipe! The recipe grabs the eggs, grabs the vendor products, and makes GetPaid a part of your buildout! It is <b>so close</b> to finished. <br /></p>
</p:payload>
            <dc:date>2008-09-26T15:18:25-07:00</dc:date>
            <dc:modified>2008/09/26 15:18:25.449 GMT-7</dc:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>conference</dc:subject>
            
            
            <dc:subject>code</dc:subject>
            
            
            <dc:subject>ploneconf2008</dc:subject>
            
            
            <dc:subject>Salesforce.com</dc:subject>
            
            
            <dc:subject>PloneFormGen</dc:subject>
            
            
            <dc:subject>sprint</dc:subject>
            
            
            <dc:subject>getpaid extensions</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/09/17/sites-using-getpaid-gets-a-makeover">
            <title>Sites using GetPaid gets a Makeover and new listings</title>
            <link>http://plonegetpaid.com/updates/archive/2008/09/17/sites-using-getpaid-gets-a-makeover</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>The Sites Using GetPaid page had become a nightmare to maintain with kupu and I simply couldn't edit it without things blowing up. So, I am <b>really excited</b> to announce that the page is now something organized, lovely, and scalable :D. <br /></p>
<p>I went for my inclination to use structured data and some nice features to clean that mess up and used the <a href="http://plone.org/atsuccessstory">ATSuccessStory</a> product (what is also used for sponsors on the site...this is a version slightly customized by the product author, frapell). <br /><br />Soo.....check out the all new, improved and attractive <a href="../why/sites-using-getpaid/">http://plonegetpaid.com/why/sites-using-getpaid/</a> <br /></p>
<p>I added 4 new sites that hadn't been there previously: <br /></p>
<ul><li>ABB Orderliterature.com &gt;<a href="../why/sites-using-getpaid/abb-orderliterature.com/view"> read more</a></li><li>Natural Awakenings Magazine &gt; <a href="../why/sites-using-getpaid/natural-awakenings-magazine/view">read more</a></li><li>Health Food Guide &gt;<a href="../why/sites-using-getpaid/healthy-food-guide/view"> read more</a></li><li>Women of Reform Judaism &gt;<a href="../why/sites-using-getpaid/women-of-reform-judaism/view"> read more</a><br /></li></ul>
<p>You will also notice that there is a portlet with rotating site features on <a href="..">plonegetpaid.com</a> to highlight the sites as you navigate around.<br /><br />We have some really great example sites out there, so please have a look! <br /><br />If you have a site to add - please let me know - I am now all caught up with all the sites I know of. Also, if you want to send changes to any info there, please let me know.<br /><br /></p>
</p:payload>
            <dc:date>2008-09-17T19:43:46-07:00</dc:date>
            <dc:modified>2008/09/17 19:43:46.273 GMT-7</dc:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>communication</dc:subject>
            
            
            <dc:subject>getpaid examples</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/09/16/rev2000-and-other-news">
            <title>Rev2000! And other news</title>
            <link>http://plonegetpaid.com/updates/archive/2008/09/16/rev2000-and-other-news</link>
            <description>Yesterday was a busy day for the CIA bot in #getpaid. Checkins were pouring in as a few people were hammering away on their projects. The project's liveliness is a great sign as we get closer to the Plone Conference and sprint.

</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>The CIA bot dumped a long list of checkin updates into #getpaid
yesterday afternoon, and remarkably we passed our 2000th revision! In
that swirl of code, paypal workings got fixed thanks to duffyd, some
error controls and bug fixes to the getpaid.report component were added
(and perrito666 hit the 2000 milestone!), googlecheckout got updated by
dunny, and more. <a href="http://groups.google.com/group/getpaid-changes/topics">See changelog</a>. <br /></p>
<p>Thanks to all who have been working on the project! <br /></p>
<p>Other noteables from GetPaid: <br /></p>
<ul><li>GetPaid 0.6.1 tarball now has 895 <a href="http://code.google.com/p/getpaid/downloads/list">downloads</a> and has surpassed the 0.3 downloads total!</li></ul>
Please don't forget - we are part of Plone Conference sprint! If you want to partake, <a href="http://www.openplans.org/projects/plone-conference-2008-dc/getpaid">please sign up here</a>. </p:payload>
            <dc:date>2008-09-16T00:00:00+00:00</dc:date>
            <dc:modified>2008/09/17 18:23:01.996 Universal</dc:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>conference</dc:subject>
            
            
            <dc:subject>ploneconf2008</dc:subject>
            
            
            <dc:subject>sprint</dc:subject>
            
            
            <dc:subject>fixes</dc:subject>
            
            
            <dc:subject>changelog</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/09/10/more-on-getpaid-credits-products">
            <title>More on GetPaid "credits" products</title>
            <link>http://plonegetpaid.com/updates/archive/2008/09/10/more-on-getpaid-credits-products</link>
            <description>I lost a bunch of GetPaid blog posts this week :(, so updating this post and republishing the original...sorry for repeat. </description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<h2>Recap</h2>
Last week we learned: <br />
<p>(12:04:11 AM) dixond: effectively what I've built is a way to turn a Plone site with GetPaid into an advertising channel, where people can pay to publish their content for a fixed time. The basic framework and concept can be extended then to other things also.<br /><br />Stepping down from dixond's elloquent marketing-speak, the use case is something like this: A user needs some credit to make their content public in some way (ie "for a week" or by virtue of a group membership).<br /><br />OK, the nuts and bolts:<br />1) ICreditRegistry for storing the credits (can obviously be in RDBMS but my trivial implementation uses ZODB and BTrees)<br />2) TickingMachine subscriber that knows about ICreditPublishedContent and applies some rules around send reminder emails, depublish, etc<br />3) Archetypes schema extender profile for ICreditPublishedContent to track stuff like 'weeks remaining published'<br />4) Various portlets to allow purchasing credit and using that credit to publish ICreditPublishedContent<br />5) A few basic content types to represent the credit being purchased<br /><br />Basically, what I've been building is a way to buy 'non-things' much like the notion of the 'donatable' type and to keep track of them and then use them for controlling access to arbitrary actions later. At present it works great, I'm spending most of my time 'generic-ifying' it so that it can be re-used elsewhere and isn't tied too closely to my specific use-case. Also on the list are other credit types like 'group membership' etc. Once I've generic-ified it enough this should be 'easy'.<br /><br />Currently, three packages: getpaid.creditpublish, getpaid.creditregistry, getpaid.purchasablecredit<br /><br />Future extensions could also allow content to be accessed by using credits, if a payment processor is implemented which consumes credits.<br /><br />What are others saying: "that's a really needed usecase of getpaid - lots of people will be hopping happy :)" -duffyd on #getpaid<br /><br /></p>
<h2>New stuff</h2>
<br />
<p>So, it did land in the repo - in sandbox: <a href="https://getpaid.googlecode.com/svn/sandbox/dixond/" target="_blank">https://getpaid.googlecode.com/svn/sandbox/dixond/</a></p>
<p>Here is the full post dixond made (can be found in <a href="http://groups.google.com/group/getpaid-dev">mailing list archive</a> also):</p>
<p>I have been busy implementing a slightly different sort of use-case on
top of GetPaid for the last couple of weeks. The scenario is based
around a site where the site owner would like to charge the general
public to run, eg, user-submitted advertisements for a fixed period of
time. Think 'classified ads' or similar. The user is put in complete
control of publishing their content according to a policy (eg, the
first one implemented is for week-by-week publishing). The user pays
for a 'week' of credit, and can then consume those in publishing their
own content for that period of time. Also on the cards is
month-by-month group membership, which could then give them access to
special roles etc for 'all you can eat publishing'.<br />
<br />The overall framework is a relatively big, semi-independent
component/app in its own right, but the payment portion of it is tied
quite closely to GetPaid, and the rest seems to me to tie in nicely to
GetPaid as a whole, so I've attached it in name and spirit to GetPaid
for the moment ;)<br />
<br />There are three pieces that I have uploaded code for currently, all
of them relatively divorced from the nitty-gritty implementation
details and specifics of the use-case that birthed them:<br /></p>
<ol><li>getpaid.purchasablecredits
-- This is just a very simple content type with Title, Description, and
Price that acts as a sort of 'meta-product'. Its only purpose is to be
a buyable type that you can put any details in that you want.</li><li>getpaid.creditregistry -- This is a very basic registry tool to
store 'credits'. The interface could very easily be implemented with
collective.lead in an RDBMS, but the package contains a simple
implementation of getpaid.creditregistry.interfaces.ICreditRegistry
which uses a Persistent utility in the ZODB and BTrees to store the
purchased credits and allow them to be added/removed.<br />
</li><li>getpaid.creditpublish -- This is where all the action is. A
number of different pieces all collaborate inside here to make
everything hang together:</li>
<ol><li>Event handler that watches for
purchases of content items providing IOneWeekPublishedCredit and
increments the counters in the ICreditRegistry utility appropriately</li><li>Portlet providing the mechanism for purchasing 'One Week
Publishing' credits. It gets the price and description of this from any
content item that implements IBuyableContent - when the portlet is
created it asks for the UID of an item to use for
Title/Description/Price - the 'representative object'</li><li>Adapter from the IOrder, ILineItem, and 'representative object' to
be able to add credit records into the ICreditRegistry utility<br />
</li><li>Portlet to allow users to publish/depublish IOneWeekCreditPublishedContent content items (marked with ZCML).</li><li>schema
extender for items marked with IOneWeekCreditPublishedContent to
provide some utility fields (weeksLeftPublished,
republishedReminderSent)</li><li>Event handler subscribed to Products.TickingMachine.ITickEvent.ITickEvent:
this handler provides the de-publish/re-publish logic that drives the
time-based publishing. It runs however often you have your ticking
machine set, and runs a catalog search for
IOneWeekCreditPublishedContent items that have expired or are about to
expire and performs various policy logics on them (eg, re-publish for
another week if the user has requested that, de-publish if they are out
of credit, etc)</li></ol>
</ol>
<br />The various portlets and subscribers are geared currently
to the IOneWeekCreditPublishedContent policy, but there is no reason
other policies can not be added and patterned off the existing one. In
fact I intend to do this for group membership.<br />
<br />Several dependencies are introduced by getpaid.creditpublish:<br />
<ol><li>archetypes.schemaextender (self explanatory I hope)<br /></li><li>cornerstone.browser
(this is a great utility package for BrowserViews and portlet Renderers
to make form/session/cookie handling much nicer and more standard)</li><li>TickingMachine (this one could be made redundant with a persistent
utility in the site root and then cron or ClockServer configured to
just call the method on the utility, but frankly, that is really just
duplicating what TickingMachine already does, and z3 style events are
nice)</li></ol>
Of those three, cornerstone.browser is not yet egg-ified (I think)
so it's an svn checkout, and TickingMachine is an old-style product
available via tarball. I have these two both being fetched with my
custom buildout and can supply buildout steps if anyone needs help.<br />
<br />Known Issues:<br />
<ol><li>There's no tests yet (that's why it's in the sandbox currently ;)</li><li>Probably
there's cruft in various places in the packages as I have spent the
last week refactoring it all out to make it more generally usable</li><li>It's complicated and I haven't documented it yet, except in this email :)</li></ol>
Good Stuff:<br />
<ol><li>It
works. A user can sign up to your site, purchase some credit, create an
IOneWeekCreditPublishedContent item, and get a portlet offering to let
them publish it for however many weeks they want. The only thing you
need to do is add a &lt;five:implements ... /&gt; statement to your
ZCML marking your content with getpaid.creditpublish.interfaces.IOneWeekCreditPublishedContent,
and tell the Credit Publishing portlet which content item contains the
price that should be charged for 'one week of publishing'</li><li>It's egg-ified already (no pypi yet)<br /></li><li>I intend to keep working on it as it is for a live and motivated client</li></ol>
So that's it. The code is currently available at:<br /><a href="https://getpaid.googlecode.com/svn/sandbox/dixond/" target="_blank">https://getpaid.googlecode.com/svn/sandbox/dixond/</a><br />
<br /><b>I'd love any feedback, constructive criticism, svn commits ;),  and
most importantly some sort of consensus as to whether this is something
that would be nice to have in the main GetPaid repository as a plugin.</b></p:payload>
            <dc:date>2008-09-10T19:01:33-07:00</dc:date>
            <dc:modified>2008/09/10 19:01:33.795 GMT-7</dc:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>code</dc:subject>
            
            
            <dc:subject>getpaid extensions</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/09/03/exciting-incoming-addition-to-getpaid-credits">
            <title>Exciting incoming addition to GetPaid: credits</title>
            <link>http://plonegetpaid.com/updates/archive/2008/09/03/exciting-incoming-addition-to-getpaid-credits</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Last week, we peered into the top secret skunkworks of dixond and well,
let the cat out of the bag about an exciting new extension coming to
GetPaid any day now :) Ok, so maybe skunkworks is a bit of
exageration...but I deal with developers who are hard to get to talk!
It is often classified (in heads) until checked in...thanks to a
shocking burst of verbosity, we got this insight: <br /></p>
<p><br /><br />(12:04:11 AM) dixond:
effectively what I've built is a way to turn a Plone site with GetPaid
into an advertising channel, where people can pay to publish their
content for a fixed time. The basic framework and concept can be
extended then to other things also.</p>
<p><br />Stepping down from dixond's elloquent marketing-speak, the use
case is something like this: A user needs some credit to make their
content public in some way (ie "for a week" or by virtue of a group
membership). <br /><br />OK, the nuts and bolts: <br />1) ICreditRegistry for storing the credits (can obviously be in RDBMS but my trivial implementation uses ZODB and BTrees)<br />2)
TickingMachine subscriber that knows about ICreditPublishedContent and
applies some rules around send reminder emails, depublish, etc<br />3) Archetypes schema extender profile for ICreditPublishedContent to track stuff like 'weeks remaining published'<br />4) Various portlets to allow purchasing credit and using that credit to publish ICreditPublishedContent<br />5) A few basic content types to represent the credit being purchased<br /><br />Basically,
what I've been building is a way to buy 'non-things' much like the
notion of the 'donatable' type and to keep track of them and then use
them for controlling access to arbitrary actions later. At present it
works great, I'm spending most of my time 'generic-ifying' it so that
it can be re-used elsewhere and isn't tied too closely to my specific
use-case. Also on the list are other credit types like 'group
membership' etc. Once I've generic-ified it enough this should be
'easy'.<br /><br />Currently, three packages: getpaid.creditpublish, getpaid.creditregistry, getpaid.purchasablecredit<br /><br />Future
extensions could also allow content to be accessed by using credits, if
a payment processor is implemented which consumes credits. <br /><br />What
are others saying: "that's a really needed usecase of getpaid - lots of
people will be hopping happy :)" -duffyd on #getpaid</p>
<br />
What for this landing in the GetPaid repo any time now!</p:payload>
            <dc:date>2008-09-03T00:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:48:07.109 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/09/02/ohloh-updated-finally">
            <title>Ohloh updated...finally</title>
            <link>http://plonegetpaid.com/updates/archive/2008/09/02/ohloh-updated-finally</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>At last the<a href="http://www.ohloh.net/projects/GetPaid" target="_blank"> Ohloh report</a> is updated! So here is the update: <br /></p>
<ul><li>11k+ lines of code</li><li><a href="http://www.ohloh.net/projects/GetPaid/enlistments" target="_blank">19 enlistments</a> (aka different packages/products/libraries)<br /></li><li><a href="http://www.ohloh.net/projects/GetPaid/contributors" target="_blank">Contributors report</a> is now updated. Our top five contributors are now: <br /></li>
<ul><li>Kapil</li><li>Lucie</li><li>Maurits</li><li>Horacio <br /></li><li>Matt Halstead</li></ul>
</ul>
<br />One thing I can't figure out is how did we lose about 4k lines of
code? I think there either must be something missing in the enlistments
-or- pointing at /trunk before indexed some large things not actually
part of the code (like the workflow addons...or Five...or...). I tend
to think it is the later. <br /><br /><br />In other news, we are now at 815 <a href="http://code.google.com/p/getpaid/downloads/list" target="_blank">downloads</a> of the 0.6.1 release. </p:payload>
            <dc:date>2008-09-02T00:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:46:21.899 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/08/28/youre-invited-getpaid-sprint-in-dc">
            <title>You're invited! GetPaid Sprint in DC</title>
            <link>http://plonegetpaid.com/updates/archive/2008/08/28/youre-invited-getpaid-sprint-in-dc</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>We are building on the momentum of last week's 2 day sprint and the
previous Friday sprints in getting GetPaid super-charged. An amazing
amount of cleanup, organizing and catchup is going on in the community
right now - it is great to see (and Fridays are regular GetPaid sprint
days now!). <br /></p>
<br />
<p>We want to continue this momentum and engage new folks - while
taking advantage of a great change to work together in person - at the
Plone Conference in DC in October. We hope you will join us! If you are
interested, please sing up at <a href="http://www.openplans.org/projects/plone-conference-2008-dc/getpaid" target="_blank">http://www.openplans.org/projects/plone-conference-2008-dc/getpaid</a><br /></p>
As we refine more details, we will keep that page updated. In the
meantime, you can get a sense of what we are working on at Friday
sprints (still leveraging the <a href="http://code.google.com/p/getpaid/wiki/AugustSprint" target="_blank">http://code.google.com/p/getpaid/wiki/AugustSprint</a> page for organizing. </p:payload>
            <dc:date>2008-08-28T00:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:45:01.842 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/08/22/sprint-day-2-update">
            <title>Sprint Day 2 Update</title>
            <link>http://plonegetpaid.com/updates/archive/2008/08/22/sprint-day-2-update</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<h3>First summary and warnings:</h3>
<p>we are down to 62 issues open in tracker, about half of which have hte
new metadata applied...and up to 738 downloads of getpaid tarball</p>
<p><b>WARNING: PloneGetPaid code has MOVED. It was eggified...</b><br /></p>
Also, we have declared<i><b> Fridays as recurring GetPaid sprint days</b></i>! Please join us as we keep the momentum going. <br />
<p><br /></p>
<p>As a reminder, GetPaid is ZPL license and we hope that contributors will keep consistency in their packages. <br /></p>
<p><br /></p>
<h3>Updates</h3>
<ul><li>dennisharrison: getpaid.paypal: Working using by setting the
config in python, need to make a configuration screen for it.  Trying
to copy getpaid.googlecheckout, but get errors on local buildout, want
to clear that up and continue on so I have a good template. I want to
make the ipn responder not a content type and just have it in the site
like googlecheckout does</li><li>getpaid.simpletaxation: making a config screen for it now and going to import it into svn soon</li><li>meteoroid:
well, this is slightly related, i eggified the product, but i declared
it as ZPL per whoever answered my question at the time.  that should be
changed to BSD if that is proper. transformed the PloneGetPaid product
to an egg. So you might want to put a warning about that. He put a
readme (normally) about it...but not on this one. it is going to break
things, because the product is no more at the same place</li><li>AdamAtNCPC: I fixed issue 208 (gen_order.py). I made comments on issue 131  </li><li>lucielejard:
ok so I updated the buildout of normal getpaid and anonymous to remove
the dependencies on ore.xd which have been removed. and also I updated
the buildout to have the new address of the PloneGetPaid product which
is now an egg</li><li>cjj: i tagged more things in the issue
tracker...fixed one state misspelling (closed an issue, yeah!)...tested
googlecheckout and reported problems...reported bug on meteriod
buildout and got the trunk buildout working...Also worked on a map of
roles we need for the GetPaid community
http://code.google.com/p/getpaid/wiki/GetPaidCommunityRoles . Appended
notes to Tax wiki page at request of Adam. </li><li>fairwinds:
updating packaging and helping with pypi uploading. i've got about 4 or
5 packages left i think and then lucielejard and i will upload to pypi
the packages, but wil finish this today. </li></ul>
<br /></p:payload>
            <dc:date>2008-08-22T00:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:43:55.863 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/08/21/sprint-day-1-update">
            <title>Sprint Day 1 Update</title>
            <link>http://plonegetpaid.com/updates/archive/2008/08/21/sprint-day-1-update</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Here is a partial list of updates from our standup meeting just
now...includes people who were there and what we could remember :)</p>
<ul><li>Lucie: I updated the getpaid-buildout and the anonymous one so
that they work again, now that ore.viewlet is no more accessible. I put
a bunch of eggs in the cheeseshop and updated the getpaid recipe. <a href="http://pypi.python.org/pypi?%3Aaction=search&amp;term=getpaid&amp;submit=search" target="_blank">Check out list of packages on pypi now</a>!<br /></li><li>dunny: I have done a brief round up of overrides that I know about, gathered here <a href="http://code.google.com/p/getpaid/issues/detail?id=167" target="_blank">http://code.google.com/p/getpaid/issues/detail?id=167</a></li><li>dennisharrison: I am looking for a way to have getpaid accept that request and then make a notification<br /></li><li>meteoroid is working on a branch of the buildout, and will split 2.5 and 3.0<br /></li><li>cjjgetpaidsprint: i updated ohloh enlistments (they are still processing), implemented the metadata for issue tracker (see <a href="http://code.google.com/p/getpaid/wiki/ReorganizeIssueTracker" target="_blank">http://code.google.com/p/getpaid/wiki/ReorganizeIssueTracker</a>
) and started tagging issues (still more to do,...some holes in the
metadata).   i also added list of important issues to address on the <a href="http://code.google.com/p/getpaid/wiki/AugustSprint" target="_blank">sprint page</a> and broke out list of translations needing updating</li><li>
FranGM updated Spanish translation for one file</li><li>fairwinds:
started discussions on proposals for additional abstraction of z3
interfaces so GetPaid could be used more broadly (ie with Grok, pure
z3...), and had example of Ruby libs that do it well. </li></ul>
<br />
<h3>Plans for tomorrow's sprint:</h3>
<p>Dennis: credits for store (ie user can buy credits and then shop with those)</p>
Lucie: I will continue uploading the eggs to pypi to have the recipe done.<br /><br />meteoroid:
i need to split the buildout for 2.5, and eggify the Productand if eggs
are going up, tomorrow i'll work on a production buildout example
without dev eggs<br /><br />Fran, Alvaro, Wu: finish Spanish translations<br /><br />Fairwinds will hopefully draft a proposal for refactoring for discussion<br /><br />Others...probably getting coordinated in the morning tomorrow at #getpaid. <br /><br /><b>NEEDED: </b><br />
<ul><li>People to update the following translations: <br /></li>
<ul><li>French </li><li>German  </li><li>Italian  </li><li>Chinese </li><li>Dutch </li></ul>
<li>More help on issues! <br /></li></ul>
<p><br /></p>
Please join us on #getpaid if you can help out! Thanks to all our remote sprinters!!</p:payload>
            <dc:date>2008-08-21T15:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:42:32.412 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/08/21/getpaid-remote-sprint-off-and-running">
            <title>GetPaid Remote Sprint Off and Running!</title>
            <link>http://plonegetpaid.com/updates/archive/2008/08/21/getpaid-remote-sprint-off-and-running</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>This morning is getting humming in #getpaid with activity as our 2-day
remote sprint starts. Here's a checklist so you can find out how to
pitch in:<br /><br />[  ]  Morning stimulant (plenty of yerba mate here...CHECK!)<br /><br />[  ]  Fresh checkout of GetPaid: https://getpaid.googlecode.com/svn/getpaid.buildout/trunk getpaid.buildout<br /><br />[  ]  Clothing (optional...it's a remote sprint afterall ;)<br /><br />[  ] You in #getpaid - needed!<br /><br />So far this morning, we have:<br /><br />- Fairwinds and Lucie: working on pypi uploads<br />- Dennis: working on Paypal IPN<br />- Me: updated ohloh, now updating Spanish translation<br /><br />Later today I will be working with Gabrielle on the issue tracker.<br /><br />Come on by and help out! Plenty to do.</p>
</p:payload>
            <dc:date>2008-08-21T08:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:40:06.810 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/08/20/getpaid-talk-at-free-software-conference-in-argentina-this-week">
            <title>GetPaid talk at Free Software conference in Argentina this week</title>
            <link>http://plonegetpaid.com/updates/archive/2008/08/20/getpaid-talk-at-free-software-conference-in-argentina-this-week</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Horacio Francisco Sebastián Durán Barrionuevo (aka perrito666) will
give a talk on the quality and simplicity of GetPaid as a complete
e-commerce solution at the <a href="http://jornadas.cafelug.org.ar/8/es/home.php" target="_blank">8th Jornadas Regionales de Software Libre</a> (Regional Free Software Conference) in Buenos Aires, Argentina on August 21, 2008.</p>
</p:payload>
            <dc:date>2008-08-20T16:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:38:30.286 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
        
        <item rdf:about="http://plonegetpaid.com/updates/archive/2008/08/20/sprint-starting-thursday">
            <title>Sprint starting Thursday!</title>
            <link>http://plonegetpaid.com/updates/archive/2008/08/20/sprint-starting-thursday</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Just wanted to remind you that we are sprinting in #getpaid tomorrow (Thurs) and Friday!<br /><br />As
opposed to the little Friday-afternoon-with-GetPaid-and-a-beer kinda
sprints ;), this is time to get down and dirty and get some serious
stuff done! (/me has even managed to keep the calendar almost free!)<br /><br />Lucie
is our awesome Sprint Goddess for the sprint and can help folks looking
to get involved. We have some great work already in motion from the
last sprints (see updates in this blog). We are headed towards the 0.7
release, so there is a good bit of work to go, so we hope you will help
us in making the buildout easier, squashing bugs, adding/editing
documentation, adding some polish and features, and getting ready for
the next version of GetPaid! More info at <a href="http://code.google.com/p/getpaid/wiki/AugustSprint" target="_blank">http://code.google.com/p/getpaid/wiki/AugustSprint</a><br /><br />Please join us on #getpaid . If you aren't there, you can always use this email list to figure out how to help!<br /><br />Go
sprinters go!Given that it is already Thursday in New Zealand (where we
have some awesome GetPaid community members!), feel free to go ahead
and start early :D</p>
</p:payload>
            <dc:date>2008-08-20T08:00:00-07:00</dc:date>
            <dc:modified>2008/09/12 08:36:58.464 GMT-7</dc:modified>
            <dc:creator></dc:creator>
            
        </item>
        
    </items>
</Channel>

