So, I've decided that I'll put up a blog post. I've never blogged in my life, but I figured I have some interesting tidbits for those of you who might be curious about the mind behind DKPSystem.com.
Right now, I've got several huge things coming down the pipeline: things that are LONG overdue.
First, the entire DKPSystem.com site is getting a redesign. That's right. The shades of grey and red are going away and the site has a brand-spankin' new logo and layout. It's going to be exciting, and actually look like the serious hosting site it is.
That, of course, came with a fair number of complications, as I was unsuccessful in finding a graphics person with whose work I was pleased, which means that I, after a few days of putting it off, dove into it and made the graphics myself. Graphics work is something I tend to dislike very passionately. The more affluent in graphics editors certainly derive much more joy from the process than I do, otherwise I couldn't conceive of doing something like that for a living. It's total drudgery for me. I was lucky enough to find some nice tutorials online for a few neat tricks which at least gave me a framework of something to use.
Then, after building the graphics, I have to implement them in HTML, which means, even MORE painstaking drudgery. I love programming for the web, but I hate doing the nuances of pixel-placement. Place an object in a general area, refresh, move it a few pixels, refresh, move it a few more pixels, refresh, etc.. It's pain incarnate.
Overall, though, I'm proud of my work, and impressed it looks as good as it does. While tame for others, this is unquestionably the best graphics work I've ever done.
Of course, this brings me to the second part.
It would be unfair, and more urgently, it would seem like false advertising to have the home page be this pretty shiny new site, only to have the new websites be made into the boring default grey color. I have a feeling many would come to the site, and think "Man this looks cool. Count me in." Then create their site only to find out that their site looks nothing like the home page, and takes a lot of work to make look nice (even for the HTML savvy), let alone for the average game player who couldn't care less about the difference between <td> and <tr>.
So, that means that I have no choice but to release the templating system FINALLY. I know many of you have been crying for it for months and waiting urgently to make their sites look sparkly. Your cries have been answered, and I've heard them loud and clear. To go with the new DKPSystem.com look, I'll be releasing AT LEAST two templates, however, I'm going to try for a third before launching.
One would think, though, that because the Advanced Layout Options are already there, that implementing the templating system would be easy. I thought so too. But, for those of you that know how the Advanced Layout Options work, you have to manually place all the menus with the <!--System:Menu:XYZ--> command. This doesn't work with a non-HTML-savvy user who would have to move those menus every time after downloading the template. Non-Savvy users want to go to the Menu Administration and just move the menus around that way, and I absolutely HAVE To deliver that as an option. Which means a new command set had to be implemented.
The new command is <!--System:Menus:Left|Right|All--> So you can place a section where ALL the Right menus will be placed or all the Left menus or Both in one place. For new users, and even for current Advanced Layout users, this new command will make working in the Advanced Layout much easier, and allows a completely dynamic template that can fit any site quickly.
Of course, this was no easy task to implement. One of the key aspects of web development (one that I find tends to confuse traditional programmers) is that web development (particularly server-side scripting languages like ASP, JSP, and PHP) is all about writing code that writes code. You're writing PHP code that writes HTML code. For a seasoned web developer, this becomes second nature.
The Advanced Layout Options "compilation" mechanism (I put it in quotes because it's not REALLY compiling it), is a system that writes code that writes code that writes code. It's PHP writing PHP which writes HTML. For the simple commands like <!--System:Title-->, this is simple, as it's just echoing out a variable or a function call return value. The menu system is also this, but it's still rather easy as it still doesn't have any inner logic in it, it's mostly just displaying and any loops are found in function calls.
This all got complicated when implementing the new <!--System:Menus--> command because now all of a sudden I'm writing complicated PHP that writes complicated PHP dynamically, and that must work for every site. Admittedly, this was a rather unusual task for me. Perhaps if I were a Lisp developer this would be easier (as Macros in Lisp are code that write functional code), but I'm not, unfortunately.
Overall, it was a chore, but fun once I figured out what was going on. The Template mechanism is mostly done and now I'm working on the templates themselves. These should be ready in a few days, perhaps a week or a little over, but regardless, the templates are coming soon! |
|