Genmato - Magento Extensions for Efficiency

CMS and Configuration Migrator

15.253.2
Sep 11, 2015
CE 1.9, EE 1.14, CE 1.8, EE 1.13, CE 1.7, EE 1.12, CE 1.6, EE 1.11

Quicklinks

Note: click on any image for an enlargement and full image gallery that you can easily swipe through!

 

Introduction

The Genmato Configuration Versioning extension is a huge efficiency saver in any Magento webshop project that uses both test and production environments. With a separate test environment (also called staging environment) developers and merchants can test layout changes, new extensions, upgrades etc.. before deploying them to production. We advise any Magento merchant or developer to create a separate test environment next to their production environment (live webshop) so all changes can safely be tested without disturbing production or risking loss of sales.
But how do you migrate the changes from your test environment to the production environment without having to do the same thing twice or even omitting some changes? For file changes there are numerous options: creating and applying patches, copying files, or using versioning software like SVN or GIT. But how do you migrate configuration changes that have been recorded in the test database to the live database?

  • Copying the test database to live? That's not an option since sales data on test will (hopefully ;-) not be as up-to-date as the live database.
  • Using Magento itself? No, Magento doesn't provide any solution out of the box for this either.
  • So what do I need? What you need is an extension that could capture configuration and CMS changes in the test environment and could inject them into the live database: well surprise ;-) that's exactly what the Genmato Configuration Versioning extension does! And for Magento developers who work with versionioning software like SVN or GIT: all recorded changes will be written into Magento setup files, so your versioning system will pick them up as it would with any new or changed Magento extension file.

This manual should make Installment. Configuration and Usage easy for you. If you have suggestions that can make your Magento life easier please email to support@genmato.com and we’ll help you trough. If you do not wish to install and setup the extension by yourself please note that we do offer paid Installation and Configuration Support (you can choose both as a separate option when ordering the extension).

Installation Guide

Backup your database and site

Make sure you have a complete backup of both your Magento database and your installation files. The changes are small that a problem during installation causes a big problem with your installation, but it is always good to have a backup available where your can rely on.

Disable Magento Compiler

If you are using Magento’s compilation mode on your store, you must first disable it. Go to System->Tools->Compilation. If the compiler status is ‘Disabled’, you are ready for the next step. If not, click the ‘Disable’ button on the right hand side of the screen.

Disable Magento Compilation Mode

Upload extension files

Unzip the downloaded extension package and upload the extracted files with your favorite FTP client to the root of your Magento installation.

Clear Magento cache

Navigate to System-> Cache Managment. Select all available 'Cache Types', select the mass-action 'Refresh' and click 'Submit' to refresh all caches.

Refresh Magento Cache

Login into Magento Backend

After your refreshed the cache, you need to logout and login again.

Configuration

Admin sections for the Genmato Configuration Versioning extension

You’ve installed the Configuration Versioning extension and have logged in into the Magento admin. The following new menu items have been added:

  1. Tools -> Configuration Versioning.
    This is the page where all configuration changes will show up. Select the config changes and start the full export wizard to generate the necessary setup scripts that will inject the changes in your live database. We will explain this in full in the "usage section"below. Genmato Configuration Versioning screenshot tools
  2. System -> Configuration
    By default By default configuration changes will NOT be recorded, as you see in following screenshot the settings for alle sections default to "no" . You will have to enable Configuration Versioning for all different scopes yourself. Why? Because we want to give you full control over which configuration changes you would like to record! Genmato Configuration Versioning screenshot configuration section

Configuring the Genmato Configuration Versioning extension

