In the beginning, Le Moyne College’s main website was powered by a set of static web pages with a small dose of custom-written ASP to serve as our first entry into content management. As typically happens on campuses everywhere, as Le Moyne began a branding revision in 2008, one common theme that was echoed across campus was the need for a better distributed content management system that could be easily extended to content providers.
The problem? Our budget was extremely small, eliminating the more commonly-implemented CMS tools. Knowing that we wanted to use an open-source tool that would grow with us and utilize our .NET skills, we began to look at DNN. Much like Duke’s use of Drupal, we also rely on DNN as a framework and a content management system.
DNN calls themselves the “most widely adopted web CMS for business-critical .NET web sites”, touting the fact it can serve as a CMS or a development platform. DNN uses a three-tier architecture model with a core framework that supports extensible modules. Third party modules can be (and in our experience need to be) added to extend the functionality. The look and feel of a DNN site can have unlimited customization using skins and containers (think templates).
The LeMoyne.edu Environment
We’re currently running the Community Edition of DotNetNuke (version 4.8.4) and are in the process of upgrading to Professional Edition 5.3.2. We’ll talk about the difference between Community and Professional editions later on.
In terms of hardware powering the site, we’re currently running IIS 6 and SQL Server 8 on a Windows 2003 server, but are beginning the process to upgrade to a Windows 2008 server with IIS 7 and SQL Server 2008. We’re also planning to implement Active Directory, which will eliminate the need for us to use the native DNN security roles and manual account creation.
We currently have roughly 300 users in our system falling into 2 categories: those who are content creators for the lemoyne.edu site (accounting for the majority of users) and those who have access to restricted portions of our site (such as our Board of Trustees Members, those taking part in a Cultural Competence Initiative sponsored by our Physician Assistant Program, and class-specific portal sites for students in an Advanced Journalism class). Access for content providers is role-based, which users being assigned to one of 65 current security roles.
Out of the Box and into Production
The best part of the deployment experience was getting under the hood to see all the things the system could do and finding tools to simplify 99% of the custom processes that we’d had to write when we were using a system of largely static HTML.
We faced a couple significant challenges, however. The primary one was communicating to the campus that change was coming. What worked in our favor was the project was part of the larger integrated marketing initiative, so that eliminated the question of “Why does this need to be done? The site seems pretty good as it is.” The other huge challenge we faced was to change the campus mindset from organizing the site’s information architecture by the campus organization chart to an audience-based and task-based structure. Some of the biggest battles on our campus came not from the decision to move to a content management system or deploying the technology, but from getting buy-in from campus offices that the changes were needed.
Another challenge I faced during the DNN implementation was to convert the templates created by the local design agency we were working with into CSS-based skins. All the designs were given to us as table-based layouts. Creating skins within the DNN framework is a fairly straightforward process once you understand the token and class structure that’s used in DNN pages (called tabs) and containers that hold the DNN modules used on a tab. (https://www.skinningtoolkit.com is an excellent resource to dig into how the DNN pieces will fit together on a skin. We also invested in a subscription to DNNCreative Magazine https://www.dnncreative.com/ which contains video tutorials for everything from skinning to developing modules, to working with the DNN core functionality)
Deployment went very smoothly because we’d had DNN up and running in a live environment, had the server technologies in place, and had the Microsoft-based skill sets. Out of the box, DNN comes with a pretty solid feature set, but we did find as we began bringing the content into the system, we had to find some third-party modules to supplement the core functions. As an example, we discovered that the DNN core video module could not be configured to not auto-play videos, so we purchased a YouTube-like gallery for less than $100 that gave us better customization of playback, plus provided tagging, user comments, and categorizing videos. On the other hand, DNN’s core Repository module was a perfect tool to allow us to create collections of files that had detailed descriptive information, author contact information, and file size that was not only categorized and searchable, but also allowed community features such as user rating and reviews.
We actually deployed the system two months ahead of schedule. Our deadline was shifted with the college’s new president coming to campus and identifying the website as a strategic priority for redevelopment. I wasn’t going to be the one to tell him it couldn’t be done!
System, module, and user support is handled through Information Technology. Our Communications office is responsible for design of new page elements and ensuring that our content providers stay in line with the college’s design and marketing standards. There is one student worker within Information Technology that also provides support. This model is working well for us and because of the size of our institution; the partnership between IT and the Communications groups works well. While additional staffing would allow us to move further with development, budget constraints are preventing that conversation from happening for a while.
The Bottom Line
When we first launched our DNN site, the biggest annual cost of ownership was an support subscription through the DNN Corporation ($6,000 annually). DNN has shifted their model to now have two editions: Community and Professional. Community remains completely open source, but the Professional edition now includes support ($1,999 annually). The Professional edition (which we are in the process of implementing) includes new features like more granular permissions, as well as version control (both of which are lacking in the Community edition). We typically spend around $1,000 annually on licensing new modules to enhance our environment and on training.
Keeping the Lights on
We’ve been very happy with how our site has scaled and performed since deploying DNN. We’ve seen a 200% increase in traffic to the site since we’ve launched. One unintended benefit has been that DNN’s user creation and security role functions have helped us answer the question of how to remove access to student workers. In our static system, we relied on FTP to post content to the site, so removing accounts had to be done manually on the server. DNN lets us set an expiration date for our users, which has helped us support offices that use a high volume of student workers to contribute content to the site with the knowledge that when they leave the institution, their access will be removed as well.
One area where it has not scaled well for us is URL re-writing. We have purchased a commercial module to help with this following our upgrade, but currently we use a pretty cumbersome system of creating IIS redirects to provide vanity url’s and landing pages. Another area where we have had issues is with the lack of version control (we tried a couple commercial modules to help, but they were difficult for our content providers to work with). We’re looking forward to version control in the professional edition.
Pushing the Envelope
From what we’ve seen and heard from the DNN community, the size of our implementation by far pushes the limits of a typical DNN installation (we’re currently serving 2,100 pages through DNN).
We’ve created an online training library using a couple of the modules which has helped us reach a broader number of users that couldn’t attend in-person training during the work day. We’ve also implemented Amazon’s S3 service for video streaming and storage. Our video module integrates seamlessly with S3 to eliminate the need to have video files stored and served from our campus network. One of the features we’re starting to roll out to a greater audience across campus is using the child portal concept as a framework to allow a class to create content. We’ve also been able to successfully run a commerce platform allowing us to accept admission deposits online, as well as provide laptops for purchase to the campus.
Does it Play Well with Others?
We’re at the beginning of a portal redevelopment project, so we haven’t done much in the way of integrating any DNN features with our ERP system or vice-versa. As we move forward with our Active Directory implementation, logging into DNN will be seamless (we currently manually create accounts and assign users to the appropriate security role without any password synchronization).
We’re in the middle of our first project where course information will come out of our ERP system and we’ll use the XML module to display that data in DNN to have updated information from our College catalog readily available online (instead of a pdf of the catalog).
What if I Need Help?
If someone doesn’t want to purchase a Professional Edition license which includes an online help ticketing system, there are still plenty of sources for support. DNN Creative has a very active community of DNN users that have been a great resource for troubleshooting. The main DNN site also has an extensive community of active developers.
We’ve also had very good luck working with our module vendors. One cautionary note is that DNN will not provide support for any third-party modules that have been added to your DNN installation. It will be interesting to see if that position changes based on DNN’s relatively new partnership with Snowcovered (a warehouse of third-party modules for DNN)
I’ve also had good luck following a couple recognized DNN leaders (@WillStrohl, @leesykes, @mitchelsellers) on Twitter for quick answers to questions or recommendations of best practices.
Will it Work for You?
The primary reason we selected DNN was because our skillsets aligned perfectly with the .NET platform and we had the SQL and IIS infrastructure in place. At the point where we selected DNN, the cost of commercial alternatives was prohibitive as well.
A couple things that we really liked that may not appeal to everyone included our commitment to enhancing or deploying third-party modules. Because of DNN’s commitment to open source, developers are welcome to tweak the modules, as well as develop their own solutions.
We also were very attracted to the flexibility to develop skins (or templates) within the DNN framework. But that is a process much like building an HTML template from the ground up.
While it might be present in future versions, reporting can be a bit of a challenge as well, but I’ve been able to write some custom SQL queries to generate the answers we need (the biggest example is who has permissions to edit specific modules within the system)
We also had to make a pretty sizable commitment going in to training because it was a dramatic shift in how things were done on campus (although I’m sure that’s true with any rollout). So in addition to creating skins, implementing and configuring the modules we needed, and bringing content into the system, we held over 20 training sessions on campus (the one thing that worked against us was that the implementation took place over the summer, so it was difficult to reach large chunks of departments). I’ve been developing a series of videos using Jing that we’re posting on our training site to cut down the in-person sessions conducted in the future and address the commonly-used features of the modules.