Archives For Magento

I’m very pleased to announce the release of version 2 of SMTP Pro. It’s been a long time coming, but my most popular extension should once again be your first choice for custom email integrations. Version 2 is a full rewrite that adds support for all of the latest versions of Magento, an improved admin experience, a better self test and modern coding standards. You can find out more and subscribe for updates over on the SMTP Pro product page, magesmtppro.com.

Background

I first released SMTP Pro 5 years ago, when it was purely for connecting to Google Apps accounts to send store email. Since then I have added support for custom SMTP servers, Amazon SES, email logging, self testing and have helped thousands of merchants get their store emails working.

SMTP Pro was my first open source project and has been by far the most successful with over 30,000 downloads and dozens of contributors over the years. With nearly 150 reviews on Magento Connect and an average of 4.4/5 stars, it’s the positive, constructive feedback of the community I really enjoy.

Screen Shot 2014-05-22 at 9.28.07 pm

This update has been long overdue, but I’m very happy to say that SMTP Pro is back, and better than ever.

Where to Download

You can download Magento SMTP Pro from any of these places:

Continue Reading…

I spent considerable effort writing the user guide for MageSend and have been happy with the results. I think of a well written user guide as the fence-at-the-top-of-the-cliff that prevents the support email burden ambulance-at-the-bottom. It’s been a source of fairly regular positive feedback from customers, so I wanted to share how I created it, and how I ensure it’s seamlessly integrated with the packaging process by build script. In this post I will run through how I use Google Docs as a documentation tool for my premium MageSend email extension, and take advantage of the publish URLs in build scripts to ensure the latest version of the User Guide is packaged in both PDF and HTML format with each release. I will say I only have one premium extension (currently) and am relatively new to this game, so it’s entirely possible there’s much better ways to do this, in fact if someone has some better suggestions I’d love to hear them!

MageSend Documentation

Writing Software Documentation in Google Docs

In order to even go down this route you have to be comfortable using Google Docs for writing technical documentation. I’ve been using Google Docs for as long as I can remember, when weighing options like markdown, plain-html or Latex I had no hesitation with Google and understood the limitations, and advantages of Goole Docs, summarised below.

  • + Collaborative editing, e.g graphics designers can add logos and screenshots into the same document as you edit the words
  • + Always saved, revision history available for change tracking
  • + Simple UI for editing documents, provided you keep your style very simple.
  • - You have to get into bed with Google – it’s not a complete lock-in though, you can export plain (but ugly) HTML.
  • - Annoying export bug with published docs table of contents linking to the web version.

So it’s a simple, easy to use document editing tool, with a number of modern features for collaboration and exporting, but a few annoying bugs, and slight pangs of vendor lock-in.
Continue Reading…

I’d recently seen a few people mention Digital Ocean, and their $5/month SSD-based VPS offering. I read about it, and was interested to know if Magento would run on their plans, and how well. But at the time I couldn’t be bothered actually doing any testing.

However, thanks to the wonders of Google’s re-marketing every site I visited on the internet for the next couple of weeks reminded me about them and so I finally decided to throw up a quick test site and run some benchmarks.

In this post I’ll run through a quick setup guide using Digital Ocean to run Magento, and then the results of a few simple benchmark tests using my Magento Speed Test service.

Digital Ocean
Continue Reading…

Today I’d like to publicly introduce my first ever premium extension, MageSend – simple, reliable email sending for Magento, tightly integrated with Amazon’s SES email service. I have applied my experiences supporting the popular SMTP Pro extension to remove as many pain points, and streamline the setup as much as possible. I have also taken advantage of the API functionality provided by Amazon SES to give store owners excellent insight into their email sending performance.

Background and Motivation

Over four years ago I released my first ever email extension for Magento, the purpose was super-simple transactional email sending via Google Apps and (later) SMTP for Magento stores.

In that time I have been supporting SMTP based email sending, and Google Apps as an email service (or other ESP’s) I have become increasingly frustrated with how brittle it is as a solution. There are several weaknesses with that approach that cause issues.
Continue Reading…

This article will give an overview of Magento extension clashes (sometimes called conflicts) and then run through a few ways you can find them in your installation.

I get asked at least once a week a question like ‘What is a Magento Extension Clash‘ or ‘How Do I Find Extensions that Conflict‘. So, if you’re reading this, you probably just asked me, and I probably just sent you a link to here. That was a bit meta-blog, sorry about that. On with the article.

What is a Clash?

Magento extensions can override core functionality using what’s called a class rewrite. That’s when your extensions configuration file tells the core of Magento to use your custom PHP class, instead of the core one. Typically the custom class will sub-class the core one, and only override the methods that need to be changed. Here’s an example of that, firstly showing a snippet of rewrite xml for a core model:

<!-- ... snip config.xml ... -->
        <models>
            <core>
                <rewrite>
                    <email>Aschroder_Email_Model_Email</email>
                </rewrite>
            </core>
        </models>
<!-- ... snip config.xml ... -->

And then the corresponding class, notice it overrides the core version:

 
class Aschroder_Email_Model_Email extends Mage_Core_Model_Email {
 
// only add methods here that override the ones we want to change in Mage_Core_Model_Email
 
}

So that’d all be well and good if everyone only installed my email extension in their Magento store, but they don’t. They install PDF email attachments, email emoticons, email monkeys and god knows what else. So the rewrite that my extension needs to work, may very well not happen, because another extension rewrites the same class.

The same sorts of things can happen all over Magento, and typically the bigger and more complex and extension is, the more rewrites it will need, and the bigger the surface area for conflicts and clashes.

You might be thinking: “Gosh, it’d be great if Magento Connect ran some sort of rudimentry test for compatibility before installing extensions willy-nilly in Magento Stores” and if you are, that means you’re one of the Good Guys™.
Continue Reading…