Falling in Love with Drupal

Filed under: Development — Micheal on October 24th, 2007

Drupal

About three weeks ago I started work on a “pro bono” project for my Alma Mater. Once I produced the mockup I decided this would be a good opportunity to integrate with a different framework. To save time, money and provide a quality product I was on the hunt for the right framework. I wanted a framework that would provide flexibility so someone else could take over in the future and also provide scalability so if the project grows beyond our current vision the framework would handle it. After rummaging through several frameworks, I came across Drupal.

I found many reports stating there is a learning curve with Drupal, even for the seasoned PHP developer, and they weren’t kidding! However, once I dived in and figured out the template system it was pretty smooth sailing from there on. The content management portion of Drupal is awesome. I find that the learning curve is in discovering that referencing Drupal’s API is a must for overrides. Just to get the menu system to work the way I designed it, I had to create two overrides for the main and sub navigation. Since there is a definite limit on time with this particular project I absolutely love Drupal’s modules. The modules are simple and give just enough features to do the job. With all the power of Drupal, I found it strange that the output was built into the modules instead of using a MVC architecture. In order to change the layout of a particular module view, one must create an override in the template.php to then tell Drupal to pass the data to a template file. All and all Drupal is great if someone is looking for a feature rich CMS/framework that is scalable. It is important to determine if Drupal is right for the project. I would not choose Drupal if I were going to be doing a lot of heavy development, I would choose ExpressionEngine because it is based on the awesome framework CodeIgniter.

Once I rap this project up I will post some details and a link. We’ll see how excited I am at that time!


Dealing with IE 5.5+ when using PNG Transparency

Filed under: Design — Micheal on October 12th, 2007

Most modern browsers support PNG transparency quite nicely (IE 7 still has problems). There has been a large migration to Internet Explorer 7; however, there is still a large amount of people using IE 6. I still get about 30% of IE 6 users. Depending on the purpose of the site, I see no problem in using transparency in PNG’s. I am not a fan of mixing JavaScript with design, but the following solution works nicely. Keep in mind that there can be small delay inbetween the time the page is loaded and the JavaScript is applied, ussually only noticable if the images are large. In CSS, all that needs to be done is to call a behavior attribute that points to the .htc file containing the JavaScript. The “behavior” attribute needs to be applied to whatever element containing PNG’s with transparency. This can be as easy as:

img {
  behavior: url(iepngfix.htc);
}

If you are anal like me, you are going to want your CSS to validate. Due to the behavior attribute being proprietary to IE, it is recommended to split off the CSS so it is only seen by IE 5.5 and IE 6.

To download the iepngfix.htc and to view an example, go to: http://www.twinhelix.com/css/iepngfix/demo/

For individuals that care
I enjoy pushing my skills to the edge and always trying to approve upon what I know. HybridMinded.com is a good example of my love for patterns, gradients, and transparency. While the background attribute in web design is sometimes overlooked or given little thought, it can be a very powerful when used correctly.