The situation had become intolerable, with daily site crashes wreaking havoc for every user of the system. Online sales had always suffered, but now it was compounded because product information was becoming outdated due to an inability to maintain it because of site errors. There was a belief that previous upgrades had failed in the past, but there was no documentation or site schematic – just a superuser login and a plea for help.
How do you upgrade a 21-site installation of DNN, housing 90,000 users shadowed across 16 of those sites, 18 SmithCart stores, and 21,255 module instances? And deconstruct a fractured set of designs that involved dozens of themes and thousands of inherited defaults? With no interruption of service and no negative impact to users?
We treated the project like that of a large scale and long-term triage – a strategy that time and again led to iterative successes as we progressed methodically towards the goals of complete stability, manageability, and upgradability. Hundreds of tasks were optimized and organized, logically grouped together, and aligned with weekly execution plans that marked our progress.
The results speak for themselves. Customers are purchasing more in online stores that are now a pleasure for them to use. Content editors are maintaining the sites with new tools that enable them to add powerful features over and above writing great content. And management is enjoying the cost saving benefits through these new efficiencies, while seeing across-the-board increases in online sales. And us? We love a good challenge, bring on the next!
For our soon-to-be client, the situation had become intolerable. They had 90,000 users on 23 websites that were crashing daily, sometimes while content editors were making changes, other times while customers were attempting to purchase at any one of the 18 stores, and most often when the site was randomly being browsed by anonymous traffic. Error notifications were the most common entry in the log files, so much so that it was a challenge to sift through the haystack to find the various needles for cause. Content and products were becoming woefully out of date because of an inability to administer various areas of sites and stores. Their customers were frustrated, everyone was affected, customer service and technical support were overwhelmed, and the situation was made impossible because nobody could see a way through.
The initial and immediate goal was to get the platform and websites stable, so that a comprehensive audit could be performed. The objective was to decide whether the web properties could (or should) be salvaged or would require a total rebuild, and also whether to remain on or abandon the DNN platform that powered all the sites.
The project began with a thorough inventory of the installation, it’s content, the codebase, and underlying data. On a parallel track was the investigation of errors that were plaguing the sites. Punch lists were created and organized for each site 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.
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 was prematurely interrupted by the leading error.
With phase one complete, we could now focus on the next priority in Phase II of getting the 18 E-commerce 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 or scrubbing content and code. Some of our accomplishments to this point were:
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, and video tutorial 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 internal content maintenance teams quickly up to speed.
"You guys rock!"
"You guys rock!"