<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Handel Framework</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://handelframework.com/blog/atom.xml" />
   <id>tag:handelframework.com,2007:/blog//5</id>
    <link rel="service.post" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5" title="Handel Framework" />
    <updated>2007-06-24T16:59:53Z</updated>
    <subtitle>A simple commerce framework in Perl with AxKit/TT/Catalyst support.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.34</generator>
 
<entry>
    <title>Handel 1.0 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handel_10_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=822" title="Handel 1.0 Released" />
    <id>tag:handelframework.com,2007:/blog//5.822</id>
    
    <published>2007-06-24T15:26:43Z</published>
    <updated>2007-06-24T16:59:53Z</updated>
    
    <summary>After just over a year of development and testing, I&apos;m pleased to finally announce the 1.0 release of Handel. The 1.0 release has undergone a major rewrite from the 0.3x series of releases and includes many new features and fixes....</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>After just over a year of development and testing, I'm pleased to finally announce the 1.0 release of Handel. The 1.0 release has undergone a major rewrite from the 0.3x series of releases and includes many new features and fixes. The new features include:</p>

<h3>DBIx::Class Support</h3>

<p>Handel now uses DBIx::Class instead of Class::DBI as the default ORM. Many thanks to the DBix::Class folk for all the support. Without the flexibility that DBIx::Class provides, Handel 1.0 would be a much less flexible.</p>

<h3>Rose::DB::Object Support</h3>

<p>For those who prefer working with Rose instead, Handel::Storage::RDBO 1.0 has also been released.</p>

<h3>Schema Alterations</h3>

<p>You can now add/remove columns from/to the default classes and schema with only a few lines of code.</p>

<h3>Interchangable Schemas</h3>

<p>If you already have an existing schema in your application, Handel can now use that instead of it's own.</p>

<h3>Abstract Storage Layer</h3>

<p>Handel now uses an abstract storage layer for cart/order operations. The default layer is Handel::Storage::DBIC and a Handel::Storage::RDBO layer is also available. New storage layers may be written (XML, LDAP, SOAP, Amazon, Google, etc) and can be used by your Handel code with almost no code changes.</p>

<h3>Module::Starter QuickStart</h3>

<p>Handel now includes a Module::Starter module and scripts to quick get a custom cart/order system up an running and deploy the schema to an existing database.</p>

<h3>Pre 1.0 Compat Layer</h3>

<p>To make the conversion to 1.0 a little less painful, 1.0 includes a few Compat modules allowing you used the old API with a new 1.0 install.</p>

<h3>Tests, Tests, and More Tests</h3>

<p>In addition to all of the new features and refactoring, Handel now has a plethora of tests and a 99% test coverage. That means that the code base is considered to be very stable and all new code has been accounted for.</p>

<p>The new version should be available on a CPAN mirror nearest you shortly. As always, you can find the latest version in the <a href="http://svn.handelframework.com/CPAN/Handel/">Subversion repository</a>. If you need help, please join the <a href="http://lists.rawmode.org/cgi-bin/mailman/listinfo/handel">mailing list</a> or stop by #handel@irc.perl.org.</p>

<p>Happy Carting!</p>]]>
        
    </content>
</entry>
<entry>
    <title>Handel 0.99_19 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handel_099_19_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=821" title="Handel 0.99_19 Released" />
    <id>tag:handelframework.com,2007:/blog//5.821</id>
    
    <published>2007-06-22T02:27:29Z</published>
    <updated>2007-06-22T02:34:51Z</updated>
    
    <summary>DBIx::Class 0.08 is out. Code coverage is up to date. All tests pass. With any luck, this will be the last release before I kick 1.0 out into the world. 0.99_19 Thur June 21 21:02:36 2007 Storage-&gt;setup now puts non-accessor...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>DBIx::Class 0.08 is out. Code coverage is up to date. All tests pass. With any luck, this will be the last release before I kick 1.0 out into the world.</p>

<p>0.99_19 Thur June 21 21:02:36 2007</p>

