Website migration – whether to a new version of your content management system or to an entirely new platform – is among the most stressful projects for an enterprise, one that will challenge the team on every assumption and analytics they have. Before starting down this path to a website migration, there are two key questions you will want to answer:

  1. Does automating the process save me time?
  2. Does automating the process save me money?

Below is our guide to go about answering these questions. Of course, every scenario is different and requires evaluation and analysis before the final decisions are made.

Determining an Approach

When determining the approach for migrating content, there are several factors that come into play when architecting out a solution to find out which one would be best.

How many pages are there? If your website is relatively simple, and there are a small number of pages (<500), it is likely going to be easier/faster/cheaper to copy/paste your content from one website to another. The number of pages will need to be determined by you, but we have found that migrating sites with more than 500 pages start to become more efficient with migrations scripts.

Importance of Site Crawls. Crawling the existing website is a critical step in determining the approach to take for a website migration. This will give you a quick summary of the volume of pages, images, and documents. Tools like Screaming Frog will allow you to export the list to a spreadsheet where you can create a more thorough inventory and conduct a ROT analysis (Redundant, Outdated, Trivial) on your content to determine how much of this content actually needs to be moved to the new platform.

Where do the current pages live? Is the content that you are migrating in a database somewhere or does it live in static HTML files on a server? Where the content lives is important because it limits the options available for importing and working with the content. It also determines the structure of the content.

Database Content. Content that is stored in a database is typically more structured and logically separated. This gives more flexibility when writing migration scripts because it is already in a consumable format. It is unlikely that this will be an “easy” 1:1 mapping from point A to point B, but the first step of getting the content into a consumable format is done.

Static HTML. Content that is in a static HTML format is going to be harder to work with. In these cases, you will likely need to use a web scraper tool to break apart your pages and get them into a consumable format for your migration to Drupal. You will be faced with numerous edge cases based on how each page is built. This process may require a lot of trial & error in order to get right.

How well are the static pages structured/formatted? In any website migration, consistency is key to making the process effective. You will want to determine if the pages follow consistent patterns so that you can create a repeatable process. If the pages have no uniform formatting or consistent markup, the task of creating a repeatable process of a migration script will be difficult and more time-consuming.

Does the content have references to media (images & files)? If your content contains references to media, this adds another step in the process. Your migration scripts will need to not only handle the migration of the assets but also alter the markup to replace the links/references to these assets.

What tools are available on the platform I am building the new website on? Most modern CMS platforms provide some level of migration support for getting content from point A to point B. A majority of the work that we do is in WordPress and Drupal, below is a quick list of migration options for each platform.

WordPress Migration Options

  1. WordPress All Import Tool
  2. WordPress Import Tool (Blogger, BlogRoll, LiveJournal, RSS, Tumblr, WordPress)
  3. FG Drupal to WordPress
  4. HTML Import 2

Drupal Migration Options

  1. Drupal 8 Migrate
  2. Drupal 7 Migrate
  3. Feeds Module
  4. Content Import

Other Useful (Platform Agnostic) Tools to help with content cleanup:

  1. htmLawed
  2. PHP DOM Manipulation
  3. Site Sucker
  4. Example Python Web Scraping

Determining the right solution

Now that you have all of the information you need, you can answer the two questions:

  1. Does automating the process save me time?
  2. Does automating the process save me money?

You are now equipped to make an informed decision on the approach you should be taking. You have a good grasp on what your source content looks like, how easy it is going to be to work with and what tools you have to give you a kickstart. Your next step is to crunch some numbers and get some high-level estimates on LoE for writing these migrations.

Trying to understand if website migration is the right approach for your organization? Bluetext can help.

In previous posts, we have provided tips and tricks for a successful Drupal migration from earlier versions of the content management system to the latest Version 8. In this installment of our series, we will talk about the Drupal 8 Migrate Plugin System.

About Drupal 8 Migrate

The migrate module has been moved into the core in Drupal 8, showing the community dedicated to making the process of upgrading between versions or migrating into Drupal an easier path to a successful move. The migrate module takes advantage of the Drupal 8 Plugin system, offering developers several Plugin types that they can implement: MigrateProcessPlugin, MigrateSourcePlugin, MigrateDestinationPlugin.

In an earlier blog post in this series, we dove into an introduction of the Migrate module in Drupal 8 and reviewed a basic setup of the migration mappings needed to get started. In this post, we will dive into MigrateProcessPlugins: what they are, how they work and examples on how to create your own.

What is a Drupal 8 Migrate Processor?

A migration processor is a plugin that is used to manipulate data that is being mapped from a source to a destination. These plugins are typically small, but very powerful. Processors are used in the “process” portion of your migration configuration file.

Drupal 8 comes with several migration processors out-of-the-box. Some of the more notable ones that you will likely use on a regular basis are:

  1. get – Default, 1:1 data migration plugin
  2. default_value – Allows you to define a default value for a field
  3. explode – Converts a string into an array of strings based on a delimiter
  4. iterator – Iterates over an array of values to perform a process on
  5. migration_lookup – Looks up an entity based on an ID from a source to a destination
  6. skip_on_empty – Skips the current field or row if the value is empty in the migration

What Are the Benefits of Using a Drupal 8 Migrate Processor?

