Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Catalyst: Dev
Another Session discussion
 

Index | Next | Previous | View Flat


mpitts at a3its

Feb 4, 2009, 8:55 AM


Views: 714
Permalink
Another Session discussion

I started hacking on a Moose-based Session plugin that uses Roles and
delegation to a specified $c->model for storage. My main justification
for this work is to just get my own gears turning, so these are just
ideas, and I'd be happy to scrap it there's already something started.
Here's what I've got so far...


A Roles distribution:

Catalyst::Role::Session
- the basic methods necessary for other stuff to use session
mechanisms ($c->has_role('Catalyst::Role::Session'))
- interface:
requires 'session';
requires 'sessionid';
requires 'session_is_valid';
requires 'delete_session';
requires 'delete_session_reason';
requires 'session_expire_key';
requires 'delete_expired_sessions';

Catalyst::Role::Session::Flash
- the basic methods necessary for flash functionality
- interface
requires 'flash';
requires 'clear_flash';
requires 'keep_flash';

Catalyst::Role::Session::Store
- the basic methods necessary to implement a storage backend
- interface
requires 'get_session_data';
requires 'set_session_data';
requires 'delete_session_data';
requires 'delete_expired_sessions';
requires 'generate_session_id';
requires 'session_is_valid';


The Main P::Session distribution:

Catalyst::Plugin::Session
- consumes Catalyst::Role::Session
- gets $self->_session_model from
$c->model($self->_session_model_class)
- ensures that
$self->_session_model->has_role('Catalyst::Role::Session::Store')
- delegates many functions to $self->_session_model

Catalyst::Model::Session::Cookie
- consumes Catalyst::Role::Session::Store

Catalyst::Model::Session::DBIC
- consumes Catalyst::Role::Session::Store

Catalyst::Model::Session::ImaginarySomething
- consumes Catalyst::Role::Session::Store

And that's about as far as I got, I thought I'd get opinions before more
model starts coming about of my head. BTW, none of this actually works
yet, it's just conceptualize code. Oh, and I'm not even thinking about
compat right now.

v/r

-mattpitts (invinity)


_______________________________________________
Catalyst-dev mailing list
Catalyst-dev[at]lists.scsys.co.uk
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst-dev

Subject User Time
Another Session discussion mpitts at a3its Feb 4, 2009, 8:55 AM
    Re: Another Session discussion bobtfish at bobtfish Feb 4, 2009, 9:27 AM
        RE: Another Session discussion mpitts at a3its Feb 4, 2009, 10:21 AM

  Index | Next | Previous | View Flat
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.