<ul>
<li>Storage->setup now puts non-accessor keys into %$self</li>
<li>Removed incomplete L10N Lexicons</li>
<li>Cleanup coverage before 1.0 release</li>
<li>DBIx::Class 0.08 Released & Required</li>
<li>Added AutoCommit to Handel::Test</li>
<li>Tweaked failing checkout process tests</li>
</ul>

<p>0.99_18 Wed Apr 18 19:55:09 2007</p>

<ul>
<li>Added --version to handel.pl/handel.bat</li>
<li>Fixed Handel::Compat::Currency pod</li>
<li>Updated prereq to use DBIx::Class 0.07999_02</li>
<li>Added skips for DBD::SQLite 1.13 (teh devil) causing failing tests</li>
<li>Updated Perl::Critic tests</li>
</ul>

<p>Once 1.0 is kicked out the door, I need to spend some time getting the RDBO storage layer up to date. Then, it's back to Mango.</p>]]>
        
    </content>
</entry>
<entry>
    <title>New Mango Website</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/new_mango_website/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=805" title="New Mango Website" />
    <id>tag:handelframework.com,2007:/blog//5.805</id>
    
    <published>2007-04-10T16:11:51Z</published>
    <updated>2007-04-10T16:18:11Z</updated>
    
    <summary>Since things have died down on the Handel front until DBIx::Class 0.08 comes out, and I recently hit a progress slump on Mango, I&apos;ve put up a new blog for Mango. With any luck, I&apos;ll try and post about progress...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>Since things have died down on the Handel front until DBIx::Class 0.08 comes out, and I recently hit a progress slump on Mango, I've put up a <a href="http://mangoframework.com/blog/">new blog for Mango</a>.</p>

<p>With any luck, I'll try and post about progress often.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Breaking API Change in 0.99_17</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/breaking_api_change_in_099_17/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=798" title="Breaking API Change in 0.99_17" />
    <id>tag:handelframework.com,2007:/blog//5.798</id>
    
    <published>2007-03-19T21:16:10Z</published>
    <updated>2007-03-19T22:35:30Z</updated>
    
    <summary>First, to those who are using 0.99_16 or so, I&apos;m sorry, but this has to be done. Breathe in. Breathe Out. It&apos;s not going to be that bad. :-) Through all of my tinkering with the Handel::Currency class to do...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>First, to those who are using 0.99_16 or so, I'm sorry, but this has to be done. Breathe in. Breathe Out. It's not going to be that bad. :-)</p>

<p>Through all of my tinkering with the Handel::Currency class to do conversions, formatting and integrate inflation into DBIx::Class, I kept feeling the urge to put some parts of it on CPAN because it felt like reusable code. During a few down days, I did just that. Thus, <a href="http://search.cpan.org/dist/Data::Currency/">Data::Currency</a> and <a href="http://search.cpan.org/dist/DBIx::Class::InflateColumn::Currency/">DBIx::Class::InflateColumn::Currency</a> were born.</p>

<p>During that process, I had a chance to clean up the Handel::Currency API into something more precise for non Handel users. The biggest change was that <sample>format</sample> is now just a property get/set like <sample>code</sample> is. It simply sets the preferred format of the current currency object. The act of formatting a currency object into a string has been moved to <sample>as_string</sample>. This felt sane because <em>format</em> can be verbish and nounish when talking about the currency object, so I chose to make it play the property role. As a matter of old code, <sample>stringify</sample> now is the same as <sample>as_string</sample>, rather than returning <sample>value</sample>.</p>

<p>So, for those using Handel 0.33, nothing is changing. When you upgrade to Handel 1.0, you can still use the Handel::Compat::Currency module if you like. For those of you using a recent version of Handel 0.99_xx, your code will have to change to use <sample>as_string</sample> instead of <sample>format</sample>. These changes will be in 0.99_17 once it hits CPAN and should be commited to the repository sometime soon.</p>

<p>I only feel slight bad about that. It <em>is</em> a developer release after all. :-)</p>]]>
        
    </content>
