<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1436469380853_10752" dir="ltr"><span id="yui_3_16_0_1_1436469380853_12333">I would think that this could be used by Plack middleware and Catalyst as core session functionality. &nbsp;So I don't think in the end its either or.</span></div><div id="yui_3_16_0_1_1436469380853_10752" dir="ltr"><span><br></span></div><div id="yui_3_16_0_1_1436469380853_10752" dir="ltr"><span id="yui_3_16_0_1_1436469380853_12334">Aran, the main thing I can't figure is how to have a cookie storage... since&nbsp;that's gotta be aware of the request/response cycle. &nbsp;I'd adopt this in a moment for new code if we could figure that part out. &nbsp;Personally I just put a few tiny IDs in the session so cookie storage is more than enough, and nice for quick prototypes.</span></div><div id="yui_3_16_0_1_1436469380853_10752" dir="ltr"><span><br></span></div><div id="yui_3_16_0_1_1436469380853_10752" dir="ltr"><span id="yui_3_16_0_1_1436469380853_13899">Any thoughts? &nbsp;You can hit me out on IRC #catalyst if that is either - jnap</span></div>  <br><div class="qtdSeparateBR" id="yui_3_16_0_1_1436469380853_10794"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_1_1436469380853_10792" style="display: block;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1436469380853_10791"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1436469380853_10790"> <div dir="ltr" id="yui_3_16_0_1_1436469380853_10793"> <font size="2" face="Arial" id="yui_3_16_0_1_1436469380853_12335"> On Thursday, July 9, 2015 10:35 AM, Aran Deltac &lt;bluefeet@gmail.com&gt; wrote:<br> </font> </div>  <br><br> <div class="y_msg_container" id="yui_3_16_0_1_1436469380853_10789"><div id="yiv2594395069"><div id="yui_3_16_0_1_1436469380853_10788"><div dir="ltr" id="yui_3_16_0_1_1436469380853_10787">Ya, I have Plack::Middleware::Session listed in the alternatives section of the manual.&nbsp; Thanks for the reply!<br clear="none"></div><br clear="none"><div class="yiv2594395069gmail_quote" id="yui_3_16_0_1_1436469380853_11115"><div class="yiv2594395069yqt3586630024" id="yiv2594395069yqtfd16866"><div dir="ltr" id="yui_3_16_0_1_1436469380853_13900">On Thu, Jul 9, 2015 at 7:14 AM Hartmaier Alexander &lt;<a rel="nofollow" shape="rect" ymailto="mailto:alexander.hartmaier@t-systems.at" target="_blank" href="mailto:alexander.hartmaier@t-systems.at">alexander.hartmaier@t-systems.at</a>&gt; wrote:<br clear="none"></div><blockquote class="yiv2594395069gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;" id="yui_3_16_0_1_1436469380853_11114">



