My Session Abstraction project's status

Discuss general development subjects that are not specific to a particular version like the versioning control system we use or other infrastructure.
Post Reply
Google Summer of Code Student
Posts: 21
Joined: Mon Apr 22, 2013 3:26 pm
Location: Tigard, Or

My Session Abstraction project's status

Post by asperous »

Hello Everyone!

Given that GSOC's 'soft pencils down'[1] date is tomorrow I wanted to write a message talking about my project and its status to date.

My project was move all the data regarding sessions (is a user logged on, who are they, what page are they on, etc) out of the main database and into some other storage engines.[2]

As of today I am happy to report that the functionality of the project is in place. Redis passes unit tests and from the small amount of testing I have done, everything appears functional. Memcache passes non-functional unit tests as well, but has a few more bugs to work out. Also as part of the project I have increased the session testing code coverage from about 43% to just under 70%.

While this code exists, it still could use some review before it can be proudly considered up to the legendary quality phpbb is known for. I have 4 outstanding pull requests open at the moment which I'd like to describe here. Each one uses the changes made in the previous one and adds on to it.

For your consideration,

#1642 ticket/11731 PHPBB3-11731
This one transports all of the sql code that has to do with sessions into the sessions class. When it's here, it's just a lot to keep track of and allows me to remove some duplicated logic.

#1546 feature/session-storage PHPBB3-9733
This one is pretty important also! It takes all of the logic involving session data and moves it into its own file with interfaces. It's cool because I was able to remove a lot of duplicated logic as well as (in my opinion) make the session class a much better read.

#1680 ticket/11810 PHPBB3-11810
Some unit tests over the new session storage's abstraction.

#1686 [WIP] feature/alt-session-storage PHPBB3-11705
This is the final step, adding alternate session storage engines to the mix. It's WIP because the memcache implentation isn't quite ready, as well as the fact that it's missing a way to configure which engine you want to use (whithout manually modifying the code).

Anyone is welcome to review my pull requests! I appreciate all critisims and demands. I want to say thanks to Goof, EXreaction, Hardolaf, Nickvergessen, and of course my mentor Bantu for all their hard work reviewing it already.

There is still plenty of work done reviewing, profiling, editing, debugging, documenting to be done, and I'm excited to continue working on it.

All the best!

[1] No graphite were harmed in the making of this project, soft or otherwise
[2] My application required 1,870 words to say the same thing
Last edited by asperous on Thu Sep 19, 2013 9:15 pm, edited 4 times in total.
User avatar
Registered User
Posts: 1555
Joined: Sat Sep 10, 2005 2:15 am

Re: My project's status

Post by EXreaction »

Nice work, hopefully we can get some of this merged soon. :)
User avatar
Registered User
Posts: 986
Joined: Sun Feb 08, 2009 2:35 am
Location: Hollister, CA

Re: My project's status

Post by Pony99CA »

As a suggestion, please change the subject. "My project's status" doesn't tell the reader anything; "My Session Abstraction project's status" is much better.

Also, please link to the original topic/post and make those tickets links. Not providing links in 2013 is like including a Telex number in your signature. :D

UPDATE: Thanks for taking care of those.

Last edited by Pony99CA on Fri Nov 01, 2013 9:13 pm, edited 1 time in total.
Silicon Valley Pocket PC (
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.
Registered User
Posts: 523
Joined: Sat Apr 22, 2006 10:29 pm

Re: My project's status

Post by keith10456 »

Thanks for the contribution!
Registered User
Posts: 57
Joined: Thu Jul 02, 2009 3:33 am

Re: My Session Abstraction project's status

Post by Frug »

Just posting to lend my support to this initiative. Anything that improves bridging and integration with other systems is awesome.
Post Reply