</entry>
<entry>
    <title>Handel 0.99_16 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handel_099_16_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=793" title="Handel 0.99_16 Released" />
    <id>tag:handelframework.com,2006:/blog//5.793</id>
    
    <published>2006-12-21T21:29:37Z</published>
    <updated>2007-02-11T21:02:36Z</updated>
    
    <summary>One more for the trolls, with some added order_by goodness for Kaare. Added \%options/order_by to search/items in Cart/Order Added has_column to DBIC Storage to use ResultSource-&gt;has_column Added has_column to Result/DBIC Result Fixed TT demo code. Maybe that will die some...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>One more for the trolls, with some added order_by goodness for Kaare.</p>

<ul>
<li>Added \%options/order_by to search/items in Cart/Order</li>
<li>Added has_column to DBIC Storage to use ResultSource->has_column</li>
<li>Added has_column to Result/DBIC Result</li>
<li>Fixed TT demo code. Maybe that will die some day. Seriously. Two words: Catalyst Helpers. :-)</li>
<li>Fixed issue where Compat Currency convert failed with converter returns 0</li>
<li>Changed quickstart setup script to *_handel.pl</li>
<li>Added 0700 perms to handel.pl app script</li>
<li>Storage::process_error now only dies Handel::Exception subclasses instead of all blessed objects</li>
<li>Renamed DBIC schema classes into Schema::DBIC space, like their RDBO cousins</li>
</ul>]]>
        
    </content>
</entry>
<entry>
    <title>Handel::Storage::RDBO 0.01_02 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handelstoragerdbo_001_02_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=792" title="Handel::Storage::RDBO 0.01_02 Released" />
    <id>tag:handelframework.com,2006:/blog//5.792</id>
    
    <published>2006-12-21T17:44:10Z</published>
    <updated>2007-02-11T21:02:36Z</updated>
    
    <summary>From the I need a new hobby department, I present to you the second dev release of Handel::Storage::RDBO... Reworked init_db/Storage connection with the help of John Siracusa Storage connection_info is now just like the DBIC storage connection_info Requires latest version...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>From the I need a new hobby department, I present to you the second dev release of Handel::Storage::RDBO...</p>

<ul>
<li>Reworked init_db/Storage connection with the help of John Siracusa</li>
<li>Storage connection_info is now just like the DBIC storage connection_info</li>
<li>Requires latest version of Rose::DB from svn/0.732 when released</li>
<li>Fixed pod typo in Storage::Order::Item</li>
</ul>]]>
        
    </content>
</entry>
<entry>
    <title>Handel::Storage::RDBO 0.01_01 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handelstoragerdbo_001_01_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=791" title="Handel::Storage::RDBO 0.01_01 Released" />
    <id>tag:handelframework.com,2006:/blog//5.791</id>
    
    <published>2006-12-19T19:03:20Z</published>
    <updated>2007-02-11T21:02:36Z</updated>
    
    <summary>Just because I can, and also as an exercise to make sure the storage layer in the upcoming Handel 1.0 is abstracted to my liking, I&apos;m happy to announce the first release of Rose::DB::Object support for Handel. The dist includes...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>Just because I can, and also as an exercise to make sure the storage layer in the upcoming Handel 1.0 is abstracted to my liking, I'm happy to announce the first release of Rose::DB::Object support for Handel.</p>

<p>The dist includes the requisite storage, schema, and result classes needed to use Handel 1.0 with Rose::DB::Object classes instead of the DBIx::Class schema classes.</p>

<p>To use RDBO instead of DBIC, all you have to do is change the storage_class in your storage classes generated by the bootstrap:</p>

<pre><code>package MyApp::Storage::Cart;
use strict;
use warnings;

<p>BEGIN {<br />
    use base qw/Handel::Storage::DBIC::Cart/;<br />
};</code></pre></p>

<p>becomes:</p>

<pre><code>package MyApp::Storage::Cart;
use strict;
use warnings;

<p>BEGIN {<br />
    use base qw/Handel::Storage::RDBO::Cart/;<br />
};</code></pre></p>

<p>You will need to do this in the Cart, Cart::Item, Order, and Order::Item storage classes. At some point I will change the generation scripts to allow one to specify DBIC or RDBO during code generation.</p>

