Monday, December 29, 2008

ASP.NET CMS on a Budget

This is a comparison between two ASP.NET CMS systems that are currently available, based on an experience of mine. But before the comparison, a little background...


The company I have been designing for this year had a client come to us wanting a dynamic website. It was a website for educational resources. We initially decided to try it out on the Umbraco CMS which is what the company's website has been running on.


As we moved into the project we realized that there would have to be a lot of custom coding and thought we might be looking at building something from scratch. I looked at this prospect and at the time frame we had to work in and thought, "There must be a better way". In the meantime we had done the site's design as a static site in ASP.NET. This was my first foray in to ASP.NET and Visual Studio. Looking over the specs to our project I began to do research on ASP.NET CMS packages and was pleased to find that most are very extensible, meaning we could start with one of these, add some code for custom controls and save a lot of time versus building the whole thing from scratch,testing it thoroughly and making it solid. Another thing I found out was that ASP.NET CMS applications can be very expensive to license. I thought if I could find a good affordable (less than $2000.00 a site) CMS solution, I would not only bring this project in within its new budget but I could also develop a workflow for producing really competitive dynamic sites.


On the project at hand among the things the site had to do was sign up members who could upload file resources, i.e. pdfs, Word docs, videos, Powerpoint presentations, and audio files that users could then download for their own use. There had to be an upload for users to upload the files and an interface to edit entries. It needed a specific table sort setup to browse, preview and download the resources. It also needed to have the standard newsletter signup and management capabilities, a Whats New box showing the latest uploads and a countdown to a twice a year webcast event that would be visible on the site. Fortunately most of these bases were covered by standard CMS.


As I looked over ASP.NET CMS offerings I narrowed my choices down to two. Sitefinity, offered by Telerik, maker of the Rad Controls for ASP.NET and Kentico, an offering from a company by the same name. I might also add at this point that another consideration was that the Client was very specific about the look of the site, so I would have to be able to implement the design I had done for the static site exactly.


After an initial evaluation I decided that Sitefinity would be the quickest and easiest to implement. According to the demo video on their site you can load an ASP.NET master page as a template, put in your exact CSS and have the pages look right. Custom controls were a matter of writing the control as an aspx file and uploading it into the controls available in the application. Sounded very doable. You could skin the controls with CSS and skin files. I opted to commit to Sitefinity first because it looked the easiest as Kentico worked off of web parts and seemed to have a steep learning curve.


And so the fun began. For development, Sitefinity worked best as a root install on the development machine using IIs. They had step by step instructions for this on their website, for Vista. My development box had XP Pro, but I didn't think it would be that big a deal. Boy was I wrong. I kid you not, it took me the better part of a week to get an install to work on my XP Pro box. I contacted support a lot and they pointed me to articles on Microsofts sites. I also perused the forums in their support site, mostly to find other people who had been having the same problem. I did find the answers I needed on their forum eventually. In between hair pulling sessions with that I did get an install of a different site working on another box with XP Home using Visual Studio. I did have to tweak the CSS on that one and still haven't gotten it 100% right.


Once I got the install working it was time to fit in the design. That turned out to be not as straightforward as I had anticipated. It turns out Sitefinity interpreted my CSS a little differently. After many hours I was able get everything shoehorned in and working and then it was time to start working with our programmer on the custom controls. We had decided that the resources, that is, the files that were uploaded by users for download should have their own directory and a seperate database. Everything was going along famously, the controls were intergrating into the pages and we were moving along towards a swiftly approaching deadline. Then suddenly, the CMS desk wouldn't work anymore. It would weird out on me and lock up. I thought I must have made an error in some code so I loaded an earlier backup and tried again, three times. Same result. I conferred with support on this, I even sent them copies of the files. They said it was working fine for them, it must be something with my machine. I tested the files on a couple of different machines, but no luck. I never figured out exactly what went wrong, but my guess is that since their CMS desk seems to be controlled mostly by ajax script, it must have been some sort of script collision.


