Drupal 8 has made significant improvements in standardizing its upgrade path. Gone are the days where an upgrade would require a full site rebuild and migration. While some upgrades are more significant than others, the overall standardization of the upgrade process is welcome.

Minor Upgrades:

With minor upgrades beginning with Drupal 8, no functionality will be removed from the core. Any changes to core API’s or functions will be “deprecated” and will be slated for removal during the next major upgrade.

Major Upgrades:

Major upgrades will clear out all of the deprecated functionality that has accumulated in order to start off with a clean slate. With the standardization onto the Symphony framework, there is no plan to rebuild the Drupal core like as was done from versions 6 -> 7 and 7 -> 8.

Great! So upgrading my sites in Drupal 8 should be easy!? Right!???

Answer: Not so much!

The big takeaway is that the Drupal 8 updates made to standardize the upgrade process will make staying up-to-date much easier. That being said, there are still complications with the minor version upgrades. Drupal 8 continues to be in very active development — the community is working hard to integrate critical functionality, such as Media and Workflow, into the Drupal core.

With these core improvements comes a new dilemma: How do I upgrade my website that was built utilizing contributed functionality because the core functionality was not ready at the time? It might sound simple to do, but there are many improvements and alterations made to functionality when it is being integrated into the core. This requires an upgrade path to be built in order to move forward with updating the version of Drupal 8 you are running.

The good news is that Drupal 8 will not release a new core upgrade without an upgrade path for migrating the contributed functionality to the core. The bad news is that this won’t cover customizations or other contributed add-on functionality. This is where the real work comes in and where planning is required.

Here are some high-level questions that will help you plan your core upgrade path:

  • What contributed modules that I am using have been moved into the core?
  • Which of the patches that I am using has been committed to the core?
  • Are there additional dependencies that need to be updated due to core API updates or changes?
  • Do I have any custom code that is utilizing deprecated core functions or modules?

Things here can get a little bit more complex based on how your website is built. For example, if you are utilizing features for configuration management you will need to also consider:

  • Are my features dependent on configuration from core/contrib that has been updated or removed?
  • Do my features contain configuration related to a deprecated module?

While the new upgrade plan for Drupal provides a much clearer path forward, it still requires effort to stay up to date. For many clients, separating a large upgrade into several, smaller chunks is desirable because it is more manageable and allows them to spread the cost of upgrading their entire site over several quarters or years.

Looking for help upgrading your Drupal website? Contact Us!

If you are not already aware, and, more importantly, have not already upgraded, on March 28, a critical security update was released for all versions of the open source Drupal content management system platform. The vulnerability was rated as a 21/25 in severity based on the NIST Common Misuse Scoring System. The vulnerability was described as “(a) remote code execution vulnerability (that) exists within multiple subsystems of Drupal 7.x and 8.x. This potentially allows attackers to exploit multiple attack vectors on a Drupal site, which could result in the site being completely compromised.”  More information can be found here at this link: https://www.drupal.org/sa-core-2018-002

Drupal Security Advisories

Security advisories are posted on the Drupal.org website under the security advisories page. It is important for anyone who is maintaining a Drupal website to regularly check for security advisories that may apply to their websites in order to keep their sites secure. There are several ways to stay up to date with the most recent information:

Drupal Security Team

One huge selling point of Drupal as a platform is the large community of users. An integral part of this community is the Drupal Security Team, a volunteer team of professionals across the industry who want to help improve the security of Drupal. The goals of the security team are to:

  • Resolve reported security issues in a Security Advisory
  • Provide assistance for contributed module maintainers in resolving security issues
  • Provide documentation on how to write secure code
  • Provide documentation on securing your site
  • Help the infrastructure team to keep the drupal.org infrastructure secure

For more information about the Drupal Security Team, what they do, and how they do it,  check out their page on Drupal.org.

Drupal Security Rating Process

The security rating of a vulnerability is used to help determine the level of urgency you should take when dealing with a new security advisory. While all security updates should be incorporated, some may not warrant disruption to your business to implement immediately upon release.

Based on the  NIST Common Misuse Scoring System (NISTIR 7864) in which all Drupal security advisories are measured, vulnerabilities are given a rating:

  • a score between 0 and 4 is considered Not Critical
  • 5 to 9 is considered Less Critical
  • 10 to 14 is considered Moderately Critical
  • 15 to 19 is considered Critical
  • 20 to 25 is considered Highly Critical