<p>Handel-Storage-RDBO-0.01_01 should be available on CPAN shortly, and requires Handel 1.0, which doesn't yet exist. Please use the latest code from the 1.0 branch for now until I get another dev release out the door:</p>

<p>http://svn.handelframework.com/CPAN/Handel/branches/DBIC-1.0/</p>

<p>-=Chris</p>]]>
        
    </content>
</entry>
<entry>
    <title>Handel 0.99_15 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handel_099_15_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=788" title="Handel 0.99_15 Released" />
    <id>tag:handelframework.com,2006:/blog//5.788</id>
    
    <published>2006-11-12T22:50:59Z</published>
    <updated>2007-02-11T21:02:37Z</updated>
    
    <summary>Wow. I think my eyes are bleeding. This release has a lot of work behind it. One of the big new features is Module::Starter::Handel, the handel.pl starter script, and another Catalyst helper that combines the old helper output with the...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>Wow. I think my eyes are bleeding. This release has a lot of work behind it. One of the big new features is Module::Starter::Handel, the handel.pl starter script, and another Catalyst helper that  combines the old helper output with the new starter subclasses. And oh yeah, ~99% test coverage doesn't suck either.</p>

<p>I still have to make Perl::Critic happy with the test suite (test labels). The L!0N lexicons need completed, and the demos still need fixed. This might possibly be the last dev release before 1.0.</p>

<ul>
<li>L10N files now use constant-like keys rather than english errors</li>
<li>L10N::es_es.pm reworked by Diego Kuperman</li>
<li>L10N::fr reworked by Pierrick DINTRAT</li>
<li>Added l10n_lexicon_synced.t to ensure language lexicons are synced with each other via key checks</li>
<li>Removed constraint_uuid check from Checkout order/cart since it's not subclass friendly (RT#19813,TKP)</li>
<li>Checkout cart now throws an exception of now order can be found matching the search criteria</li>
<li>Converted tests to use Handel::Test</li>
<li>Cleanup tests against Perl::Critic</li>
<li>Fixed Checkout prototype mismatch warning under perl > 5.8.8</li>
<li>Added more config tests for MP1/MP2</li>
<li>Added more Schema connect tests</li>
<li>Added more Base tests</li>
<li>Added Iterator tests</li>
<li>Fixed bug in Iterator:::DBIC where first increments the resulset</li>
<li>Fixed issue in Cat Helpers that treated MyApp::Controller:: as a valid name</li>
<li>Added Catalyst Model setup tests</li>
<li>Added Catalyst Scaffold Helper tests</li>
<li>Added checkout_class to Order pod</li>
<li>Added Module::Starter::Handel to help kickstart Handel projects</li>
<li>Added currency_code_column to storage so DBIC inflators can set currency code using another column in the row</li>
<li>Removed formatting options from Currency->convert now that it always returns a currency object instead of formatted strings</li>
<li>Reworked Handel::Currency to be more object like with its parameters</li>
<li>Added Handel::Compat::Currency, inserted automatically when loading Handel::Compat</li>
<li>Added compat_currency.t tests</li>
<li>Converted to Module::Pluggable::Object</li>
<li>Cart restore now throws exception on unknown mode like it was supposed to</li>
<li>Only create currency converter when calling convert for the first time</li>
<li>Added handel.pl quickstart scripts for Module::Starter::Handel apps</li>
<li>Added Catalyst::Helper::Handel to create entire cat app w/ starter subclasses</li>
<li>Huge test coverage. 99% w00t!</li>
<li>Mostly Perl::Critic happy...except for some test labels</li>
<li>Probably last release before 1.0!</li>
</ul>]]>
        
    </content>
</entry>
<entry>
    <title>Finished With Code Coverage</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/off_topic/finished_with_code_coverage/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=787" title="Finished With Code Coverage" />
    <id>tag:handelframework.com,2006:/blog//5.787</id>
    
    <published>2006-11-06T02:59:30Z</published>
    <updated>2007-02-11T21:02:37Z</updated>
    
    <summary>It was a long journey to total test coverage, but I estimate I fixed about 15 unknown untested bugs in the process. That&apos;s never a bad thing. Now, it&apos;s time to fix some pod spelling, write the QuickStart pod, make...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Off Topic" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>It was a long journey to <a href="/coverage/coverage.html">total test coverage</a>, but I estimate I fixed about 15 unknown untested bugs in the process. That's never a bad thing. Now, it's time to fix some pod spelling, write the QuickStart pod, make Perl::Critic happy again, fix the old demo code, and release 1.0. Getting closer every day.</p>]]>
        
    </content>
