Installing Magento Extensions : Pre-install Checklist

From Moogento How-to Guides
Jump to navigation Jump to search

Contents

We spend a lot of time testing our extensions on fresh installs of Magento. However, there are a lot of different ways to setup, customize, and add-on to Magento, which can cause new issues - please follow this checklist before starting your install, to safeguard your site.

The steps described here are a good basis before every magento extension install (not just ours!).

Each of these steps are important, don't be tempted to skip!

 

1. Backup your database

With any method, test that you can restore a backup (eg. to a test blank db) before starting!

Using Magento's built-in backup system

  • Head to SystemToolsBackups and click Database Backup
You'll see a popup option to 'Put store in Maintenance Mode?' : this will show the Magento Maintenance Page to site visitors. See section below for pros/cons.

Using the command line

  • Make a backup of your database:
mysqldump -u [database user] -p [database name] > db_backup_[todays date].sql
  • Restore from backup:
mysql -u [database user] -p [database name] < db_backup_[todays date].sql
(change [bracketed words] to match your setup)

Using phypMyAdmin

  • Export/Import your Magento database
Make sure you "Disable Foreign Key Constraints".

2. Backup your app folder

  • This is the fastest way to fully revert if you need to.
  • Easiest to put it next to your current app folder (e.g. app_bkp), that way you only need to rename the two folders to revert.magento app backup.png

3. Check your cron is running

You need the magento cron to be running to get the most out of Moogento extensions.

What's a cron? It's a regular task run by the server. Usually things like preparing stats.

If you think your cron may not be running, have a quick look at our guide to fixing Magento crons.

4. If you have compilation enabled for your site, disable it

  • If you're not sure if you have this turned on, check SystemToolsCompilationCompilation off.png

5. Turn on Configuration Cache

In SystemCache Management enable Configuration Cache and disable the other caches.

  • This can help avoid errors if Magento attempts to start the extension installation before all files are uploaded.
magento-cache-management.png

6. Close all admin windows

If you start installation with several users logged in, or several active admin windows, it's possible for several installation processes to be started. This can result in some temporary errors, eg. if we need to create some database tables..

  • Check no other admin users are logged in before installing, and check you don't have multiple admin windows open yourself.


Maintenance Mode?

What is it?

  • Magento has a built-in system to turn off the website frontend for visitors, and still allow admin access to the backend.

How to turn it on

  • Just create an empty file in your Magento root with the filename maintenance.flag
Delete that file to turn off the Maintenance Mode.
  • Before you do turn it on, make sure that you customise it to match your store (see section below).

Why would we do this?

Pros