<div id="yui_3_16_0_1_1436469380853_13902">
Hi Aran,<br clear="none">
did you look at <span id="yui_3_16_0_1_1436469380853_13901">Plack::Session if you want something decoupled from Catalyst?<br clear="none">
I haven't used it so far as I don't require sessions that are shared with non-Catalyst stuff but it might be a better base for a futureproof session module.<br clear="none">
</span></div><div id="yui_3_16_0_1_1436469380853_13903"><br clear="none">
<div>On 2015-07-09 02:17, Aran Deltac wrote:<br clear="none">
</div>
</div><div id="yui_3_16_0_1_1436469380853_11113"><blockquote type="cite" id="yui_3_16_0_1_1436469380853_11112">
<div dir="ltr" id="yui_3_16_0_1_1436469380853_11111">Hey guys,
<div><br clear="none">
</div>
<div id="yui_3_16_0_1_1436469380853_13904">I've been working on a project which is a (mostly) drop in replacement for Catalyst::Plugin::Session.&nbsp; Here are the GitHub repos:</div>
<div id="yui_3_16_0_1_1436469380853_13905"><br clear="none">
</div>
<div id="yui_3_16_0_1_1436469380853_11110">
<div id="yui_3_16_0_1_1436469380853_11891"><a rel="nofollow" shape="rect" target="_blank" href="https://github.com/bluefeet/Web-Starch" id="yui_3_16_0_1_1436469380853_11890">https://github.com/bluefeet/Web-Starch</a></div>
<div id="yui_3_16_0_1_1436469380853_11502"><a rel="nofollow" shape="rect" target="_blank" href="https://github.com/bluefeet/Web-Starch-Store-CHI" id="yui_3_16_0_1_1436469380853_11501">https://github.com/bluefeet/Web-Starch-Store-CHI</a></div>
<div id="yui_3_16_0_1_1436469380853_11117"><a rel="nofollow" shape="rect" target="_blank" href="https://github.com/bluefeet/Web-Starch-Store-AmazonDynamoDB" id="yui_3_16_0_1_1436469380853_11116">https://github.com/bluefeet/Web-Starch-Store-AmazonDynamoDB</a></div>
<div><a rel="nofollow" shape="rect" target="_blank" href="https://github.com/bluefeet/Web-Starch-Plugin-Sereal">https://github.com/bluefeet/Web-Starch-Plugin-Sereal</a></div>
<div id="yui_3_16_0_1_1436469380853_11109"><a rel="nofollow" shape="rect" target="_blank" href="https://github.com/bluefeet/Catalyst-Plugin-Starch" id="yui_3_16_0_1_1436469380853_11108">https://github.com/bluefeet/Catalyst-Plugin-Starch</a></div>
</div>
<div><br clear="none">
</div>
<div>The manual is a good place to start:</div>
<div><br clear="none">
</div>
<div><a rel="nofollow" shape="rect" target="_blank" href="https://github.com/bluefeet/Web-Starch/blob/master/lib/Web/Starch/Manual.pod">https://github.com/bluefeet/Web-Starch/blob/master/lib/Web/Starch/Manual.pod</a><br clear="none">
</div>
<div><br clear="none">
</div>
<div>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.</div>
<div><br clear="none">
</div>
<div>I've not put these modules on CPAN yet as I'd love some feedback before I do so.&nbsp; I want to make sure the module names, the interfaces, and just the entire design are acceptable to people.&nbsp; I want this to be a real step forward.</div>
<div><br clear="none">
</div>
<div>@work we've made extensive use of Catalyst::Plugin::Sesssion for years now, and related modules such as Catalyst::Plugin::Authentication.&nbsp; So far everything has "just worked" when I replaced Catalyst::Plugin::Session with Catalyst::Plugin::Starch.</div>
<div><br clear="none">
</div>
<div>Why do this?</div>
<div>
<ul><li>Catalyst::Plugin::Session (C:P:S) is slower in NYTProf reports than I would expect it to be.
</li><li>C:P:S is tied into Catalyst.&nbsp; This is unnecessary.&nbsp; Catalyst should be used to glue things together, not as a platform to build whole technologies on.&nbsp; By decoupling sessions from Catalyst many wins can be had in reusability and unit testing (etc?).
</li><li>C:P:S can be difficult and messy to extend.&nbsp; This is partly due to how Catalyst plugins work, but also due to the design of C:P:S.
</li></ul>
</div>
<div>Aran<br clear="none">
</div>
</div>
<br clear="none">
<fieldset></fieldset> <br clear="none">
</blockquote></div><div><blockquote type="cite"><pre>_______________________________________________
List: <a rel="nofollow" shape="rect" ymailto="mailto:Catalyst@lists.scsys.co.uk" target="_blank" href="mailto:Catalyst@lists.scsys.co.uk">Catalyst@lists.scsys.co.uk</a>
Listinfo: <a rel="nofollow" shape="rect" target="_blank" href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst">http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst</a>
Searchable archive: <a rel="nofollow" shape="rect" target="_blank" href="http://www.mail-archive.com/catalyst@lists.scsys.co.uk/">http://www.mail-archive.com/catalyst@lists.scsys.co.uk/</a>
Dev site: <a rel="nofollow" shape="rect" target="_blank" href="http://dev.catalyst.perl.org/">http://dev.catalyst.perl.org/</a>
</pre>
</blockquote>
<br clear="none">
<br clear="none">
<font face="Verdana" color="Purple" size="2"><br clear="none">
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*<br clear="none">
T-Systems Austria GesmbH Rennweg 97-99, 1030 Wien<br clear="none">
Handelsgericht Wien, FN 79340b<br clear="none">
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*<br clear="none">
Notice: This e-mail contains information that is confidential and may be privileged.<br clear="none">
If you are not the intended recipient, please notify the sender and then<br clear="none">
delete this e-mail immediately.<br clear="none">
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*<br clear="none">
</font>
</div>

_______________________________________________<br clear="none">
List: <a rel="nofollow" shape="rect" ymailto="mailto:Catalyst@lists.scsys.co.uk" target="_blank" href="mailto:Catalyst@lists.scsys.co.uk">Catalyst@lists.scsys.co.uk</a><br clear="none">
Listinfo: <a rel="nofollow" shape="rect" target="_blank" href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst">http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst</a><br clear="none">
Searchable archive: <a rel="nofollow" shape="rect" target="_blank" href="http://www.mail-archive.com/catalyst@lists.scsys.co.uk/">http://www.mail-archive.com/catalyst@lists.scsys.co.uk/</a><br clear="none">
Dev site: <a rel="nofollow" shape="rect" target="_blank" href="http://dev.catalyst.perl.org/">http://dev.catalyst.perl.org/</a><br clear="none">
</blockquote></div></div></div></div><br><div class="yqt3586630024" id="yqtfd89234">_______________________________________________<br clear="none">List: <a shape="rect" ymailto="mailto:Catalyst@lists.scsys.co.uk" href="mailto:Catalyst@lists.scsys.co.uk">Catalyst@lists.scsys.co.uk</a><br clear="none">Listinfo: <a shape="rect" href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst" target="_blank">http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst</a><br clear="none">Searchable archive: <a shape="rect" href="http://www.mail-archive.com/catalyst@lists.scsys.co.uk/" target="_blank">http://www.mail-archive.com/catalyst@lists.scsys.co.uk/</a><br clear="none">Dev site: <a shape="rect" href="http://dev.catalyst.perl.org/" target="_blank">http://dev.catalyst.perl.org/</a><br clear="none"></div><br><br></div>  </div> </div>  </div></div></body></html>