Archive for May, 2006

Summing up the past week

Hectic is a nice word. It’s not as common as busy, and ensures the point gets across that you were busy AND jumping from task to task like a lunatic. :-) A hectic week. I was hectic. Lord, it was hectic. But enough of me moaning…

So what’s been going on this week in the world of Maugrim?

At some point I got around to committing the entire Quantum Star SE and Partholan source code to Subversion on Sourceforge. About time… Over the weekend I also completed two sections, and removed one known security vulnerability, making the current code stable and useable again. I won’t say it’s all pretty but it works a charm. You can view the repository online at: http://svn.sourceforge.net/viewcvs.cgi/quantumstar/.

I also granted Ikoda FTP access to the forums subdomian for quantum-star.com. Over the last few days he’s beaten our phpBB installation into shape with some mods, and Hades has re-organised the forums somewhat. I haven’t offered any feedback so far since I have no complaints. We had a few issues with getting Geshi working (a code syntax highlighter) but Ikoda figured out a fix. I’m still trying to figure out why it required chmod execution and the files all under Apache’s ownership – not a fan of such obscure dickering and Ikoda’s fix was all on the database side.

What else? I set up a documentation centre over at http://faq.quantum-star.com. It’s a collaborative FAQ installation, not a wiki. But the core idea is similar. Once the FAQs start piling up we can look into organising them into more formal documentation as part of any separate documentation we write up. I still have a few other idea in the area – like a place for allowing player document their experiences, advice, and strategies.

I’m also looking into getting a few measures in place to avoid registration bots – our phpBB forum is crawling with bot accounts. Posted spam is almost non-existent since we disabled anonymous posting – but the relatively recent scourge still rocks across account registrations. Suggestions of implementing CAPTCHAs have long been avoided (besides which phpBB’s CAPTCHAs are hideously simple to figure out) since they pose problems for folk with sight disabilities. I’m disliking CAPTCHAs myself anyway – several sites are starting to use CAPTCHA images that are difficult to interpret even if you have near perfect sight. Ugh! Any non-CAPTCHA suggestions welcome…

What else? Afbrad setup an IRC channel for the project. I’m unsure as to the level of activity, and more relevantly, moderation it can expect. But we’ll see how it goes. It might work much better when we get around to getting a fuller release available – that always increases the level of user activity in all project online forums.

Oh yeah. I’m on the upward curve of development activity. So expect another surge in progress in the near future. Hades has also suggested some improvements to the DAO code to enable easier to maintain convenience methods (our business logic and data input, i.e. the Model) which I’ll be looking into.

PHP Data Objects: Simplifying Business Logic without SQL

I was recently talked into writing an article on building a simple ORM solution in PHP for a local developers group. I finished this up recently, and after releasing it primarily to the Devnetwork Forums Tutorials category, I am also blogging it here for those interested.

Introduction

The goal of this tutorial is to demonstrate a system for manipulating a database without writing SQL queries. I introduce a number of concepts including the DataObject and DataAccessObject which together allow developers focus on manipulating data without needing to write, or even know SQL. This kind of system can be referred to as Object Relational Mapping (ORM) where tables and rows in a database are represented by PHP objects which may be used to perform common database operations. It is a very simple system to use in practice, and has become a common component of many popular PHP frameworks.

In the tutorial I implement such a system integrating database abstraction, i.e. the ability to operate on several or more database management systems such as MySQL or PostgreSQL, using ADOdb Lite. The tutorial is not very complex, but does assume you are aware of Object Oriented Programming basics in PHP and are familiar with the basics of using a database in PHP.

So if using a system where you can manipulate a database without writing lines of SQL appeals to you, then read on…:-).

The entire tutorial is now posted at: http://forums.devnetwork.net/viewtopic.php?t=48499