Aug
9
Written by:
Mike Burnham
8/9/2008
Kidding about the title...sort of.
I was having a conversation recently with one of our partners who was relating a story of the efforts involved in upgrading their website. The timing was good because we have recently spent a significant effort doing some technology updates on our site as well. During the conversation it occurred to me that, once again, we share the same problems that our customers and partners face. I thought I would share what we are doing and some of the insights regarding how we are doing it.
Kidding about the title...sort of.
I was having a conversation recently with one of our partners who was relating a story of the efforts involved in upgrading their website. The timing was good because we have recently spent a significant effort doing some technology updates on our site as well. During the conversation it occurred to me that, once again, we share the same problems that our customers and partners face. I thought I would share what we are doing and some of the insights regarding how we are doing it.
Some would argue that sharing this could be giving away some competitive secrets. However, in the course of our software development, we have learned that it is pretty easy for a talented developer to learn how anyone's web site is put together. Just in case, if you are a competitor of ours determined to take us down, please stop reading now. (OK, the rest of us should be safe to continue now.)
First and foremost, we a proud users of the DotNetNuke platform. DotNetNuke is an "Open Source Web Application Framework". For the geek-free definition, think of it as a empty website where you fill in the blanks. It is a content management system1 that uses modules and skins to create, deploy, and manage intranet, extranet, and web sites. It is also, in theory, free because it is "open source" software. Open source generally means that people freely contribute their skills to the development, resulting in a gigantic community of like-minded people all gaining benefit from the community's efforts. Since DotNetNuke is written using Microsoft tools and running on the typical Microsoft stack, it is friendly for people like us to use and play with since we also develop using similar technologies. It is also being used by a LOT of companies and organizations.
If this sounds good, but is over your geek-comfort-threshold, check the book link below for the DotNetNuke For Dummies. It's a good read, even if you aren't a dummy.
1
From Wikipedia:
A content management system (cms) is computer software used to create, edit, manage, and publish content in a consistently organized fashion. CMSs are frequently used for storing, controlling, versioning, and publishing industry-specific documentation such as news articles, operators' manuals, technical manuals, sales guides, and marketing brochures. The content managed may include computer files, image media, audio files, video files, electronic documents, and Web content.
A CMS may support the following features:
- identification of all key users and their content management roles;
- the ability to assign roles and responsibilities to different content categories or types;
- definition of workflow tasks for collaborative creation, often coupled with event messaging so that content managers are alerted to changes in content (For example, a content creator submits a story, which is published only after the copy editor revises it and the editor-in-chief approves it.);
- the ability to track and manage multiple versions of a single instance of content;
- the ability to capture content (e.g. scanning);
- the ability to publish the content to a repository to support access to the content (Increasingly, the repository is an inherent part of the system, and incorporates enterprise search and retrieval.);
- separation of content's semantic layer from its layout (For example, the CMS may automatically set the color, fonts, or emphasis of text.).
You can use DNN (people using DotNetNuke sound cooler when they use the acronym) to get a powerful web site up and running as is. Then you can alter and customize the look of the site by using "skins" of your choosing. There is a healthy community of private designers that sell skins with a wide variety of looks. Snowcovered is a online shop for many of these skins and other modules. You can also write your own skins or tweak an existing skin to meet your needs and style. We do the latter.
We quickly learned that we wanted fancier stuff than the typical free modules and skins, so we have spent a fair amount of money buying additional modules and goodies to bring our site to where we want it to be. Fortunately, most modules are within the range of $30 to $250 USD, so this is within the reach of even the most frugal business budgets. I would like to point out a couple good products that we purchased:
- A product called metaPost from IT Crossing gives us a way to make writing our blogs simpler. We now use Microsoft's Windows Live Writer to publish directly to our blog. We hit a couple hiccups on our side during the development of the site, and their support was beyond great.
- A product called Url Master from Ifiniti allows us to tweak the URL web addresses so that they are as friendly as can be. They also helped get us past another troublesome issue that occurred while bringing this all together.
No, I am not paid for those plugs, and we bought the modules like everyone else does. However, the experiences make me realize how nice it is to have one-on-one contact with people trying to help you out of a jam.
We have also gone a little deeper than most and done a few internal code hacks in order to bend the framework even more towards our will and to give us an even better platform to build upon. We are, after all, software developers.
There is a network of forum help and paid consultants to provide assistance if you head down this path. I have, however, seen some of the trade-offs of open-source software during this effort. I have drawn these conclusions:
- There is no such thing as free, but there is a way to avoid dropping zillions of dollars if you need a solid web presence. Open source software is a funny beast: We often found ourselves preferring to spend some money to solve a problem, rather than wasting a significant amount of time to solve it ourselves. Open source software doesn't generally have a support line to call. (DotNetNuke has, however, formed a corporation that provides support contracts.)
- At the end of the day, people need to earn a living. Software developers that contribute to open source projects typically do this in their free time, or at the paid expense of their companies allowing them to contribute. Many companies are building modules that are worth buying, so that the developers can earn a living. The founder of DNN, Shaun Walker, tells truly fascinating tales in one of the DNN books available. Check the Amazon link below for Professional DotNetNuke 4. I was amazed at the story of its evolution.
- Calling or emailing a knowledgeable resource when you having a software problem is way better than posting in a forum or screwing around with it on your own. (This experience reinforced the reasons behind one of our internal policies: always make ourselves available for our customers by phone or direct email. If you are having a problem, call us and we will help.)
- Lastly, this is the type of project that can become a real magical vortex of time-sucking capability. For the perfectionist types like me, you really have to pull yourself away or you will tweak yourself to death.
Speaking of that last point, I should go now. I have some web pages to tweak. Please drop me a line or post a comment if you found this of value.
By the way, we have found the books below helpful...