Windowlight, Beta Site, and Blocking Issues

 

I have been attempting to do more than meander when it comes to the deninet.com upgrade. Unfortunately, I'm running into a lot more issues than I expected, even when attempting to upgrade from Drupal 5.5 to 5.10. 

Throughout the upgrade process, I am looking for "blocking issues" -- situations or errors that currently have no immediate or easy solution. One of the biggest I've run across is the lack of support for the CRAM module, which helps to secure our logins. The modules allows an encrypted hashcode to be passed in liu of a plaintext password. Granted, it's no match for a tried-and-true security solution such as SSL, but I currently do not have the $80 required to configure it on our hosting provider.

Right now there's a debate between myself and the other active staff members on this issue. Overall, we want to set up SSL, but the money simply isn't there this month. Without CRAM, our passwords will be sent clear over the wire. A temporary workaround would be for all deninet users to change their login with an "untrusted" password. This assumes that you are using the password only for the site, so that it cannot be captured and used for other internet accounts. I'm not terribly fond of this method, and I'm still investigating other options.

Windowlight DR5

In the meantime, I've put some work into a new theme for the site using a different method. The previous two themes for deninet, Citylights and Starlight, both use a CSS technique called "fluid layout". Fluid layouts have the benefit of using all the space provided by the web browser. Creating a visually rich liquid layout, however, is fraught with difficulties and pitfalls. The previous two themes have significant problems and hacks in order to make them work on Firefox and Internet Explorer. I've often had to make unfortunate trade offs to make them work.

This time, I wanted to avoid the vast majority of those problems while making the theme visually rich. After some research and copious examples from various websites and blogs, I decided to try a "fixed-width layout". Unlike a fluid layout, a fixed layout does not expand or contract with the size of the browser window. Instead, it stays the same width all the time. Typically, these themes are centered, so that the content realigns itself to middle of the browser window horizontally. If the website width is less than the browser window width, the user will be forced to scroll. 

While developing the new theme, "Windowlight" (see preview on the right), I quickly discovered that creating a fixed-width layout corresponds better to my preferred web design methods. It reduces the number of hacks, image slices, and other things that are endemic to fluid layouts. The design degrades nicely to a limited set of large images, making it easier to use photo-manipulation techniques to achieve new graphic effects. This does not mean that fluid layouts are horrible things that should be avoided, it means that they work better for me, and better for deninet. 

Currently, Windowlight draws from my 2007 submission to the Transgender Day of Remembrance Webcomics Project. I still like the piece and consider it the best I've yet produced. However, I'm concerned that my repeated use of this image (it's my desktop wallpaper) I may quickly tire of the new theme. Furthermore, I am not happy to see Akisa depart her presence as part of the web design. Given my complete lack of drawing output this year, I very much doubt I'll come up with a new graphic any time soon. 

I've tinkered with other pieces of artwork in my library for use in the layout. One such attempt was with "Answer" -- a not terribly subtle bit of Akisa art. I very much doubt I will use it, as I do not consider deninet a horror media site, and am dubious about the shock value. Other graphic I've considered is the incomplete "Akisa Listening" graphic I had drawn years ago. I like the graphic as well as continuing the motif of Akisa and her portable music player. The problem is that this image is hand drawn, and will have a grainier appearance when scanned and colored compared to the DOR image.

In addition to working on the theme, I've spend a great deal of time investigating what new features to add to the site. I have already created a new event system, allowing members to create their own calendar and list of appointments and meetings. These events will be tied into each individual channel, and viewed collectively on the Springboard. The Springboard is a user dashboard allowing users to view all their events, submitted Ideas, as well as keep up to date on their subscribed channels. This feature is currently available to registered users, but is not yet complete. 

The majority of my development time has been geared toward recreating the Idea Database. I've investigated several different options for creating the Idea, Version, Thought, Vote hierarchy that was available in deninet 4.0 - 5.0h. It's been long decided to use Drupal's built in revisioning system to create new Idea versions. There are several useful modules that attach to this mechanism, including one that shows the difference between selected versions.

According to the original Idea Database design, Thoughts are attached to each version, not to the Idea itself. This way, each new version has a clean slate for development. Currently there is no way to implement this feature short of writing code. I've wanted to avoid this because I have only limited time to support a programming project. Right now, the solution seems to be heading towards the Node Comments module. This module allows comment nodes to be replaced by any CCK type defined by the site administrator. Comments can also be displayed through Views for dynamic ordering.

Node comments, however, are not without their down side. The module is incompatible with three key modules within the Drupal core -- Comment, Forum, and Tracker. We will lose all of the some 149 comments currently applied to content nodes. I may be able to migrate them to the new Node comment system, but this has yet to be tested. While we have forums on the site, there's not much to keep and the functionality can be (possibly) created using CCK and views. Tracker provides a list of your activity on the site on your user profile. This functionality can easily be recreated using views and integrated into the Springboard -- a more appropriate place for it anyways.

In order to discuss these options with other deninet staff members, I've created a new beta site. The site is currently only available to current deninet users. The beta site serves both as an online backup and as a proving ground for new deninet features. Members can also give the new theme a spin, keeping in mind that it is not yet complete.