You're about to backup the database:

  • If there is any customer activity between making the backup and potentially restoring it, you'll lose that activity.
  • This could include new orders.
    • If they are then issued an Order/Invoice ID, you then turn on the store and another customer makes an order (before you can manually enter the new order(s), then multiple people will have the same Order/Invoice ID, which can make accountants anxious, and customer support tricky.
    • You may lose track completely of those orders which arrived in between (or have to work them out via Payment Receipts, emails, etc).
  • If your new extension involves database activity in the setup, if an order comes in halfway through, you could potentially include inconsistencies into the database.

Cons

  • Your site is temporarily 'closed for business' and you may lose customers (if they don't come back later).
  • It's harder for you to test any frontend changes that the new extension has made (as the frontend will also be locked out to you).
    • To enable frontend access for yourself (while still showing the Maintenance Page to other visitors) edit the index.php file:
Change :
if (file_exists($maintenanceFile)) {
    include_once dirname(__FILE__) . '/errors/503.php';
    exit;
}
To :
$this_ip = $_SERVER['REMOTE_ADDR'];
$allowed_ips = array('127.0.0.1','111.22.33.44');
if (file_exists($maintenanceFile) && !in_array($this_ip, $allowed_ips)) {
    include_once dirname(__FILE__) . '/errors/503.php';
    exit;
}
and then edit the $allowed_ips section to match your own local IPs.


Customising the Maintenance Mode page in Magento

If you don't edit the look of your Maintenance Page, visitors to your site will see this pretty unexciting page: magento-maintenance-page.png Importantly there is no immediate sign that it is even the correct store (no branding), that it is a problem that will be fixed (no ETA of site online), and if there is any way to contact you (no email or phone details). Let's customise this page! Have a quick look at what your site page looks like at the moment

  • To show a custom Maintenance Page, edit the index.php file:
Change :
include_once dirname(__FILE__) . '/errors/503.php';
To :
include_once dirname(__FILE__) . '/errors/maintenance.html';
and then create and style that maintenance.html file.

Quick way to make a well-styled page: open your your home page html in a text editor and remove the nav bars and central content

  • Make sure your Maintenance Page:
    • Is styled for your store, including your store logo, font, and general style.
    • Explains what is happening.
    • Gives a timeframe for completion.
    • Has a contact email/phone number.

Check 503 Header

  • It's worth checking that your Maintenance Page has the correct 503 header set (before turning it on!).
  • This ensures that visiting search engines see the correct status of "Temporarily Unavailable" to save you any ranking issues.
  • Easy way to check the 503 header, is to visit that page in Firefox and inspect with Firebug (described in the Optimising Tools for Magento section).
magento-503.png


Check Magento emails are setup

Moogento plugins have a few integrations with email (eg. stockEasy reports, pickPack attached Invoices).

If you're intending to use any of that, it's a good idea to check your Magento emails are setup correctly before install.

Authenticated SMTP

Default Magento connects to your email server with un-authenticated SMTP.

This means that most email servers will flag the email as spam. (ie. your customers won't get your emails.)

Luckily there's a few (great) plugins for Magento that will do this.

Mandrill by eBizmarts

Mandrill is a great system, from the team at Mailchimp. It's free for Mailchimp customers.

If you're running Mailchimp on a paid account, I'd go straight in and use it.

The beauty of Mandrill is that it side-steps the whole 'connect to email server' palava that you get with emails. All the connection is through the Mandrill API and you can actually log into your Mandrill account and see which emails (and their contents), have been sent.

SMTPpro

This is a great free plugin, which will connect to a lot of different authenticated SMTP systems.

You still need an authenticated SMTP server for it to connect to. Even if you have one with your website, you should consider using an email delivery service.

Here's a few:

MailGun

  • Free for 10,000 emails a month
  • Easy to blacklist domains

SendGrid

  • Free for 10,000 emails a month
  • Can be difficult to get accepted

It's also recommended to use a different sub-domain, or main domain, for sending your transactional emails. ie. a different domain for your newsletters, another one for marketing efforts.

It doesn't need to be totally different, eg:

  • e.yourdomain.com
  • yourdomainmail.com or yourdomainapp.com
  • yourdomain.co

MailGun and SendGrid both deal with subdomains easily, and you can setup subdomain routing easily with a service like dnsMadeEasy.com

Why use different domains? It helps isolate your sender reputation, to make sure your emails get delivered.

Authenticating sending domains

You should also check that you've got DKIM and SPF thingies set for your email sending domains.

Not having these is another spam flag which is potentially stopping your emails get delivered.

You can easily set these at your domain registrar, or with a service like dnsMadeEasy.com

Standard Routing

Here's a pretty standard routing that should be happening:

  1. Customer order is Invoiced
  2. Magento connects, eg. with SMTPpro, to your MailGun account
  3. After establishing a secure connection it sends your transactional email to MailGun
  4. Mailgun attaches its and your headers, and sends it to your customer's mail server.
  5. That mail server checks the email :
    * Is it sent with authenticated SMTP?
    This is potentially the biggest blocker, as it's such a classic spam flag - if you're not sending authenticated emails then some of your customers aren't getting your messages
    * Is the sender IP authorised to send via this domain?
    * Are the correct security keys in the header?
    * Is the sender IP on any email blacklists?
    * Finally, are there any spam flags in the email?

Ie. if you're not sending authenticated email, you don't have much chance of getting through.

Updating Previous Versions of Moogento Extensions

Moogento has a small team working full-time adding features and functionality to our extensions (you'll see that we have a small number compared to other extension companies).

These features are always designed to save time and effort when processing orders - if you're running a busy store or just want to keep making your life easier, keep updated to the latest versions.

As we make so many changes it really does make sense to update on a regular basis.

We recommend that you keep your extensions up to date to make this easy - we usually release a new public update every week

  • If you are updating from a version more than 6 months old, we recommend getting us to install it for you, to ensure the process goes smoothly.
  • If you're doing the update process yourself, we recommend, as with all Magento extensions, to test the update on a dev server *before* the live server.
  • If you must install direct to your live server, and are keen to do this yourself instead of getting us to help, it makes sense not to do this first thing Monday morning, with a weekends worth of orders waiting!
  • Our extensions are quite often linked in some way. It makes sense to link different features together,
eg. if you print a PDF with pickPack we can connect with shipEasy to show that the order has been printed in the grid edit that it makes.
As there is new functionality constantly being developed we're relying on each part sending/receiving the correct signals : please try to update multiple extensions at the same time. That way, all connections will work!


Updating Procedure

Check You're Installing The Latest Version

  1. Log into Moogento.com and go to your downloads section.
  2. If your extension is greyed out, that means you're not in a valid support plan.
    You'll still have access to the last release that was available when your support period expired, but this is likely to be an old version.
  3. If it's greyed out, grab a Maintenance Plan - this will give you instant access to the latest version, and support if you need it.
    • If you're not on a Maintenance Plan, then your access to support is limited - our response time will be 2-3 working days and we won't be able to help with bug fix requests, setup queries, etc.

Maintenance Plans

We have 3 Maintenance Plans for our extensions, which allow you keep updated with the latest versions, and access support. We're constantly adding features and improving all our software, so being on a Maintenance Plan is a great value way to keep improving efficiency in your business.

You need to be on a current Maintenance Plan to be able to change the primary licensed domain.

How do I buy a Maintenance Plan?

In your account downloads page, you'll see a green '+ Maintenance' button. Click that and you'll see the different options available to you. Add the one you want to your cart and checkout - you'll be on the plan in a few minutes.

maintenance-plans-moogento.png

Which Maintenance Plan Is Right For Me?

There are 3 different Maintenance Plans, so there should be one for you.

The main differences are:

  • Annual or Monthly - get 2 months free paying for a year. Annual is the most popular option here.
  • Plan level (Bootstrap, Startup, Business), essentially the speed that your support requests get attended to. If you're just starting out then a few days between support attention won't matter as much as if you're a profitable business, where a day makes all the difference in the world. The Startup Plan is the most popular, with 1-day response times.
  • Update installations. If you're on the Business Plan, it comes with an option for us to install the latest version once a month. Just get in touch after purchase, with your preferred day-of-month and time-of-day for us to do the updates.
How fast is Support when we're on a current Maintenance Plan?

Depending on your plan, we'll get back to you in 1-2 working days (Mon - Fri).

Does buying a Maintenance Plan for one extension cover all previously-purchased extensions?

No - please grab one plan per license key. Each Maintenance Plan is for a specific license key - eg. if you have 5 extensions and want to keep all updated, grab a Plan for each.

Does being on a Maintenance Plan include custom development work or plugin setup?

Being on an active Maintenance Plan does include :

  • access to the latest versions
  • fixes for issues with default Magento code interactions
(this won't normally happen, but we do have thousands of options and there's thousands of ways to setup Magento, so sometimes the combo needs a tweak)
  • fixes for interactions with some specific email server plugin updates (mandrill, smtpPro, ...)
  • help with general questions about optimising the plugin for your business
  • ability to add test/dev/staging servers to your license


It does not include :

  • extension installation
  • extension setup
  • custom development work, including feature requests
  • general Magento maintenance
  • server maintenance
  • fixes for conflicts with 3rd party code (eg. custom themes, 3rd party extensions, etc.)
We're always happy to give a reasonable quote for this kind of thing.
This can happen even if both extensions are well-written, usually if we're trying to rewrite the same part of the Magento code.


If you'd like our help to develop custom features, please get in touch for a quote. We always love working on new ideas :)

If you'd like our help to install/basic-setup the extensions, please grab an install/setup unit for each installation. This is really recommended, we have a fair bit of experience now :) and will be able to quickly get you cranking.

We also have an advanced install/setup option, which is better if you have more detailed setup requirements.


Are the Maintenance Plans enterprise-level software support?

The main use for the plans is to have access to the latest software versions, and help optimising the plugins for your business.

They're also there to help with minor bug fixes and minor integration work, within reason depending on the plan. Please choose a Maintenance Plan depending on your business needs - if you have a critical setup where you need fast responses and quick issue resolution, please choose the Business Plan. If your business is running in Bootstrap mode, we've got you covered! Just grab a Bootstrap Plan.


My Support period expired - can I still get support?

If you reported a specific issue to us inside a valid support plan, we'll be happy to sort that out for you, even if your support period has expired.

If you come across additional issues after your support period has expired, you'll need to get back on a Maintenance Plan. Bonus - your issue may have already been fixed in the latest version!

Please do bear in mind that we're a tiny dev team, if our work is helping your business please grab a Maintenance Plan and keep us Ramen'd up!

Does the monthly maintenance plan require a yearly subscription?

No, you can choose to pay monthly or yearly (if you pay yearly then you get 2 months free).

Do we need to pay for Key Reactivation?

If you get on a Maintenance Plan inside 90 days from purchase, there's no reactivation fee. After that time period there's a reactivation fee, which starts at 25% of the product price, and increases to 95% after a year. When you pay a reactivation fee, you'll get 60 days included support/updates before the Maintenance Plan itself is billed *.

* The Pro Plan doesn't include plan days as part of the key reactivation fee, and will bill instantly in addition to the reactivation fee.

Why do you charge a Key Reactivation fee?

This makes it fair for the majority of our great customers that support our work by being on a Maintenance Plan.

Can I transfer a license between accounts?

Sorry but this isn't possible (our system isn't setup to easily do this unfortunately).

If you want to change your user name or email though, we can do that for you, just get in touch.

The license was previously registered to a dev company; what should we do?

We always recommend registering the license to your business email.

We're unfortunately not able to transfer licenses, but happy to edit the account name/email if you're in a current support period (and there's a single site registered under the old account).

If the license has expired and/or was registered to a non-responsive email (eg. an out-of-business developer), please re-purchase the license to regain access to the latest updates and support.

Subscription Plans

Some of our plugins are on a recurring subscription.

This should hopefully be beneficial as the only 'risk' is the monthly amount during your evaluation, and there's specific costs based on the features that will most benefit you.

We've approximately grouped the pricing plans based on the the value-add each part provides, as well as the support cost for each bit. We hope this makes it clearer the value gain from each product (which should be many multiples of gain :) ).

All plugins can be seen in the downloads page of your account, and can be canceled/upgraded in there; the system will also automatically email invoices when they're billed.

All in, the net benefit should be more obvious, and easier for you to try out multiple extensions to see which ones provide the best ROI for you business.

Can we buy this as a standalone product?

You could grab it for a year which works out cheaper than the old version with Maintenance. We don't currently have an option to buy a standalone version of the subscription plugins.


Server Update Process

  1. Disable the old extension before starting the install.
    If you don't then you may create some errors in the tables that we create, as you could have part-old part-new code (during the upload) interacting.
  2. Go to /app/etc/modules/ and look for the files beginning with 'Moogento_'.
  3. Add the text .off to the end of the filenames.
    disable-magento-extensions.png
  4. Clear cache, either in SystemCache Management or by renaming /var/cache eg. to /var/cache.2 - you can then delete that folder, but by renaming it you're good to go immediately (no need to wait for the files to delete).
  5. Log out of Magento Admin.
  6. Check other admin users are also logged out, and that you have a single admin window open yourself.
  7. Proceed with installation of new version.
  8. After install, if you've only upgraded one-of-many Moogento extensions, check first that the new one works fine, then 'turn on' the others, one at a time, checking that there are no issues after each one.
    (There shouldn't be any issues but newer versions of some extensions may need other Moogento extensions to be recent versions to interact correctly).
  9. When you're done you can delete the .off file for the upgraded extension (a new one should have been copied in by the end of the procedure).
  • If you experience issues after upgrading pickPack you might be able to quickly fix them by resetting the config settings:
  1. Go to SystemConfigpickPack - General and at the bottom you'll see buttons to 'Reset/Export/Import'.
  2. Export first for good measure.
  3. Then click 'Reset pickPack'.
Bear in mind this will clear all pickPack settings!
resetting-pickpack.png
(Your buttons will look slightly different if you don't have Clean installed)