All configuration is done via the Gennmato Configuration Versioning tab in the Magento System -> Config section. We'll walk through the options.

  1. Setup file configuration
    The setup file is the file which contains the recorded Configuration changes that you would like to copy from test to live. Here you can configure specific behaviour when the file is generated. The following options can be configured.
    • Save new version on download.
      This option is specific to the download option and allows you to decide whether you want the Configuration Versioning to increase the version number each time you download a configuration change.. If you work with several development / test installations of a project we advise you to leave this setting as it is ( " no " ), so the version number will not be increased automatically at download. We created this option specifically for Release Masters who wish to be in full control (they usually do ;-) of the generated setup scripts. The downloaded setup scripts can than be merged into one large script which will be executed in at once in one setup-run.
    • Hide confirm pop-up on Changelog action
      Here you can enable the (in)famous "Are you sure" pop-up. If enabled, this pop-up will show up ievery time you generate a Config Change file (see Usage section below). If you are not sure what you do or are the type of person who likes to be on the safe side ;-) we advise you to enable this. By default we decided to avoid irrititating pop-ups in the back-end (we made our point ;-).
    Genmato Configuration Versioning screenshot configuration section - setup file configuration
  2. Config Data Changelog Configuration
    When you enable this all new and changes configurations settings under System -> Configuration will be recorded. So all settings from the General Tab to the Advanced tab will be recorded one this setting is enabled. Genmato Configuration Versioning screenshot System Config Section
  3. CMS Page Changelog Configuration
    When you enable this, all CMS page changes under CMS -> Pages (see screenprint) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot CMS Page section
  4. CMS Block Changelog Configuration
    When you enable this, all CMS statick block changes under CMS -> Static Blocks (see screenprint) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot CMS Static Block
  5. Transactional email Changelog Configuration
    When you enable this, all transactional email changes under System -> Transactional emails (see screenprint) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Transactional email config section
  6. Design Change Changelog Configuration
    When you enable this, changes to any of the settings under System -> Design (see screenprint) will be recorded by the Configuration Versioning extension.. System Design is the config section where temporary design changes e.g. for sales actions or seasonal design changes can be configured in advance within a specified time frame. This setting should not be confused with the general design settings under System -> Configuration. Changes to these settings will be recorded when you enable the Config Data Changelog Configuration (see above). Genmato Configuration Versioning screenshot Design config section
  7. Newsletter Template Changelog Configuration
    When you enable this, all newsletter template changes under Newsletter -> Newsletter templates (see screenprint) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Newsletter Templates config section
  8. Custom Variable Changelog Configuration
    When you enable this, all newsletter template changes under System -> Custom Variables (see screenprint) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Custom Variables config section
  9. Customer Group Changelog Configuration
    When you enable this, all newsletter template changes under Customer -> Customer Groups (see screenprint) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Customer Groups config section
  10. Checkout Agreement Changelog Configuration
    When you enable this, new and changes to existing Checkout Agreements under Sales -> Terms & Conditions (see screenprint) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Terms & Conditions config section
  11. Tax Class Changelog Configuration
    When you enable this, new and changes to Tax Classes under Sales -> Tax -> Customer Tax Classes and Product Tax Classes (see screenprints) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Tax Product Class config section Genmato Configuration Versioning screenshot Tax Customer Class config section
  12. Tax Rate Changelog Configuration
    When you enable this, new and changes to existing Tax Rates under Sales -> Tax -> ManageTax Zones & Rates (see screenprints) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Tax Rate config section
  13. Tax Rule Changelog Configuration
    When you enable this, new and changes to existing Tax Rates under Sales -> Tax -> ManageTax Rules (see screenprints) will be recorded by the Configuration Versioning extension. Genmato Configuration Versioning screenshot Tax Rules config section

Usage

This section describes the CMS and Configuration Migrator Dashboard or Configuration Versioning Changelog in your Magento admin. The Changelog is the overview of all recorded CMS and Configuration changes. Genmato CMS and Configuration Migrator Changelog screenshot  This is the actual "dashboard" from where you can

  1. View all recorded setup scripts (filtered by Status or Action)
  2. Perform different actions on the recorded changes (Generate update Script, Download update script, Revert change, Archive change, Delete changelog entry)
  3. Perform the Full Export Wizard

Examples / Use cases

Before you start make sure that you have enabled the config changes that you want to record in the Configuration Section (see above).

Changing a CMS Page and adding an new CMS Static Block

  1. Change an exisiting CMS Page and add a new CMS Static Block (see screenprints).
    Genmato Configuration Versioning screenshot change CMS page Genmato Configuration Versioning screenshot add CMS Static Block
  2. Generate a setup script
    If you enabled the Configuration Versioning settings to record CMS Pages and Static Blocks (see the Configuration section above) you will see the changes under the Tools -> Configuration Versioning section (see screenprint)

    Genmato Configuration Versioning screenshot Configuration Versioning Dashboard

    Check the checkboxes for the changes you want to generate a setup script for, choose the type of setup script (Generate update script or Download update script) and click on the "Submit" button.

    Genmato Configuration Versioning screenshot Configuration Versioning Dashboard creating a setup script

    When you see the succesmessage Total of X record(s) were saved to upgrade script number X you have succesfully generated a new setup file which can be injected into your Magento production database.

    Genmato Configuration Versioning screenshot Configuration Versioning Dashboard creating a setup script

    You newly created file has been placed into the folder app/code/local/Genmato/Setup/data/genmato-setup/ (see screenshot). You can deploy this with any versioning system from your test or development environment to the production environment. Genmato Configuration Versioning screenshot Configuration Versioning filesystem setup script