I'm still plugging away. Mostly fixes for feeds and whole lot of live catalyst tests using Test::Class. I really really need to get checkout rolling. I just made it through a Google Checkout integration elsewhere and it would be nice to add that while it's still fresh in my head.
0.01000_12 Mon May 12 21:18:25 2008
- Fixed various controllers to use Chained instead of index : Private
- Converted Live Catalyst tests to Test::Class and added tests for path config option and subclass renames
- Added RSS tests to live tests
- Added Admin tests
0.01000_11 Sun Apr 13 20:39:27 2008
- Added just enough pod to get spelling/coverage happy. Needs serious cleanup.
- Added critic tests and set perltidy standard for dist
- Refactor View::Feed. Needs more tests.
You know the routine. Release [crap] early. Release [crap] often. It's going to be a while till the next update.The Catalyst checkout controller code is going to eat my brain for most of the weekend. After that, it's onward to refactoring, cleaning up templates and adding a buttload of fluff columns to the schema.
0.01000_10 Fri Jan 18 22:27:19 2008
- Added Atom/RSS Feeds to Wishlists
- Added Atom/RSS Feeds to Products(tags)
- Added Feed() action attribute and enable_(feeds|atom|rss)_feed
- Fixed REST->entity() to use new config
- Stop importing blessed in Feed View
Finishing Mango a little bit at a time. Browse/view products via tags now that I got them working.
0.01000_09 Tue Jan 15 22:51:56 2008
- Added related_tags to Products Provider
- Products controller now works for tag browsing, view, with tests
Another weekend, another update. More pages. More tests. Uglier templates. :-/
0.01000_08 Sat Jan 12 22:20:37 2008
- Added wishlist restore plus tests
- Added Users/Wishlists public views with tests
- Renamed resource names
- mango.pl adds profile to go with 'admin' user
- Split Cart into Cart/Items just like Wishlists/Items
- Added sign up page and tests
It's ugly. It's incomplete. It sucks. But a release is a release and progess is progress. My only goal for a while is to keep myself from bogging down in details and thoughts of refactoring and just get things functional. A store in a box has a buttload of pieces to it (user pages, public pages, admin pages, core, etc) and Mango isn't even a one-solution-fits-all-does-everything type of app. But I digress.
It seems that going back to writing live (Test::WWW::Mech) tests seems to better spur productivity, tests I will most definitely need later when refactoring.
0.01000_07 Mon Jan 7 19:07:23 2008
- Added Catalyst::View::TT/Session/Cookie/Store to PREREQ
- Fixed problem in tests with latest Error.pm
- Updated XML::Atom PREREQ and test
- Mango->share now uses module_dir and falls back to ../../share when using
local INC files
- Added mango.pl to create app/config/data/components/database
- Moved users specific controller/form/templates into Users/users namespace
- Fixed urls to deal with not ending in /
- Updating an Attribute wasn't setting update()
- Converted admin to RESTish access
- Controllers now inherit from M::Catalyst:Controller (which does REST/Form
- Merge plugins into Plugin::Application
- Added Auth helpers is_admin/unauthorized
- Added REST helpers want_html/browser/yaml/feed, etc
- Form I18N is now FIELD_LABEL_$FIELD instead of LABEL_$FIELD
- Form I18N is now BUTTON_LABEL_$FIELD instead of LABEL_$FIELD
- Form I18N is now CONSTRAINT_$CONSTRAINT instead of $FIELD_$CONTSTRAINT
- Wishlist admin works mostly, with tests
Time to get rolling again. I started writing 'live' (Test::WWW::Mechanize::Catalyst) tests for force myself to focus on the web side of things and get my nose out of the base class details. I was bogging myself down with all of the things to remember and the possibilities of re factoring. Spent some time patching Catalyst::Action::REST to deal with some issues that were biting me in the ass.
My goal this week is to get an _07 out the door by the end of the weekend that at least has a working quickstart, cart, wishlists and the admin stuff tested. Still way behind. :-(
Back on the wagon again.
- Fixed Template->share when Mango has never been installed
- Stripped action from yml forms, now get path_prefix on the fly
- Base Controllers have form_directory set to cope with subclass rename
- Cart Controller works with add/update/clear/save/delete
- Added Forms plugin companion to Forms controller
- Cart forms is not build from sub-forms
- Form->render now localizes field labels/submit
- Views now fall back to auto/Mango/templates
- Added Form/FormFile attributes to Form controller
In general, I think I finally have things the way I want them in terms of forms, base controllers and the various plugins and custom authentication. Next step is wishlist view/restore support and merging the various plugins into on [thing to load] Mango::Catalyst::Plugin::Application.
While surfing around, I stumbled across this article: Top Ten Mistakes of Shopping Cart Design Revisited.
Summary: A list of common mistakes with e-commerce shopping cart design were identified in a previous issue of Usability News. This article revisits that list and reviews how 500 of the top Internet retail sites of today implemented their shopping cart design.
Some good stuff in there. I'll have to give it some more time later.
Day 99? Yeah, I'm a damn slacker. What can I say. But, I'm back to making progress again it seems. I've been spending most of the time lately on the admin controllers and such, which means I had to get the generic stuff somewhat solid. That mostly consisted of:
- Base Controller for Mango::Form loading/mapping/validating
- Models wrapping Providers
- Plugin for I18N merging Mango+MyApp Lexicons
- Plugin for Authorization+user carts/profiles using new Auth API
- Views for XHTML/HTML/Text/Atom/RSS
- File::ShareDir directory with base forms/templates
- Template views use share first, then fallback to MyApp local templates
Now that most of the busy work is done, I'm back to converting what I'd hacked together for Handel back into Mango. It looks ugly as hell, but the admin user/roles/profiles/products/attribute CRUD works and the cart load/update works using the custom auth user objects. I'll probably finish fixing the cart tomorrow and move on to the wishlists.
I figured now was a good time to commit everything and release something before I head to Canad for the week. I present Mango 0.01000_04 with fresh new Catalyst base controllers, models, views,plugins and tests even! :-)
- Added Mango::Form/Results for form file config parsing/validation
- Added base Catalyst Models/Views/Controllers/Plugins
- Added tests/pod for new Catalyst base modules
