Started work on the forums module

I started work on the forums module today. Didn't get too much done but stubbed out the basic pieces of the puzzle as I envision them. I'm basing it on the functionality of the forums at http://www.gotmono.com. Its using yabb, (Yet Another Bulletin Board), a very nice implementation in perl.

New Skin

This skin only took about 20 minutes to create. When I have time I'll do something more elaborate. For the moment I'm much more focused on functionality than making it pretty. I envision being able to create tools within the site that will allow creation of skins using the web browser. Other features need to be done first. I'd like to have the photo gallery and forums modules ready before I make a release, particularly the forums because then if people find bugs they can post to the forum instead of sending me an e-mail and I can avoid having to answer the same questions to multiple users.

The IBuySpy Skin

Well the site skinning is essentially complete. From the Admin page you can select from available skins. This is the IBuySpy skin. I plan to make some new skins soon but it tickles me that I was able to make all the changes I made without losing the original look. I really can't think of any limits on the design possibilities with the new skinning. The skmMenu fits right in nicely and has its own skinning that integrates easily. I also created a MetaContent control and setup the abilility to specify default meta content at the site level and over-ride it at the page level if desired. Now its easy to move the menu around and change it from horizontal to vertical within the skin template. I still need to implement the page hierarchy for sub menu items. I also got about 80% of the culture localization support completed. The goal is for no hard coded labels in the site. All labels get their content from a Culture.config file. I'm providing a CultureUSA.config file and hoping that as others convert to their own cultures they will contribute additional Culture.config files that I can provide with the downloads.

Scott Mitchell's skmMenu

I'm making more progress on the site skinning. Today I integrated Scott Mitchell's skmMenu, an open source cross-browser Dynamic HTML menu for ASP.NET. It took me quite a bit of experimentation before I could get it to display the same as IE using Mozilla and Firefox when it was served from Mono. It looked pretty much the same right away in all browsers if served from IIS. I think it is a behavioural difference in mono's implementation of ASP.NET. The same code was rendering a rules="" attribute on the menu table on Mono but not under IIS on Windows. This was eliminating the border between menus when viewed in Mozilla or Firefox but not IE, when served from Mono. This was kind of mysterious because I could not find anywhere in the skmMenu code where it adds a "rules" attribute. I also experimented and Mono doesn't automatically add a "rules" attribute when you add an HtmlTable to the control tree. I never did figure out the cause, but I finally discovered that I could control it by explicitly setting the GridLines property of the menu.

MasterPages Rock!

I finally got all the pages in the site using Paul Wilson's MasterPages implementation. I've also changed my mind about needing to skin the site header separately. It will be better to break the site header control up into its constituent components and make them into their own controls and then position them within the MasterPage template. This will allow a great deal of flexibility in terms of design and make the design work very easy to understand for anyone who understands HTML. The templates are just .ascx files with markup. I plan to display them in a dropdown on the admin page. You would simply create a new one and drop it into a folder to add a skin. Of course you would have to include any supporting images and style sheets.