April 2007

Catalyst Integration: Day 4

After a lot of cursing, tinkering, fixing, breaking, fixing, breaking and fixing, I’ve finally got most of the Auth/User bits converted to the new Catalyst Authentication API. when it’s working, it means that people can reference common user elements for both authenticated and anonymous users in the same way:

## current users cart pre/post authenticate()
$c->user->cart;

## 'anonymous' before authenticate()
$c->user->username;

## 'Anonymous' before authenticate()
$c->user->profile->first_name;

## 'claco' after authenticate()
$c->authenticate(...);
$c->user->username;

## 'Christopher' after authenticate()
$c->user->profile->first_name;

In addition to a common way to reference user information, the Mango store also takes care of caching that user information, including roles, in session after authentication so we’re no hitting the database every time we check roles, display profile information, etc.

The one thing I seem to be constantly fighting is that either Catalyst, or Authentication bits just eat errors in certain situations. Things like misnamed classes, classes not loading due to syntax errors, errors down in DBI just go into the ether. I’d say it’s some SIG{DIE}/Error/Exception stuff somewhere just being too greedy. I don’t think I’m alone either.

Catalyst Integration

Comments (0)

Permalink

Catalyst Integration: Day 1

Now that the core api is “done”, time to start working on the Catalyst bits. I’ve re added what I started with to trunk and I’ve started converting it to a name namespace and to the as yet released updated Catalyst::Plugin::Authorization.

Hopefully I can get everything back to a working state with pod by the end of the weekend.

Catalyst Integration

Comments (0)

Permalink

Mango 0.01000_03 Released

Another release escapes from the side hatch.

  • Updated/reviewed all pod
  • Changed throwing exceptions away from indirect syntax
  • Added Mango::Object::Meta to store non-column information
  • Added Object->meta_class
  • Reworked tests/providers/objects to put data first, and other in meta
  • Added Object->get_columns

This should be the last of the core API futzing for now. Time to start re adding Catalyst base classes.

Releases

Comments (0)

Permalink

Mango 0.01000_02 Released

Nothing to see here. Please move along.

  • Make prereqs for DBIC/Handel real versions
  • Added Build.PL to make mst a happy camper

Releases

Comments (0)

Permalink

Test Coverage Reports

Just because I can, the Mango test coverage reports are now online just like the Handel test coverage reports are.

Current coverage: 100%

Announcements

Comments (0)

Permalink

Mango 0.01000_01 Released

I’m pleased to announce the first alpha release of Mango. This is a developer preview release that contains core modules only. No web bits. This includes the schema classes, the provider classes and the result/object classes. Test coverage is around 98% and the pod needs some more glossing over. Files should be available on a CPAN mirror nearest you shortly.

Mango relies on a versions of Handel and DBIx::Class that are not yet released. You will need DBIx::Class-current from:

http://dev.catalystframework.org/repos/bast/branches/DBIx-Class-current/

and the latest version of Handel from:

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

Game on.

Releases

Comments (0)

Permalink

Core Cleanup: Day 5-6

Well, it took a couple of days but the core files now have complete test coverage, sans some eval/Devel::Cover reporting issues. I probably found and fixed about 5 bugs or so along the way. As soon as I clean up Makefile.PL and the list of required modules and update the Changes files, I’ll release a version to CPAN tomorrow night.

Core API

Comments (0)

Permalink

Core Cleanup: Day 4

Everything in trunk now has pod and all tests pass. Tomorrow I’ll start poking around with coverage and making sure the tests hot most of the feature points of the core modules. The pod will need another few reviews as I’m still finding mis wordings, even in the somewhat matured Handel pod. I should probably whip up a Mango::Manual pod describing the layers and interactions of Core, Providers, Catalyst and all the intended glue.

If all goes well with coverage, I’ll shoot a release of the core up to CPAN and give the pod another once over. It’s always easier to read it in a web browser than it is in a text editor.

Core API

Comments (0)

Permalink

Core Cleanup: Day 3

I’ve added pod to the remainder of the schema classes and to the bulk of the object classes. I still have to do pod for the Cart/Object/Item object classes and make sure I pass the usual pod spelling/syntax/coverage tests.

After that, I’m on to test coverage and filling in any little API gaps. User profiles need more fields like email and stuff. I’ve only did first name/last name just to get it all rolling. I also need to either figure out the schema to support sales, or just drop the feature until 1.0.

At this rate, I think I’m still on target for a release to CPAN next week with just the Core (Schema/Provider/Object) classes.

Core API

Comments (0)

Permalink

Core Cleanup: Day 2

Another day. Another commit. I got a late start this evening due to a trip to the computer store and Chipotle. I feel like I’ve eaten a brick.

The pod for the providers is done. I’ve added the user key to Cart/Wishlist providers search/delete methods. Most of of the schema classes have pod now as well. Just the Cart/Wishlist/Order/Item classes to go and that will be done. After that, one to the object classes. I should be done with pod in no time. [Famous last words.]

Core API

Comments (0)

Permalink