At this point I became sort of frantic. I had committed us to this, used our resources and now the deadline was approaching and the site was broken and I couldn't get any answers. As much as I hated to I thought I better give it a try on Kentico as I had just spent too much time troubleshooting Sitefinity and the last thing we needed was to have this break after we delivered it to the client and not have any answers.


So I did a crash course in Kentico. I was lucky in this respect as the Kentico installation comes with extensive documentation in pdf and chm form and they have forums online. I also contacted support and told them I was building a client site and would be purchasing a license for the site as soon as I showed the client a working prototype. They were very helpful and started responding to my emails and helping me along. The support for Kentico was great. Once I figured out their master page and template format I was able to execute my design perfectly. After getting the hang of it working with Kentico was a pleasure. The learning curve had mostly to do with all the features that this application offers.


We were able to quickly get a working prototype going and showed it to the client. They liked what they saw and we did purchase a license. We continued to add custom controls to our installation and Kentico stayed rock solid. We demoed the site for the client and started working with them on it and they have been pleased with the results. I still have a lot to learn with Kentico, but I believe I have found a solution that will make it possible for me to build large cost-effective dynamic websites for a variety of clients.


As I mentioned before, for this implementation I did not have time to investigate all the cool features Kentico has to offer me. The recently released new version, version 4, has even more cool features. The price has gone up a bit, but they still offer trial and free versions of the application and support is excellent. The company I contract with (LiveAir Networks) has become a Kentico partner and we are building the new company website in version 4 of Kentico CMS. One example of the level of service their support gives, we found out that our hosting company, Mosso, which provides cloud hosting was not compatible with Kentico CMS. We told support at both Mosso and Kentico that it would be great if this changed. Kentico emailed us back and said they were getting with Mosso support on working on the solution. Within 2 weeks they emailed us and sent us a patch that made Kentico work on Mosso and said the next version would work with Mosso natively. Now that is what I call going the extra mile.


I will return to the subject of Kentico in the future and would love to hear from others who have an interest in or experience with Kentico. For more information on Kentico visit kentico.com





Tuesday, December 23, 2008

From Rock to the Web - A Technophobe's Journey

