Contact Us
24/7
Python BlogDjango BlogSearch for Kubernetes Big DataSearch for Kubernetes AWS BlogCloud Services

In-Place Migration with Plone

Central New Mexico (CNM) Community College
<< ALL PROJECTS

Areas of Expertise

Text Link
CMS & Intranets
Text Link
Cloud Delivery
Text Link
Upgrades & Migrations

Industries

Education
Text Link

CHALLENGE

Upgrading and migrating a website can be challenging, but when you need to upgrade, migrate, transfer data to the cloud and implement an entirely new theme and design capabilities — the challenge is compounded by countless moving pieces. Central New Mexico Community College (CNM) reached out to Six Feet Up to execute the migration.

The college, which worked with Six Feet Up in the past for a Plone upgrade and implementation of a distance learning platform, needed help:

  • upgrading Plone in-place from 5.1 to 5.2;
  • migrating from Python 2 to Python 3;
  • making existing add-ons Python 3 compatible;
  • transferring the college’s on-premises datacenter to Amazon Web Services (AWS); and
    implementing a new theme.

The goal of the migration was to boost security and bring the website up to date with a more modern design — all while keeping the website usability top-of-mind and ensuring that the website remained up-and-running.

Implementation Details

With a migration this large and complex, creating a plan that could be replicated and tested was key to success. Over the course of six months, Six Feet Up’s expert developers created and tested detailed migration steps to prepare for the final migration; removed dated and deprecated add-ons and settings; implemented a new theme and Mosaic design capabilities; and converted the database to be compatible with the upgraded Plone site.

Upgrading Plone In-Place from 5.1 to 5.2

In addition to keeping CNM’s website up and usable, the college also wanted to keep as much of the website’s existing functionality as possible. To achieve these goals, the Six Feet Up team opted for an “in-place” migration which involved migrating the existing database to the new platform, while keeping the permissions and workflows in place. This approach ensured that the final migration to CNM’s new website would be as seamless as possible.

Migrating from Python 2 to Python 3

Six Feet Up’s experts then developed a migration process to programmatically conduct the migration. The migration process included:

  • a pre-update to clean up the code in preparation for the conversion to Plone 5.2,
  • a buildout that runs on Python 2 to upgrade to Plone 5.2,
  • conversion of the database to Python 3; and
  • a buildout that runs the data on Python 3.

Making existing add-ons Python 3 compatible

Additionally, Six Feet Up’s experts were faced with numerous instances of add-ons (bits of website functionality) or settings that were either obsolete or would become unusable in Python 3. In these cases, the development team surveyed the current website to find obsolete add-ons and wrote custom add-ons for the functions that the college needed to keep.

Transferring an On-Premises Datacenter to AWS

In parallel with the website being updated and migrated, the college’s on-premises datacenter was being transferred to AWS. The new deployment featured Plone on Amazon Elastic Compute Cloud (EC2), AWS Web Application Firewall (WAF) for content delivery and Amazon Relational Database Services (RDS) PostgreSQL.

To complete the data transfer to AWS — while the “in-place” migration was in progress — the team adapted to the new PostgreSQL data structure and wrote a template into the buildout to interact with PostgreSQL during the migration.

Implementing a New Theme

Using Diazo, Six Feet Up’s developers customized a responsive theme and integrated it into Plone to match the college’s design specifications. Specifically, the team used Zeplin to collaborate and make adjustments and Anima to preview the design animation. Some features of the website include:

  • Mosaic tiles, which allow for much easier page creation;
  • custom buttons, such as “apply now” buttons for prospective students; and
  • a more modern look.

Results

Ahead of final implementation, the website migration process was tested numerous times and resulted in very few changes from the college’s user acceptance team. Once the final migration was executed, it went off without a hitch. Now, CNM has a secure and modern website — and data stored in the cloud.

While juggling version migrations with cloud delivery and a complete website redesign, Six Feet Up’s developers implemented a solid method for migration planning and testing that can be adapted and used to tackle other similarly-sized migrations.

For another example of Six Feet Up’s work migrating a large website, check out this case study on "Migrating 30,000+ Website Pages from Zope to Plone."

ARE YOU READY TO START YOUR NEXT PROJECT?

Let's Talk