</entry>
<entry>
    <title>An Introduction to Handel</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/presentations/an_introduction_to_handel/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=786" title="An Introduction to Handel" />
    <id>tag:handelframework.com,2006:/blog//5.786</id>
    
    <published>2006-11-02T02:18:00Z</published>
    <updated>2007-02-11T21:02:38Z</updated>
    
    <summary>I&apos;ve put the slides from tonights RubberCity Perl Mongers meeting presentation online. You can find them in the slides directory....</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Presentations" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>I've put the slides from tonights RubberCity Perl Mongers meeting <a href="http://handelframework.com/slides/intro/">presentation</a> online. You can find them in the <a href="/slides/">slides</a> directory.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Code Coverage Statistics</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/off_topic/code_coverage_statistics/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=785" title="Code Coverage Statistics" />
    <id>tag:handelframework.com,2006:/blog//5.785</id>
    
    <published>2006-10-11T18:22:15Z</published>
    <updated>2007-02-11T21:02:38Z</updated>
    
    <summary>For those who like to play along in my game of testing OCD, I&apos;ve put the current code coverage stats online. It&apos;s getting greener all the time. :-)...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Off Topic" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>For those who like to play along in my game of testing OCD, I've put the <a href="/coverage/coverage.html">current code coverage stats</a> online. It's getting greener all the time.  :-)</p>]]>
        
    </content>
</entry>
<entry>
    <title>Module::Starter::Handel</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/new_features/modulestarterhandel/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=784" title="Module::Starter::Handel" />
    <id>tag:handelframework.com,2006:/blog//5.784</id>
    
    <published>2006-10-11T04:06:38Z</published>
    <updated>2007-02-11T21:02:38Z</updated>
    
    <summary>After a few different people have struggled through customizing their use of Handel, I decided that it might be worth it to hack together a quickstart script that took care of all the basic subclassing hoopla. The new module can...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="New Features" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>After a few different people have struggled through customizing their use of Handel, I decided that it might be worth it to hack together a quickstart script that took care of all the basic subclassing hoopla. The new module can be found in <a href="http://svn.handelframework.com/CPAN/Handel/branches/DBIC-1.0/">the 1.0 dev branch</a> and it requires that you have <em>Module::Starter</em> installed.</p>

<p>To create a new project, call the <em>module-starter</em> script passing in the <em>class</em> parameter, the project name and the other parameters required by <em>module-starter</em>:</p>

<pre><code>module-starter --class=Module::Starter::Handel --module=MyProject \
    --author="Me" --email="me@example.com" --verbose</code></pre>

<p>and you should end up with some nice new spiffy project modules:</p>

<pre><code>Created MyProject
Created MyProject\lib\MyProject
Created MyProject\lib\MyProject\Cart.pm
Created MyProject\lib\MyProject\Cart
Created MyProject\lib\MyProject\Cart\Item.pm
Created MyProject\lib\MyProject\Storage
Created MyProject\lib\MyProject\Storage\Cart.pm
Created MyProject\lib\MyProject\Storage\Cart
Created MyProject\lib\MyProject\Storage\Cart\Item.pm
Created MyProject\lib\MyProject\Order.pm
Created MyProject\lib\MyProject\Order
Created MyProject\lib\MyProject\Order\Item.pm
Created MyProject\lib\MyProject\Storage\Order.pm
Created MyProject\lib\MyProject\Storage\Order
Created MyProject\lib\MyProject\Storage\Order\Item.pm
Created MyProject\lib\MyProject\Checkout.pm
Created MyProject\t
Created MyProject\t\pod-coverage.t
Created MyProject\t\pod.t
Created MyProject\t\boilerplate.t
Created MyProject\t\00-load.t
Created MyProject\.cvsignore
Created MyProject\Makefile.PL
Created MyProject\MANIFEST
Created starter directories and files</code></pre>]]>
        
    </content>