Migration process plugins provide developers with more flexibility and reusability when working with migrations in Drupal 8. By utilizing the Drupal 8 Plugin system, the Migrate module allows users to create new processors that implement a generic interface and can essentially be plug and play. In addition, the OO design of the plugin system allows developers to utilize inheritance of abstract classes and enforcement of methods if they have several variations of a plugin, without reinventing the wheel or duplicating code every time.

In English, this means that I can develop my own processors that manipulate data from my data source in any way that I want, and then reuse it across any migration that needs to use it.

How Does a MigrateProcessPlugin Work?

If you are finding that the out-of-the-box MigrateProcessPlugin’s are not enough for your use case, you may want to consider creating a new custom MigrateProcessPlugin. Creating a new process plugin in Drupal 8 is a fairly simple task.  

Let’s take a look at a simple MigrateProcessPlugin as an example to get us started.

In the DefaultValue MigrateProcessPlugin, we only have one method that is implemented, called “transform”. Transform takes in a value that is passed in by the user, checks to see if it is set, and sets that value for the field in the destination mapping.

How Do I Use a Process Plugin in My Migration?

Using a process plugin in your migration is relatively simple. If you have written a migration before, you have used these without even knowing it. Let’s take a look at the example below:

In this example, you will notice several plugins are utilized:

  1. get: The “get” plugin is the default plugin. Any mapping that does not have a child element defining a plugin will utilize the “get” plugin
  2. default_value: In this example, we are setting the user ID of a blog_post to user 1

When am I Going to Need a Custom Processor Plugin?

Before you venture down the path of creating custom processors, ask yourself the following questions:

  1. Can any of the existing process plugins, or a combination of any of the existing process plugins, manipulate the data to the format I need?
  2. Is the data transformation something that follows a pattern?
  3. Is this processing/data manipulation something that will need to be used for more than one migration?
  4. Is this a transformation that other users/migrations may benefit from?

If the answer to any of the questions above is “YES”, it is worth your time to create a custom processor plugin.

Stay tuned for our next blog post in our migration series on custom processors. In this post, we will dive into what it takes to create a custom processor for a WordPress to Drupal migration.

Would you like help to create a more detailed plan for migrating your website to Drupal 8?

Contact Us – We would be happy to help!

In the digital age, digital marketers, companies, and thought leaders are constantly introducing new ideas making it almost impossible to keep up. Lingo overload can leave you:

  • Out of touch with the latest digital marketing jargon
  • Feeling left out of the marketing conversation.
  • Paranoid that your boss will catch on.

That’s why Bluetext has put together a complete guide to Digital Marketing Lingo!

Bluetext, an award winning integrated digital marketing agency, has created a digital Marketing Government Lingo e-Book to ensure you’re up to speed on digital marketing’s latest and greatest.

Download our Marketing Government Lingo e-Book to sharpen your lingo by clicking here!

The B2B market is a crowded space, with fierce competitors all vying for the same clients. Make sure your lead gen program is working as hard as your competitors’.

Let Bluetext do a free assessment of your lead generation content to make sure you are getting the best results.

Topics can include:

  • Overall Marketing/Branding
  • Target Audience
  • Lead Generation Strategy
  • Media Strategy
  • Search Engine Optimization
  • Social Media/ Blogging
  • Website/Landing Page Conversion Optimization
  • Content Strategy
  • Lead Nurturing Strategy
  • Analytics/ Website Management

To sign up for our FREE Lead Generation Assessment, click here!

In the digital age, digital marketers, companies, and thought leaders are constantly introducing new ideas making it almost impossible to keep up. Lingo overload can leave you:

  • Out of touch with the latest digital marketing jargon
  • Feeling left out of the marketing conversation.
  • Paranoid that your boss will catch on.

That’s why Bluetext has put together a complete guide to Digital Marketing Lingo!

Bluetext, an award winning integrated digital marketing agency, has created a Digital Marketing Lingo e-Book to ensure you’re up to speed on digital marketing’s latest and greatest.

Download the eBook here!

Sometimes, familiarity does not breed contempt. To the contrary, according to a new survey from Bluetext, the more familiar government IT managers and influencers are with cloud computing, the more they support cloud initiatives.

 

The survey found that 7 in 10 of those most familiar with the cloud have considered using it. The vast majority of those in the know understand that the cloud is not only a solution to IT hurdles, it’s also a means to improve efficiency, reduce costs, and save taxpayers money.

 

In state and local government agencies across the country, to know the cloud is to embrace it.

 

At the same time, those polled believe that their political leaders are under-informed about cloud computing. The vast majority of IT influencers believe their bosses would support cloud initiatives if they knew more about its benefits.

 

The survey’s highlights:

 

•         Seven in 10 of those very familiar with the cloud believe that cloud data centers would bring immediate cost savings to their agency.

•         Nearly all polled (91%) would be interested in cloud data centers if they knew immediate costs savings could be had.

•         Among those less familiar with the cloud, many are struggling to understand the benefits (35%) or how to get started (46%).

•         Just 43% of those less familiar with the cloud say they have considered using it to save money and improve efficiencies.

•         A majority of IT influencers (57%) say the political leadership of their government has the cloud on their radar to some degree, but just 17% say they are getting a lot of support from agency executives for IT cost-cutting initiatives.

 

The survey, conducted online by Fabrizio, Ward & Associates, interviewed 150 state and local government IT influencers nationally from August 15-16, 2011.

 

Complete survey results are available at http://www.thecloudplaybook.com.