changelog
2009-03-31
General Update on last 3 Months of GetPaid
Woh...that was fast. Sorry for hiatus in communication. Here's a recap.
The last three months have been a bit of a blur. One of the things that has fallen off my plate was updating the GetPaid blog. So, here's a roundup of news from GetPaid:
Product
- The preferred means of consumption is the recipe! Tarballs are soooo Plone 2! (nothing against tarballs, actually, just no one is packaging them - if you want to lend a hand let us know via the mailing list). So while there aren't any new tarballs about since the 0.6.2 version, GetPaid has actually advanced to 0.7.5 and just reached rev2400! The recipe itself is at version 1.4.1 thanks to the continued efforts of the marvellous Lucie Lejard (aka La Reina de la Receta). Here's some of the changes to look out for:
- Payment processors: Payflopro is now a supported payment processor (larubbio)! ClickandBuy is also supported (olauzanne)! Pagseguro (Brazilian processor) is also in the works (rafaelcrocha) as well as VCS South Africa (hannesc). Ogone, PayPal, and Authorize.net all got an updates.
- PloneFormGen integration: after the demise of the former mercurial repository where this product was hosted, the action adapter to integrate GetPaid with PloneFormGen was migrated into the GetPaid repository (mcgruff.scruff).
- Variable donations amount: GetPaid now natively supports variable donations amounts that can be added to your cart (larubbio)
- Salesforce.com Integration: There is a new prodcut, Products.SalesforceGetPaidAdapter. It subclasses from the current Products.salesforcepfgadapter and allows you to specify what fields in your form, and in getpaids order get saved to salesforce when the order's finance workflow moves to CHARGED.(larubbio)
- More goodies: The cart now allows annotations (larubbio), checkout checks for site root to get store settings (lucielejard), discount details are reflected on the thank you page (flejard)
Documentation
- How to use the PloneFormGen integration (download PDF)
- Features page got light update.
- Creating Content Types That Are Buyable, Shippable or Donations (dunny, copied from Products.PloneGetPaid documentation to web)
- How do I set up buildout for an existing Plone site with the getpaid recipe? (lucielejard)
- How to tie actions to payments (A brief explanation on how to tie workflow transitions, mailing, etcetera to a payment happening in getpaid) (perrito)
Sites
Collecting data on this has been a bit thin lately, even though several people have shared information about sites in the works. One that did launch with GetPaid just today is the York College/City University of New York. If you have additional sites that are live with GetPaid, please let us know via the mailing list!
Community
- Mailing list: 163 people
- Planning continues at our Features Brainstorm doc: http://code.google.com/p/getpaid/wiki/BrainstormingFeatures . Join in! Some of these features are on the drawing boards for Spring development.
2008-10-24
Getpaid Sprint Report Out from Plone Conference
Thanks to Chris Calloway's great leadership and organizing on the Plone Conference Sprint earlier this month! Here is a report out of the progress from the GetPaid sprint.
Following the conference and the talk on GetPaid that got some new people interested in the product, we launched into yet another GetPaid sprint. Conference sprints are great about getting new people involed as well as connecting those in the community. At this sprint, we had 2 people who had been working on GetPaid, Ken (from Contextual Corp, and a sponsor of GetPaid) and Adam (a local to the conference who I got to meet for the first time), and 4 people who were new, including 3 Italians from Abstract (Bruno and Antonio added their names to the checkin roster during the sprint!) and Lee (who shared his PayPal knowledge). What follows is a Sprint report-out of what our small band was able to accomplish (an alternative to this narrative presentation is the list that Ken composed: http://code.google.com/p/getpaid/wiki/PloneConf2008DCSprint ).
On Saturday (see day one crew), we battled network issues to get everyone set up with a buildout. Luckily, it eventually worked (after over 2 hours). In the process, we verified that the recipe created by Lucie works (yeah!!!), making it very easy to drop GetPaid into an existing buildout. We also created a new .cfg file for those wanting to peg their version of Plone with 3.1.6 (the latest release), adding to the buildout configurations for Plone 2.5 and 3.0 that already exist. Even better, the documentation for how to get started was updated with this new info (http://code.google.com/p/getpaid/wiki/DevGettingStarted ).
With the work on Plone 3.1.6, we found a test that was failing (though for a rather silly reason that had nothing to do with GetPaid) and Ken and Adam went about fixing that (rev2064).
Antonio and Bruno went after issues in the tracker with a vengence. Antonio paired with Ken to take on an issue to take out the mystery in matching orders in GetPaid and your payment processor (issue #116). They succeeded to persist processor transaction id and last-4 digits of credit card to ZODB. Also, modified order-summary.pt to present these two fields (rev2072-2074). Bruno also took out #151, which makes it easier to set up GetPaid (more intuitive default settings), added missing Italian translations, and fixed the dist.plone.org links. Adam took on an issue of making the checkout wizard configurable and also created a Howto on adding an administrative screen in GetPaid (something formerly rather mysterious). He added a starting page for making features in the checkout configurable (rev2083 ) and a Howto.
While they sprinted, I worked on updating the internationalization files in GetPaid. Since it has been a while since they were updated, several new ids for tranlation had been introduced (over 100) and all the language files needed these sync'ed so the translations could be added. It was a bit of a mystery on doing this, but with Hanno's help, I was able to get through it. In the process, I discovered some issues with how one of the three domains we use and so couldn't complete the updating (we need to fix the domain tags first)
Sunday was also a bit of a payment processor sprint (see the brain trust). Payment processors are many and varied and most people using GetPaid will at least consider implementing their own, either for existing bank preferences or need for something in their own country. We had Alex (from Finland) and Ken and Lee (both with interest in PayPal) going over the interfaces and examining the APIs. The work on PayPal led to clarification about a few changes needed to get the off-site payment working.
If you want a more detailed view of the changelog, check out:
- Google code's changelog: http://code.google.com/p/getpaid/source/list
- Or the list subscribed to the changes: http://groups.google.com/group/getpaid-changes
2008-09-16
Rev2000! And other news
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.
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. See changelog.
Thanks to all who have been working on the project!
Other noteables from GetPaid:
- GetPaid 0.6.1 tarball now has 895 downloads and has surpassed the 0.3 downloads total!
2008-07-14
Updates from the bleeding edge
It has been a busy month (hence no updates) so I am trying to capture a few quick updates about what has been going on with GetPaid.
First, a quick note...we now have over 400 downloads of our latest release (0.6.1).
Second, Ohloh reports GetPaid as now over 15,000 lines of code!
Third, there has been a good bit of code sharing going on in the community as people are helping each other in their specific projects. Keep an eye on (or join) the mailing list if you want to learn more or partake! Adding fields on the checkout, removing fields, changing payment options and more have all been discussed recently.
And, there was a new piece of documentation written about upgrading your GetPaid and Plone. Check out http://ejahn.net/Members/eric/stories/getpaid-.6-update
Finally, we are up to 125 people on the mailing list.
Code updates:
- Discounts: the discounts product has been getting an overhaul by Lucie. Latest changes include the discount portlet (shows info on the discount). Note to 2.5 users, check the README for how to get this working in your site). The product has had some fixes and has evolved.
- Maurits also reported changes: The price of an item is now added to its catalog brain. So when you have a list of brains and want to know the price of them you no longer need to do a getObject and an adapter lookup to get that price. The price is directly in the searchResults of the portal_catalog.
This needs a reinstall btw. And you should rebuild the catalog afterwards to get the most benefit out of it. - And a second from Maurits: When you make an item payable, getpaid.core fires an event. I added an event handler to PloneGetPaid that is subscribed to that event. This makes sure that the changed item gets reindexed. That is handy for the first change above. And in Plone 3 there is the object_provides index for which this also helps.
- Issue 152 was fixed, thanks Lucie and Maurits for working that out. This should keep the "payable" tab happy in both Plone 3 and 2.5.
- Chinese translation was submitted by Adam
In nearby repositories...
- PloneFormGen and GetPaid integration is available in the repository at http://mercurial.intuxication.org/hg/getpaid-formgen . This product allows two ways of making a formgen form: 1) create a cart from a single page or 2) create a cart and checkout from a single page. Have a look at this product (based on the way the Salesforce.com adapter for PFG works)! It is now in at least one production site...thanks to Daniel and Horacio for making this happen!
Coming soon:
- A patch to fix issue 174 has been created by Robert (Jamie) and will be added to trunk shortly. This will allow anonymous users who register as part of checkout to keep the contents of their cart.
- Restructuring the svn repository: now that we have a proliferation of products in the GetPaid space, releasing has become challenging with just tagging the whole bunch. Restructuring so each product has its own trunk, branches, tags will enable separate lifecycles to be in play.
- Eggs on pypi: finally...
- New viewlet spots on the checkout wizard to allow easy registration of information collection boxes (or whatever) in those spots, as opposed to overriding the checkout.
- Refinement of the PloneFormGen + GetPaid integration so it plays nicely with Salesforce.com + PFG integration. Also, configurable salesforce.com integation with regular GetPaid checkout.
2008-06-13
Tax infrastructure implemented
We had some motivated folks at the Plone Symposium in New Orleans, and ended up doing a one-day sprint. And they got basic tax infrastructure implemented!!
Special thanks to CalvinHP, Claytron, and ChrisW for enthusiasm for taking on the taxes in GetPaid.
At the Plone Symposium in New Orleans, we did some collaborative design of the needs and requirements for tax infrastructure. Then, on last Friday, Calvin, Clayton, and Chris busted out the infrastructure!
Calvin's update reports:
During the NOLA sprint we put in place a few notable changes to the checkout/cart/order totaling so we can support the diverse ecosphere of taxing models around the world.
The old API used to just return a float for the call to the Tax Utility. Now the same call will return a list of dictionaries with one dict per each tax that is potentially applied to the order or configured in the system.
The next step from here would be to finish a default implementation of a ITax policy that can be registered in the site. I would suggest we just do a simple flat tax one so people get the idea of how to develop and register their own.
That is pretty much our current status for now. Let me if there are any other ideas floating around that we haven't thought of.
Please join the mailing list to connect around tax use cases.
You can check out the code in the repository or via buildout. This work will be part of GetPaid's next release.
2008-04-21
133 tests pass and 0 failures!
In getting ready for the release, we are doing cleanup and last minute detail fixes. Here is an update on what we got now :)
Ricardo has been helping us to clean up issues and we are down to 10 listed in the tracker, with several of those actually falling into the "continuous enhancement" category, as opposed to blockers or priority items for this release.
Also, Lucie got her discount product included into the structure!
What has amazed me in working on rounding out the UPS integration...is that I think this may be some of the most feature-rich shipping integration of any of the open source ecommerce tools. We are still learning our way through this, but I was amazed to find how many respected tools don't do some of what we are already handling regarding shipments, tracking, pricing etc! Well, can't wait to get some sites launched on this and more user feedback!
2008-04-15
Preparing for 0.6 Release: Update
A look at the progress towards a release, and updated plans.
Here's a quick look at progress towards the 0.6 release and an update on the release.
- We are over 620 downloads of the 0.3 release tarball! (plus buildout usage)
- A bug got fixed in the 0.3 buildout branch this past week
- Several bugs got fixed in the trunk, including restored Plone 2.5 compatibility for the buildout, report-related bugs, template changes, and more. Also, a tool got added to extract email addresses from customer records. Check out the change logs to see more.
- We are down to 14 issues tagged for M2 (actually less once we verify closure...). See the issues and grab one to fix or test!
- The 0.6 release branch will be made later this week. If you have goodies to include or bugs to fix, please do them asap!
Thanks for tuning in. Grab an issue, test the tools, and let us know how it looks so we can make way for 0.6 :)
2008-03-12
Changelog and News Update
What a busy month! I think I have missed about 150 revisions since the last update, so here goes an attempt to catch up...
What a busy month! I think I have missed about 150 revisions since the last update, so here goes an attempt to catch up...to get the latest, grab our buildout (see documentation here).
Some stats:
- Over 500 downloads of our last stable release!
- A good number of tests going into new products!
- There are now LOTS of open issues (68, actually) in the tracker, which includes lots of change/improvement requests also. If you want to help out please take 'em on!
Highlights of what is in the latest code now:
- UPS shipping support. Still don't quite understand it (some configuration magic that has to happen), but there has been a LOT of work to get this going. Thanks to Kapil, Liam, Perrito and others for working, reworking, and fixing this.
- Shipping setup: this got refactored to be a bit cleaner and have some nice viewlets. Makes it easy to add in multiple shipping methods as we grow.
- Inventory management: Yes!!! getpaid.warehouse now available. This is a rather recent addition (you can only find it now by adding @@inventory to the URL), but it is there! Checkouts change the quantity, there is the ability to add warehouses for a site. More goodies to come as the work is rounded out by Kapil. Nicely done!
- Address book: Thanks to a use case we had for an ifPeople client, we built a means of saving shipping addresses in your profile during checkout, which are then accessible in checkout.
- Auto-loading your details: get tired of typing same details into the screen? Now they get autoloaded! Go lazy programmers!!
- Order templates: reordering your viagra supply ever couple months? Now you can save time in checkout by loading your orders from your past orders!
- Shipping price wired into total price: Now when you select shipping service, it will be added to the total price in the cart/checkout.
- SSL: Now, by default, the site wants SSL. If you are just testing, you need to deactivate this in the GetPaid setup area for checkout to work.
- Checkout wizard refactoring: after a significant refactoring, it got some fixes and improvements and additional testing.
- Relational database: there is also a relational database implementation of getpaid.core (called getpaid.rdb).
- PayPal processor interface!!! No really...I am serious! daMaestro told me in #getpaid just now :)
- PXPay processor: The Kiwis finally have their chance at GetPaid too! Apparently Winterhouse Consulting has done an implementation of this pay processor from Payment Express.
- Authorize.net recurring payments: ifPeople has also done integration with of the Automatic Recurring Billing (ARB) service of authorize.net. Currently in a branch...
- A new release: no details...but probably will be associated with a shipping wrap up. Possibly in late April.
- More sites using GetPaid!
2008-02-13
New News from GetPaid-land
It's been a busy time of activity and talk at GetPaid community, so just wanted to share some news from GetPaid and related topics.
Non-code news
- First thing to mention is that we passed 400 downloads of the release candidate tarball! We have no way of knowing how many people are on buildout, but that adds to the growing number of users.
- Speaking of buildout...it's worth mentioning that there is now a handy tool/bundle to help Windows users get going with buildout! You can read about the "installer for buildout-ready Windows" here. Haven't used it, but glad to know that the windows users are getting exposed to more buildout goodness :)
- Google code added a sweet trac-ish-on-ajax code browser. Check out GetPaid's code here.
- Anyone going to Plone Symposium East? There is still time to submit a proposal for a session on GetPaid (though that ends this Friday)! If you are interested, check it out.
Sprints
- There was mention of interest of GetPaid for the Sorrento sprint. If you are looking to hang out with great folks in lovely place, check out Sorrento sprint!
- There was even mention of a potential DocComm II sprint for this summer at Google again!
If you are interesting in organizing or leading GetPaid sprint activities, please do! Please also share your interest with others on our mailing list.
Code and related
- Big news lately was the merge of work done in a branch into the trunk. This brought in UPS integration, a backend for address books, and a refactored checkout wizard.
- Since the merge, several fixes and modifications have happened including, and there have been several points where the buildout was not in ideal condition, but things are looking up:
- Making xml dependency more sane: the buildout got a bit unwieldy with a dependency on lxml. Liam refactored that out (I believe it is just going to use elementtree). Several folks in the channel today agreed that we need to avoid making the buildout more difficult as a point of distribution. We want people using GetPaid...not fighting with the tool.
- Javier and Perrito fixed compatibility of the new checkout wizard with Plone 2.5 after finding a problem with an import of IBrowserView failing
- Dunny did some externals cleanup on the anonymous buildout and Kapil updated the anonymous buildout also. This brings the anon buildout up to date with the merge and changes in the development version.
- Kapil made several modifications to the checkout wizard and its state handling.
- There is also a lot of stuff planned and at various stages of being worked on:
- UPS UI integration is well advanced. Please have a look, especially if you are able to help out.
- Inventory/warehouse management: Ability to turn this on for a product and site. Keep track of where your stuff is as well as how much of it you have.
- Reporting and storage of orders in relational database: Work is planned on storing orders in a relational (postgres) db and then providing new reports.
- Liam also reports that shipping using USPS (that's US Postal Service for those not in the US) will be easy building on the UPS integration module.
- UI refactoring: after some deployments, there is some frustration with UI and skinning GetPaid that can be overcome with a bit of UI love...
- Probably more goodies too...but I'll leave it at that for now :)
2008-02-07
Trunk getting some big changes today - beware!
There has been a lot of work going on a branch called "kapil-dev", which includes shipping with UPS, an address book available in checkout, and a checkout wizard refactoring.
There has been a lot of work going on a branch called "kapil-dev", which includes shipping with UPS, an address book available in checkout, and a checkout wizard refactoring. Two main changes:
- the store settings are no longer stored in an adapter, instead there in a utility. It's backwards compatible though for access, ie there is an adapter that retrieves the utility. and there is a migration step in place if you go the upgrade tool. Previous settings will work till then.
- the checkout wizard has been refactored in an attempt to make it more customizable. which is in getpaid.wizard. There are separate controllers (sequence of steps ), data managers ( manage all the data in the forms) and steps no longer have to get hardcoded to their order of execution. If you have made programmatic changes to the wizard, you will need to make changes to accomodate the new code. If you override the checkout entirely with your customizations, your changes should be fine.
These changes represent some great new features for GetPaid, yet also mean that the code base is going to change in some significant pieces...so there is going to be a transition that requires attention (note: this is vital for anyone running their site from buildout on the trunk of the product; if you are using the tarball or the RedOchre release branch (0.3), then you don't need to pay attention to this).
If you are running off the trunk, then the next time you update the code base, you will need to perform a migration to fix some of the changes. The "upgrade" screen in GetPaid setup area will be helpful in this - just hit the upgrade button and your site will be fixed!
If you experience any problems, please report to our mailing list or in our irc channel #getpaid.