Darkfall Crafters was started about four years ago. In other words, four years before the game Darkfall actually launched. During that time my life has changed and I have moved on. Thereby I'm not going to play Darkfall nor maintain a website dedicated to the crafting aspect.
It has been a useful experience though. It helped develop much of my web interest when it comes to the finer details such as clean code, search engine optimization, maintainability and separating contents and presentation. That was four years ago, but the lessons learned still seem as valid as ever.
A month or so ago the forums were merged with Darkfall Merchants Association into the forums located at dfmerchants.com. That part will continue to live on. In fact, dfcrafters.com is now redirecting there.
I picked phpBB as forum software for the forum on Darkfall Crafters. There are plenty of forum software these days, so the choice is by no means automatic. To me phpBB however represents a solid piece of free (as in speech) software that is built for customization and has many user-created extensions. The only thing I miss is support for threaded discussions.
Overall the forum was fairly easy to integrate with the rest of the site (although that site, and this one, are long overdue for a graphical overhaul). There are several modifications left to do (better integration, SEO, adding handy utilities/tools), but I'm saving those for later since there is no point in spending time on them now if it turns out that the demand for the forum is low.
I'm done rewriting DFCrafters. I have spent the last couple of days playing around with the design, and I think it looks quite good now. This time around I have tried my best to pick a good color combination and to stay away from gray shades. Here is the before and after shot.
Before
After
The project now also has a LokDoc page. It briefly outlines the history of the project and displays the different looks.
DFCrafter's code has now taken the step from PHP 4.x to 5.x . The step could have been taken faster, but it turned out to be a mostly boring process, as predicted. The only major change that came with the new version is that everything that used to be handled as global objects is now handled as singleton objects instead. That includes things such as the database abstraction layer and the constructed page (pages that are constructed during requests are now built up as singleton objects).
I also took the opportunity to update the libraries, for instance the alias system, which has worked well for Lokorin.com, is now also installed at DFCrafters.
I have also built and installed a new CSS template system, created to make it easier to quickly alter the site's design. Each CSS file can now contain variables, those variables are then substituted for the real values (which are currently stored in an XML file) and the result is then cached and sent to the user. The advantage with the system is that everything that should have the same value (for instance the same color) use the same variable, so things like changing the site's color scheme becomes rather fast and painless.
As an example one might have a CSS template that contains something like this.
#contents {
background-color: $colors:background:body;
width: auto;
line-height: 1.6;
border: 1px solid $colors:border:light;
border-top: 0;
padding: 1em 0.5em;
}
Which the server processes and caches as the following (depending on the values set for the main background and light borders).
#contents {
background-color: #FFF;
width: auto;
line-height: 1.6;
border: 1px solid #CCC;
border-top: 0;
padding: 1em 0.5em;
}
The light border (#CCC) occurs many times in the CSS files, so rather than doing a search and replace through a bunch of files (which can accidentally change something unexpected) one just changes the variable's value through an admin panel (which also updates the cache).
I'm however not done with the site yet. The documentation and source code have been updated, but I'm still planning on redoing the site's layout and design before updating the live version.
The DKP Log Parser project should be fine for a while, so I'm turning my attention to other projects. More specifically I'm going to work on improving DFCrafters and Lokorin.com (this site).
The last time I cleaned the sites I had a future migration to PHP 5 in mind. I currently have the time, and PHP 5 is stable enough, so I'm formally switching over from 4.x to 5.x . Some might want to take a look at a good article about PHP 5 (albeit a bit outdated) to get an understanding of the changes. The improvements that I like the most in PHP 5.x are probably the object model (which makes me feel at home, as I primarily use Java) along with the error handling system with exceptions (once again inspired by Java).
So how much work has to be done to migrate? Not a lot in my case. The pages are already built with an OO approach (just take a look at the source code), so I will mostly be searching and replacing keywords. I will also take the opportunity to test some new ideas (in order to not fall asleep).
As usual DFCrafters will be first and will be used as a small scale testing ground before Lokorin.com .