Home
Back to YAPC 2006

Tuesday

intro to catalyst

They have that standalone server. That's pretty sweet.

their helper/plugin stuff is connected to their code-generator in a big way it looks.

All their config lives right in the code.

Arg, so much messy code. all the stuff done through $c gets very odd.

The models are hot too, using class::dbi and things like that

The whole mess of components are swappable. That seems like the neatest thing here.

Someone just showed how to build a weblog based on a file backend. It's cute for sure.

intro to MASON

I just want a better idea of what mason can do.

Looks like they support /open/post/$id/ virutal urls, page elements included in html automatically

Their built-in caching is quite capable, too.

embedded perl in htlm, duh. yuk.

You define argument lists for the page elements.

you get a $m object to interact with too, it has a big fancy API.

You also get $r, the apache request object

They also say it's never a good idea to use mason to handle everything.

You can use MasonX::WebApp to mock up some mvc behavior.

You can also filter the output of a component with another one, so you have one to write a form, and another to fill in the form-fields with user data that was gathered earlier

This is no good, man. The syntax is esoteric, and even libraries need to be warpped in mason components to be useful to other mason components. ;(

They're now showing off some neat modules they've coerced into Mason - why bother? it'd be easier to work them into something more reasonable.

Jifty!

commandline file builder

sugary code to define tables in models

standalone webserver also

Hm.. the default administration console has crud forms for everything.

The default nav is configurable.

the views are mason.

Holy shit, this is not... general purpose. It looks like you're stuck.

Hm. that admin mode i spoke of is kinda like majere for jifty, but it runs as a part of your app.

Thier validation happens at the model level - you specify validation subs for each attribute, and it feeds back to the form properly. That's... odd, but workable since you're not writing the form in any sense of the word, it's being auto-generated by the model schema.

instead of code generation a-la majere, jifty uses an object in @INC to auto-generate the empty classes. That's genius.

the view fragments are reusable, and they can be reused via ajax.

All the jifty components are editable on the web via clicks.

jifty dev mode handles all kinds of profilling for you.

jifty::web::session handles a pull of just the sesison data you need instead of all of it - this is critical for ajax.

Moose

moose uses MOP, which is an OO interface to the object system - you can add subs, query superclasses, etc.

moose allows you to write "real" models.

Handles attribute creation/validation.

Manages storage details - can this assist with automatic db-backing?

It inherits everything too, just like accessor defs

automated late-loading, and you can pass a sub into the accessor, so you say: the node has a child of type node, lateload it, get it with sub { node->new(shift)};

Moose also implements roles. Similar to ruby mix-ins, gives you peer-level functionality from multiple "Role" objects.

[an error occurred while processing this directive]