</entry>
<entry>
    <title>Handel 0.99_14 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handel_099_14_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=778" title="Handel 0.99_14 Released" />
    <id>tag:handelframework.com,2006:/blog//5.778</id>
    
    <published>2006-09-24T00:08:20Z</published>
    <updated>2007-02-11T21:02:40Z</updated>
    
    <summary>Second verse, same as the first. Added Order::save method MarkOrderSaved plugin now uses Order::save method instead of setting the type field directly Removed constraint_uuid check from Order create/reconcile as it&apos;s not subclass of interchangable schema friendly (RT#19813,TKP) Changed id references...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>Second verse, same as the first.</p>

<ul>
<li>Added Order::save method</li>
<li>MarkOrderSaved plugin now uses Order::save method instead of setting the type field directly</li>
<li>Removed constraint_uuid check from Order create/reconcile as it's not subclass of interchangable schema friendly (RT#19813,TKP)</li>
<li>Changed id references in search to use first primary key from Storage (RT#19813,TKP)</li>
<li>Order creation from cart no does can('shopper') to help w/ subclassing</li>
</ul>]]>
        
    </content>
</entry>
<entry>
    <title>Handel 0.99_13 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handel_099_13_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=774" title="Handel 0.99_13 Released" />
    <id>tag:handelframework.com,2006:/blog//5.774</id>
    
    <published>2006-09-21T00:10:49Z</published>
    <updated>2007-02-11T21:02:41Z</updated>
    
    <summary>There&apos;s nothing to see here. Just some methods to make custom storage classes a tad bit easier. Please move along. Added NEXT to prereqs for Handel::Compat Moved FormValidator::Simple from recommended to prereqs Added set_default_values to Storage Added check_constraints to Storage...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>There's nothing to see here. Just some methods to make custom storage classes a tad bit easier. Please move along.</p>

<ul>
<li>Added NEXT to prereqs for Handel::Compat</li>
<li>Moved FormValidator::Simple from recommended to prereqs</li>
<li>Added set_default_values to Storage</li>
<li>Added check_constraints to Storage</li>
<li>Added validate_data to Storage</li>
</ul>]]>
        
    </content>
</entry>
<entry>
    <title>Handel 0.99_12 Released</title>
    <link rel="alternate" type="text/html" href="http://handelframework.com/blog/announcements/handel_099_12_released/" />
    <link rel="service.edit" type="application/atom+xml" href="http://handelframework.com/mt/mt-atom.cgi/weblog/blog_id=5/entry_id=771" title="Handel 0.99_12 Released" />
    <id>tag:handelframework.com,2006:/blog//5.771</id>
    
    <published>2006-09-16T03:25:24Z</published>
    <updated>2007-02-11T21:02:42Z</updated>
    
    <summary>I swear, the closer I get, the farther away I am [from 1.0]. Moved Locale::Currency/Format and WebServiceX modules to requirements Currency new() now takes $code and $format params Added name/code to Currency Added converter_class to Currency Added currency_code and currency_format...</summary>
    <author>
        <name>Christopher H. Laco</name>
        <uri>http://today.icantfocus.com/blog/</uri>
    </author>
            <category term="Announcements" />
    
    <content type="html" xml:lang="en" xml:base="http://handelframework.com/blog/">
        <![CDATA[<p>I swear, the closer I get, the farther away I am [from 1.0].</p>

<ul>
<li>Moved Locale::Currency/Format and WebServiceX modules to requirements</li>
<li>Currency new() now takes $code and $format params</li>
<li>Added name/code to Currency</li>
<li>Added converter_class to Currency</li>
<li>Added currency_code and currency_format to Storage</li>
<li>Storage::DBIC now passes currency_code/format into DBIC inflate subs for currency_columns</li>
<li>Added Storage::DBIC currency_code/currency_format tests</li>
<li>Finished Perl::Critic cleanup</li>
</ul>]]>
        
    </content>
</entry>

</feed> 

