Friday, April 25, 2008

Portal / Content Management Development

Over time, the concern about proper development practices has repeatedly risen on development of portal and content management pages. The development process of doing 'everything' in dev, then deploying it to a test environment, and then having it deployed to a production environment once it has been signed off by QA.

I must admit that I have been in the 'developer' camp for a long time. It wasn't until about a year before I came over that somewhat of a light clicked on for me for developing portal/content management sites. The concept of code migration doesn't totally apply.

In order to understand 'code' migration, you have to define what 'code' is. In my opinion, 'code' in this sense is anything that is run server side. In otherwords, if the 'code' has to be compiled or run on the server, then it needs to definately follow the proper development process.

The argument can be made for defining code as opposed to content. However, in portals/content management applications, content can be defined as basically everything else. In otherwords, we are opening up the application to allow end users the ability to input content; HTML, Javascript, Images, text, add new pages, new navigation, links, and more. So it makes sense to me that the 'content' doesn't need to follow the same process of dev > test > production. We cannot expect our end users (content contributors, site owners) to follow such a lengthy approach.

The argument that I hear over and over again about not allowing this to happen is that the environments will get out of sync. This is a fact! In a portal environment, the environments will get out of sync. Content will be managed in one environment! You can only mitigate the consequences of developing in a portal. There are several ways to do this. One that I would suggest is that eBusiness try to make similar changes to the same files in each environment, for example if we modify a master page in production, make the same change in the other environments.

I really feel strongly about not managing content in seperate environments. I also have lots more to say on this subject and have only lightly touched general issues surrounding reasons to do this and reasons not to do this. I am interested in hearing your comments.

Friday, April 18, 2008

Cross-Browser CSS

CSS has a way of behaving differently from browser to browser. The three most heavily used browsers here in our health care company are IE6, IE7, and Firefox. Occasionally, browser specific css is required in order to get certain elements to display correctly. Here's an example of a problem I had last week:

#gw_wrap {
left:-160px;
}

* html #gw_wrap { /* IE 6 ONLY*/
left:-180px;
}

html>body #gw_wrap { *left:-20px;}/*IE 7 ONLY*/

The issue I was running into was an element being shifted off of the page by different amounts from browser to browser. As you can see in the example above, the first entry for #gw_wrap was the initial setting. For IE 6 specific css, you can add '* html' prefixed to the element you're targeting. And by adding 'html>body' to the front of the element, and adding an '*' to the CSS attribute, you can target IE 7 specifically. Below are a couple of great resources pertaining to browser-specific CSS.

http://www.evotech.net/blog/2007/05/ie7-only-css-hacks-examples/
http://www.positioniseverything.net/articles/ie7-dehacker.html
http://www.zimmertech.com/tutorials/css/65/target-ie-only-css.php

Multiple Browser Installations

With the majority of the public using Internet Explorer 7, and our corporate standard being IE 6, it becomes troublesome when certain applications and elements don't format correctly from one browser to the other. I've ran into this issue several times, and typically it is due to the browser's interpretation of the CSS on the page. I've found several helpful resources that can help troubleshooting this issue.

http://browsers.evolt.org/download.php?/ie/32bit/standalone/ie6eolas_nt.zip

This is software that allows you to install IE 6 (and previous versions) independent of your other IE installs. In my case, I've installed IE 7 recently, and test using the standalone version of IE 6 from the link above.

Thursday, April 17, 2008

List view problems

The problem I am facing, is that Jeff wants to use 'out of the box' list views to display content on a page. There are several concerns I have with this. The first concern is that there is not a way to 'style' the content that comes back. Its all table based. So I cannot apply a different style to a title or an article body. I also cannot wrap content around to make it look all nice and pretty. In addition, I cannot make the display smaller than all the content coming back, in otherwords, the list area stretches out and messes up the other parts of the screen. This is the problem. I will post the fix for this problem shortly.