How do you upgrade a 21 portal installation of DNN, with 90,000 users shadowed across 16 of those portals, 18 SmithCart stores, and 21,255 module instances? And clean up a fractured set of designs that involved dozens of themes and thousands of inherited defaults? With no interruption of service?
With a really good plan and precise execution.
Here’s the rundown on the situation:
- 23 portals on an installation of DNN v6.1.2 that had an error filled upgrade history
- Over 90,000 users shadowed across 16 sites
- 18 SmithCart eCommerce stores
- 21,255 module instances
- Dozens of themes and containers, with thousands of inherited defaults and thousands of orphan entries
- Inability to maintain much of the content due to extension conflicts and page errors
- Inability to alter settings on many of the existing pages and installed extensions
- An unstable site that consistently overwhelmed the production database
Here’s what we did:
- Performed a complete inventory of the installation, content, and codebase
- Implemented a 3-phase plan to:
- stabilize the installation by upgrading the platform and extensions, and resolving all outstanding site errors
- bring the e-Commerce customer experience up to standards, and realign the page hierarchies
- realign content, optimize pages, and introduce new features
- Decreased the number of module instances from 21,255 to 10,670 with no loss of content or functionality
- Consolidated to a core design and a core theme, branded and customized across the entire portal landscape
- Defined a content hierarchy and update strategy to simplify content maintenance
- Completed a redesign of all sites to be mobile responsive
- Converted all portals from username accounts to unique email address logins
- Defined a content strategy for sharing customized content across all portals and stores
- Eliminated all page errors and site crashes
- Restored installation and portals to “showroom condition” – module/tab/page/portal settings were reviewed and optimized, and consistent “upgrade ability” was restored
Here’s the payoff to the client:
- Employees, customers and visitors now enjoy a friction free online experience. They’re spending more time on the sites, and spending more when purchasing in the stores. User registrations are increasing, along with a corresponding increase of return visits.
- Content maintainers now save hundreds of hours per year performing content maintenance
- Page load times are dramatically decreased, and page rank and SEO is significantly improved
- Thousands of dollars are now being saved in renegotiated software licenses
Here’s how we did it:
The first step was to become familiar with the installation in all aspects. Each portal was browsed as an anonymous user, then again as a logged in administrator. During these portal (site) reviews, It was important to critically review representative pages and sections to identify errors and items of note that either needed to be taken into account or addressed and resolved. Punch lists were created and organized in a hierarchical order of severity and priority. Each of these portal punch lists were then compared and items were reclassified once seen from a cross-portal perspective. For the sake of efficiency and a need to shorten the timeline as much as possible, a last step involved splitting this final collection into logical subgroups that could be accomplished most efficiently as a group. For example, converting to email-based logins, creating branded registration pages, and implementing recaptcha were combined into a logical subgroup.
Once all of the punch lists were complete, attention turned to defining an execution plan. Overall, the operation was completed in 3 phases over the course of approximately 8 months. But the first phase – stabilizing the platform and getting to current stable version for the platform and all installed extensions – was important for a number of reasons. The hope was to get the installation to a point of stability not only for the user’s sake but also because it would make everything that followed simply easier and quicker to execute. This is a commonly employed strategy when issues or errors are encountered – to investigate release status and see if the quickest path to resolution is to first perform an upgrade.
Phase I was comprised of 12 blocks to be performed in a specific order of execution, with each block also containing steps that required the same exactness. We would only proceed to the next block after successful completion of a previous block. When issues or errors were encountered, diligent testing was performed to isolate the cause and come up with steps for resolution. This would sometimes involve repeated rollback and restore processes. It wasn’t uncommon for errors to cascade in a chain, whereby resolving one error would then reveal another that until then was unseen because the execution to screen was prematurely interrupted by the most prominent error.
With phase one complete, we could now focus on the next priority in Phase II of getting the 18 SmithCart stores up to speed. There were many short detours as we worked through the process. For example, altering a display template would sometimes reveal underlying bugs that needed to be resolved, or reveal issues with product data that needed to be addressed. It also involved a wider circle to resolve some of the issues, sometimes requiring a module vendor to address core issues before further progress could be made. To maximize productivity, we began filling in the “waiting on the vendor” time with ancillary tasks such as realigning page hierarchies and preparing for Phase III.
Phase III is an ongoing process as each of the sites are realigned and content is backfilled. The goal is to continue to make the site more intuitive to the user, while also making the task of maintaining the site simpler and quicker for the website administrators. Core content areas such as company news, product tutorials, or video libraries are being methodically redesigned and reworked to take better advantage of the capabilities of the DNN platform. The strategy employed is to redesign an area, populate it with representative items that can be used as a reference model for the content maintainers, then hold ad hoc WebEx training sessions to get the teams quickly up to speed.