Each issue should be assessed individually, but, as a basic rule of thumb, any issue rated as Critical or Highly Critical should be taken care of immediately. Less Critical to Moderately Critical should be fit into the current release if possible, and Non Critical issues can be prioritized against a backlog of updates.

Looking for help upgrading your Drupal website? Contact Us!

WordPress and Drupal have been the leading open-source content management systems for the past 8+ years. During this time, both platforms have created strong reputations for themselves.

WordPress has been viewed as a user-friendly content management platform, built for bloggers who need to get their information out quickly and easily without having to worry about learning how to code. This made the barrier to entry onto the platform extremely small, resulting in the landscape we have today with more than 25 percent of all websites built in WordPress.

Drupal comes from the other side of the spectrum, designed for developers as a developers platform. With this developer-first mentality, Drupal offers many more features than WordPress to provide flexibility, scale-ability, and maintainability. While the learning curve for Drupal is significantly higher than that of WordPress – reducing the adoption rate by non-technical users –  this did make Drupal stand out in the enterprise by catering to larger applications with a more robust set of requirements. Yet, in the meantime, it acquired a reputation as a developers CMS that’s not as friendly for general users.

Drupal 8 changes the game for Drupal and highlights several core strategic initiatives to help break down the barriers and remove the developer-first stigma that the platform has acquired over the years. In this blog post, we will take a look at some of these core initiatives.

Fast-forward to today, with Drupal 8 in its prime

Drupal 8 opens up a new world for users. This is backed up by the fact that 5 out of 7 active strategic core initiatives for Drupal 8 relate to improving the content management experience. The goals of these initiatives are simple:

  • Reduce the barriers of entry for non-technical users (Out-of-the-Box#, Outside-In#)
  • Provide site builders with the tools they need without having to write code (Out-of-the-Box#, Layout#)
  • Provide content managers the tools they need to be successful (Workflow#, Media#, Outside-In#)

Out-of-the-Box#  Out-of-the-Box# is a strategic core initiative for Drupal 8 which focuses on improving Drupal 8’s OOTB capabilities to provide a fully-featured CMS. Phase 1 of this initiative is to provide a fully baked example site into a core destination website for Food Network Magazine. The example will provide a rich and beautiful experience for users as they navigate through the website.

This example profile will also provide a framework for other developers to do the same thing and begin creating pre-packaged site templates, similar to what WordPress does, as a way of providing a near-plug-and-play experience.

Outside-In#  The Outside-In initiative is one which strives to improve the in-line editing experience in Drupal 8. With today’s landscape of website building platforms, it only makes sense for Drupal to push for this. A key benefit to this type of editing experience is that it keeps content managers in-context of the work they are doing. Content managers are coming to expect these types of slick editing interfaces which are offered by other CMS platforms and website builders such as WordPress, WIX, and Shopify.

Drupal 8 now ships with basic inline-editing experiences across its core features. The foundation is available and the “contrib” space is catching up. Many of the “contrib” add-ons support the in-line editing experience, while Drupal is adding more every day.

Layout#  The Layout initiative is one which is focused more on the site-builders and power-users. The goal for layouts is to provide cookie-cutter like shells where users can drag and drop content and blocks to meet their content needs.

Workflow#  The Workflow initiative is focused on improving the workflow, preview and staging capabilities for content in Drupal. Every organization has slightly different requirements when it comes to publishing content to the web. The Workflow initiative helps to strengthen the core functionality of Drupal to allow for these varied requirements by providing configurable workflows on a per-content-type basis.

Content staging is extremely important to large organizations. Being able to preview a new version of a page before publishing is significant.

Media#  Drupal 8 has long struggled with reusable media assets. The objective of Phase 1 of the media initiative is to provide a simple media solution to make Drupal 8 easy to use for basic use cases. There is a focus on strengthening this feature and integrating it into the core components of Image Fields & WYSIWYG.

While Drupal 8 may not set the highest bar for a great content management experience, it is making significant strides to catch up to its competitors. This combined with the areas at which Drupal already excels, including Performance, Security, and Maintainability, make it an obvious choice for enterprise-level CMS implementations.

Looking to see how you can transform the way you manage your website? See how Bluetext can help!

 

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.