With the start of the second part of summer, I’m glad to announce that I successfully completed the first evaluation period! A perfect occasion to thank the STK development team for guiding me with my project. So yeah.. thanks! Back to the usual stuff. Giving a complete status report is getting pretty hard, as I tend to forget the things I achieved, but I’ll do my best. I recall some annoying server-side work after my last blog post, so lets start with that.
I’m sure everyone is familiar with registration processes where you have to provide your email address to receive an activation link? Well that’s exactly what STK now has. After signing up I put the user info in the database, passwords all salted and hashed, but the account remains inactive until it has been verified by a random generated code send by mail. As I could not easily test the mail process on my local setup, I basically had to re-push my code to the API server on every update. The struggling to get this thing up and working, again pointed out that the server-side code I build upon has some unusual flaws. One I remember is the fact that all possibly needed sources are included at every top-level file (like for instance index.php) and that all the utility classes beneath don’t do any including themselves although they should. Me not knowing this, of course ran into the problem that sending mails worked when invoked from those top-level files but not from my API. With warnings turned off on the API server, it cost me some time (and lots of sweat) to realize what was going on. Once fixed, I could also use the mail functionality for account recovery. When you provide a valid username/mail-address combination you’re allowed to change your password, so you don’t have to worry about forgetting it.
The next task on the list was addon voting, a feature I thought would only take a day to implement. However, the needed GUI engine additions, the setting up of test data and adapting the server-side code made it take a few days longer. The result however is quite awesome. If you now hover the rating widget, the stars fill up to your mouse. A click then sets the new value, based on your mouse position. It’s linked to your user account, so you can only vote once for each addon (though you can change your rating afterwards).
Currently I started working on user profiles and friending options. This will take a while if I want to obtain a nice design, that is easily extendable to also showcase one’s stats and achievements in the future. So don’t expect much from my following updates, they’ll get shorter with every post.