I have had a love/hate relationship with personal computers most of my life. For a while I was a computer science major in college. Then I realized that sitting in a cubicle for hours a day hacking code, drinking coffee and grape soda by the liter and eating Fritos was probably going to put me in an early grave. So I ran away and joined a rock band. Became a technophobe. Really, I didn't want to ever have anything to do with computers again.
About two years later, I was out of the band and getting my start in the music business and my mentor, Greg Forest, showed me how the computer could be used as a tool. With his techniques he was doing the work of a whole office full of people by himself. This was 1988 and he was way ahead of the game. He was even doing some digital recording, turning out demos for songwriters. So I got interested in computers again.
At this time I was also doing a little bit of writing for a couple of music publications and through my relationship with editors got some work doing first typing and then layout. We were doing the typeset on computers and then doing a paste up of the layouts. We were doing the computer stuff on Ataris and Macintosh computers (yes the little self contained box). This is where I started learning desktop publishing and graphics.
Along about this time I went through a transitional phase of my life, so I wasn't doing much on computers as I kept moving around, working on the road some and changing jobs pretty often. Oh yeah, I might add that at this point around 1991-92 I still had never owned a personal computer of my own.
I got out of music and in to art. I was doing fine art photography and starting to show some work in galleries while supporting myself working as a restaurant manager and waiter. There were hints on the horizon concerning digital photography but I was into film and the darkroom and I stuck to that. Besides, good digital cameras were really expensive at the time and film would probably be around for at least another century, right?
One pivotal event in my path to the digital world was when I worked an agreement with a fellow in Austin to trade finishing out a cabin in Bastrop County for a year's rent. The cabin was on the edge of some wild woods, but there was a main house on the property that I had access to and it had computers and Internet. In my little escape to the woods I had managed to hook up with the whole world.
This was 1999 and I had heard a lot about the Internet, but had never really done any surfing. I hardly knew what a browser was. I was desperately behind and out of practice on computers but I got really interested in the Internet and started spending a lot of time up at the main house surfing the web, exploring and learning. It was along about this time that I published a calendar of my photos and thought that it would be a really great idea to have my own website, although I had no idea what it would take to make that happen. So I filed the idea away for the time being.
When I got done with the gig at the cabin I moved back in to Austin. My calendar was released at the end of 1999 and that coincided with my move back to town. I bounced around for a while, living with room mates, doing art. A friend of mine loaned me an apple computer he had and I started using it to surf the net, although it was often frustrating since I was on a dial up connection through an external modem. Soon I finally bought a computer of my own. I bought it at a pawn shop for four hundred dollars. It had an AMD K6-2 chip,128 MB of RAM and Windows 98. Adding more memory to this computer was the first of many computer upgrades I would do myself. About the time I made this purchase I also rented a loft/studio in Smithville and prepared to move there. An acquaintance of mine who was a web developer offered to help me out with getting a web site going. Unfortunately, before this was accomplished our relationship soured and that was the end of that although I did get my domain registered. I had no idea what it took to hire someone to do a website. I imagined it was pretty expensive. I had a free webspace with my dial up ISP so I created a little web page there. Then I found out about Dreamweaver and how you could download a free thirty day trial. So I downloaded it and started figuring out how to build a website. This would be version 1 of leswarren.com. I had Paint Shop Pro for the graphics, which I kept pretty simple. It was a frames based site with a basic black and white scheme. The Dreamweaver trial ran out, so I started learning to code by hand. Soon I was able to cobble pages together in a text editor. I still don't use Dreamweaver much.
Not long after this I was doing a photo shoot for a caterer who said they needed photos for a website and a brochure. As always with these local jobs I asked who would be doing the design and printing for the brochure. They said they didn't have anybody yet. As providence would have it, I had recently come in to some money from an insurance settlement and had used some of the money to buy good graphics programs, Pagemaker being one of them. I asked the caterer if they wanted to give me a shot at the brochure and the website. I convinced them that it would be a whole lot simpler to have one person handle everything and besides, I would take some of my payment in trade. I was able to complete both the brochure and a simple website satisfactorily and give my girlfriend an amazing catered dinner for Valentine's Day. Little did I know it, but I had started a new career path. It would take years to open up fully, but the work had begun.
I started practicing and studying in earnest. There were and still are a lot of resources on the web. I started learning about javascript and dhtml. My next job I traded a website for a van. It was a little more advanced with javascript slide shows and stylized navigation with image swaps. I also improved my own site. It would be years yet before I left my restaurant job and went full time. All that time I studied and improved. At some point I took some part time work in a commercial photography studio to learn digital workflow. Then I bought a digital camera. That camera paid for itself the first week I had it. I started studying Photoshop and how to work with digital photos and I must say, that is one of the hardest things I have ever learned. But I eventually became an expert, which not only helped me make a little money at photography but also helped a lot with websites. I put Linux on my computer and learned how to bash around in servers. I eventually had to replace my computer. And so the progression went.
Now I am a full time freelancer. I do graphic design and web development. I now work on big dynamic sites, usually working with programmers. I also do some photography. I live in a small town so I have to diversify to keep going. I still have to study continuously to expand my skills. Besides just the technical stuff I have had to learn about web strategies and how to make websites work for my clients. I don't anticipate ever being able to do this without doing a lot of homework to keep up. But thanks to the web and a lot of individuals who are willing to share their expertise and experience the knowledge is accessible. And I know I am not the only one who has learned this way. You might say the web is self-propagating.

Monday, December 22, 2008

Welcome to My World (Blog)

Once again I begin anew my Blog. I began a blog a few months ago on my site leswarren.com but in the ensuing migration of my site to a different server the blog got lost. Or should I say, lost track of. At any rate here I am again and will soon be attempting to bring you some interesting and insightful blogging on a variety of topics including; web development and design, art, photography and strange politik. I hope this proves to be a fruitful venture for all involved.

Looky!