[Catalyst] Subsessions?

Yuval Kogman nothingmuch at woobling.org
Thu Sep 27 18:05:37 GMT 2007


A somewhat naive idea:

sub session {
	my $c = shift;

	if ( my $sub = $self->subsession_id ) {
		return $self->NEXT::session->{$sub} ||= {};
	} else {
		$self->NEXT::session(@_);
	}
}

subsession_id can be some param I suppose like in State::URI. You
can probably subclass State::URI to make it so that it doesn't plug
into the session system, but instead goes to subsession_id, or just
keep track of it manually.

Cheers,

On Thu, Sep 27, 2007 at 12:11:47 +0200, Rainer Clasen wrote:
> Hello,
> 
> there are currently two Problems I could easily solve with subsessions.
> 
> After saving some data I want to redirect the user back to where he came.
> So I'd like to keep track where the user came from. As I expect the User
> to use several Browser windows, neither Cookie based Sessions (incl.
> stash) work in all scenarios. Right now I'm using the HTTP Referer, which
> I'm also considering a bit clumsy.
> 
> Furtermore there are users who have access to other users' data. I'd like
> them to select them *once* which user's data they want to work on and keep
> this for the current browser window. Again I expect the user to use
> multiple browser windows (say for working with multiple users' data at the
> same time).
> 
> So I'm searching for something functional similar to:
> http://paneris.net/cgi-bin/cvsweb.cgi/SubSession/SubSessions.html?rev=1.3
> 
> I've had no luck finding something similar for Catalyst. Well,
> Catalyst::Plugin::Session::State::URI gives me some Ideas on how I could
> implement this, but if possible I'd prefer to avoid re-inventing the
> wheel (especially as I expect this to be non-trivial).
> 
> Rainer
> 
> -- 
> KeyID=759975BD fingerprint=887A 4BE3 6AB7 EE3C 4AE0  B0E1 0556 E25A 7599 75BD
> 
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/

-- 
  Yuval Kogman <nothingmuch at woobling.org>
http://nothingmuch.woobling.org  0xEBD27418




More information about the Catalyst mailing list