[Catalyst] A Catalyst::Plugin::Session Alternative: Web::Starch

Aran Deltac bluefeet at gmail.com
Thu Jul 9 00:17:17 GMT 2015


Hey guys,

I've been working on a project which is a (mostly) drop in replacement for
Catalyst::Plugin::Session.  Here are the GitHub repos:

https://github.com/bluefeet/Web-Starch
https://github.com/bluefeet/Web-Starch-Store-CHI
https://github.com/bluefeet/Web-Starch-Store-AmazonDynamoDB
https://github.com/bluefeet/Web-Starch-Plugin-Sereal
https://github.com/bluefeet/Catalyst-Plugin-Starch

The manual is a good place to start:

https://github.com/bluefeet/Web-Starch/blob/master/lib/Web/Starch/Manual.pod

I'm using this @work and will be deploying it to production, replacing
Catalyst::Plugin::Session, sometime next week if all goes well this week.

I've not put these modules on CPAN yet as I'd love some feedback before I
do so.  I want to make sure the module names, the interfaces, and just the
entire design are acceptable to people.  I want this to be a real step
forward.

@work we've made extensive use of Catalyst::Plugin::Sesssion for years now,
and related modules such as Catalyst::Plugin::Authentication.  So far
everything has "just worked" when I replaced Catalyst::Plugin::Session with
Catalyst::Plugin::Starch.

Why do this?

   - Catalyst::Plugin::Session (C:P:S) is slower in NYTProf reports than I
   would expect it to be.
   - C:P:S is tied into Catalyst.  This is unnecessary.  Catalyst should be
   used to glue things together, not as a platform to build whole technologies
   on.  By decoupling sessions from Catalyst many wins can be had in
   reusability and unit testing (etc?).
   - C:P:S can be difficult and messy to extend.  This is partly due to how
   Catalyst plugins work, but also due to the design of C:P:S.

Aran
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scsys.co.uk/pipermail/catalyst/attachments/20150709/20e13539/attachment.htm>


More information about the Catalyst mailing list