The SUMO Heavy Industries Blog

Design / eCommerce / Business / Culture / Life

Archive for the ‘Magento’ Category

Magento imagine eCommerce 2012 Dates Announced

December 13, 2011 by John Suder


Magento has officially announced the dates and location for the imagine eCommerce 2012 Worldwide Developer Conference. This time we’ll be heading to Las Vegas, the dates are April 23-25, 2011. The conference is being held at the Forbes-rated Four-Star M Resort.

3 days of networking, product announcements and inspiring keynotes as well as some great parties make the conference well worth the trip. We’ve met and connected with so many great people in our industry at these conferences, so you can rest assured we’ll be there.

Tickets go on sale January 18th, 2012. See you in Vegas!

Website: imagine eCommerce WorldWide Conference

We’ve Released Version 2.0 of the SUMO Magento Coupon Generator. Still Only 5 bucks!

November 14, 2011 by John Suder

___________________________________________________________________

Update:

As of November 14, 2011, we are discontinuing sales and support of the Magento Coupon Generator. Thank you to all the users who’ve downloaded and used our plugin over the past year and a half. Your comments and feedback will help us to build better products in the future

We Recommend:

If you’re looking for a solid coupon generator plugin for Magento, we recommend the plugin developed by Amasty.

___________________________________________________________________

 

Sumo Heavy Coupon Generator Version 2.0

The SUMO Heavy Coupon Generator is a custom-built Magento module to auto-generate random coupons that online shop owners can distribute to their customers.

Since the initial release in November 2010, we’ve listened to your feedback, made some improvements and fixed a few bugs.

New Features

Coupon Code Format: By specifying a pattern you can now choose your coupon code format:

Coupon Generator Code Pattern Option

Bug Fixes

• Expiration date column in CSV is empty • Creating 2 pools fails • CSV/XML Issues • Wrong coupons discounted • Incorrect number of coupons

Purchase: The coupon generator module is just $5.00 (USD) and is available for immediate download. Once your payment is approved, you’ll be sent a download link (make sure to double-check your SPAM folder).

Installation: To install the module, download and unzip the file, then upload to your Magento Root Folder. Once installed, you can generate the coupons via the Admin panel under PromotionsShopping Cart Price Rules.

Compatibility: The SUMO Heavy Coupon Generator works on Magento 1.4.2.0 and later.

THIS PLUGIN WILL NOT WORK IF YOU ARE RUNNING Version 1.4.1.1 or below.

Using Version Control with Magento

August 24, 2011 by Bob Brodie

You’ve heard about it – Subversion, Git, Mercurial, there’s a ton of them. They’re all version control systems. Version control is great, and all the big guys use it, but what is it for? More importantly, why do you need it?

Let’s say you’re doing your development work old-school style. You jump into Dreamweaver, download a file, upload the file, go to the website and see your work.

Wait – the site crashed.

How did that happen? You realize that the download didn’t work. Either that or you forgot, and now you’re up that old creek without a paddle. It’s OK, you’ll just grab a backup copy of the file. Actually you won’t, because you don’t have one. Why don’t you have one? It’s because you weren’t using a version control system.

If you take it to its simplest form, version control works like this:

• Developer (let’s call him Bob) creates a file. • Bob checks that file into a repository • Later on, Bob (or someone else) wants to make changes to that file, so they checkout the file. • When these changes are done, Bob (or that someone else) commits the file to the code repository. The file is given a new version number.

Cool, right?

Your old version is kept in history so if you mess anything up you can always put it back. This is only the beginning, though.

Here are some other cool features of version control:

Branching Branching allows you to create new features or versions of a product. You can work in a branch and not affect your trunk (stable area).

Merging Merging allows you to get code from one place into another. This is often used once a development branch becomes ready for release. You would at that time merge that branch into the trunk. You can also merge revisions. This is an excellent way to do feature development. When doing more advanced versioning, you can also merge files together – for example, Bob and Someone else edited the same file at the same time.

Tagging Tagging is generally used for creating a snapshot for a release. You may tag releases as 1.0, 2.0, 3.0, etc. This is a great way to do it and is easy no matter which version control system you use.

While these are only the very basics, it should give you an overview of why code versioning is important. If the gears aren’t turning yet, think of these positives:

• You have a history of all your code changes • Many people (in many places) can work on a project together, without stepping on toes • If something is broken, you can hold someone accountable. On the other hand, if something is wonderful you can also hold that person accountable • Roll back to earlier versions

How does this all come back to Magento? First of all, if you’re developing on a platform this big and you’re not using version control your life will become easier.

Here are a couple of use cases to think about:

Upgrading Upgrading Magento can go very smoothly. It can also have a few roadbumps. If you use a lot of modules or the theme structure needs to change, you’ll need to proceed with caution. Version control will make this super easy. First, tag your trunk into a version 1.0 (or however you prefer your tags). Then you can create a branch of your site and upload all the new core files. Deploy those files to staging and see how everything goes. If there are things to fix, you can add those to the branch. Once everything is going well, merge that branch into your trunk, tag, and deploy.

Theming Magento themes can be very complex, and a little change can go a long way. Using version control purely to know what you’ve changed and when can be a real life saver if something goes wrong – and that’s what it’s all about. You always have a backup, of a backup, of a backup.

Module Features Branching is great for building features. If you’re primarily a shop that builds modules, you could plan out months worth of features and put each feature into a branch. If people are doing bug fixes in your trunk, then do daily or weekly merges of the trunk into your branches. This will ensure that you’re working on the best base possible.

Remember that any version control is better than no version control. Try out a few. Many people find Subversion to be the easiest to use with PHP. It’s a central repository that everyone commits to. Many people now are using Git and Mercurial as well. They have a lot of benefits over Subversion. The first is speed. They are blazingly fast. The other advantage is that you work in a local repository and then push your changes up to the main repository. At first it can be overwhelming but once you get the hang of it, you’ll find that you have much more flexibility. I figure it’s worth mentioning that Magento, Inc. officially uses JIRA and Subversion. Personally, I use a mix depending on the size and project and management style of a particular project.

Here’s a few great we recommend to get you started:

Beanstalk Beanstalk is a great product by Wildbit that hosts your repository (svn or git). They also have an excellent deployment system that allows you to have multiple servers set up behind different environments. For example, you might have one staging server but four production servers. It gets even better in that you can set up automatic or manual deployments, so staging may be set up to automatically deploy but for production you might want to push a button. There are also integrations with other systems, such as project management and ticketing systems. These integrations allow for you to post commits to Basecamp or change ticket statuses from your commit message. It’s a well-made product with great customer support.

Github Github has gained a lot of attention over the past few years, partly due to Git being the version control system of choice for Ruby on Rails developers (Ruby is the #2 language on Github). We’ve had great success using Git with Magento, and Github has over 50 integrations!

JIRA Studio JIRA has been around for years. It’s a product for ticketing that’s released by Atlassian. JIRA runs on a Java stack, and there are many plugins for it. There are also other products that Atlassian has released that work side-by-side with JIRA. If you’re not familiar with maintaining a Java stack, this may not be for you. BUT – this is where JIRA Studio comes in. Studio comes with the following products:

Subversion Hosting

• JIRA: Ticketing • FishEye: Source code browsing • Confluence: Wiki • Bamboo: Continuous Integration • Crucible: Peer code review

The price point isn’t bad, but definitely has a learning curve. It’s great product, and their ticketing process is open to the public so you can always find our what’s coming up. We’ve been investigating using Bamboo to run PHPUnit tests, and it’s pretty cool stuff. The biggest downfalls are these: There’s no Git or Mercurial hosting (for now), and there’s no custom post-commit hooks (to call a url after you’ve committed). Also remember that this is not a deployment system.

DeployHQ DeployHQ is a simple hosted product that works great. Let’s say you’re on a system that doesn’t deploy, but you need to get your files out there easily. DeployHQ will connect to your repo and deploy for you. It works with svn and Git, and works well. You can deploy two ways:

Manually: Enter beginning and ending revisions, then click a button • Automatically: Have your post-commit hook pointed at a custom URL that will trigger a deployment

That’s about it for now. Have fun trying this stuff out and as always feel free to contact us for pointers.

Get Ready for Magento 1.6

August 18, 2011 by Bob Brodie

We’ve all been waiting for it – Magento 1.6. It’s here – but are your projects ready for it? If you’re not sure, here are a few things to check for to upgrade to Magento 1.6. Use this to build an organized plan of attack.

Stage it! Set up a copy of your site, either locally or on a staging server. If you’re on a version control system, branch it and commit the 1.6 files from subversion. If you’re not on a version control system (shame on you!), upload the files to your site. After the files are up on your server, clear your cache and make sure it upgrades.

Theme Go through your site! If you launch a client’s site and something doesn’t work, you’re going to eat a bunch of time, and maybe even get fired. That’s no good. Build a test plan for your theme. Think of all the different scenarios that are possible. Even simple things like home page features, categories, products, and search that are all vital parts of your website.

Modules We typically write between 20 and 50 modules for a client. You need to test them all. Magento’s database and models change often, and things will break on an upgrade. If you have integrations, have your client set up testing environments of the software you’ve integrated with. You’ve done your part – they need to do theirs. Always make sure that test environments are in your client’s budget. If they use Microsoft products, have them get Technet. If they’re with another vendor, make sure they have seats available. It’s your job to educate them. Test, test, test your modules. EcomDev has a great module for PHPUnit Testing. We’re in testing phases of using a Build.xml file triggered from Atlassian Bamboo to run PHPUnit tests. You can run manually, but in the end PHPUnit will be more efficient.

New Features Magento 1.6 has some new features, and they’re pretty fantastic. Right now, it looks like the big ones are Minimum Advertised Price, Persistent Cart, and Shipping Labels. Magento’s upgrades are big for keeping your customers signed. Make sure you test the features. Learn them – and learn them well. Write plans for the future of the site you’re working on, and explain how it will help your client, and instill confidence that you can implement it.

Magento 1.6 is now available for download here.

Magento Coupon Generator Customers: We Want to Hear From You

August 3, 2011 by John Suder

Last year, we at SUMO Heavy Industries developed our first Magento Module, the Coupon Generator. The Coupon Generator allows you to auto-generate coupon codes that online store owners can give to their customers.

Since initial release in November 2010, we’ve released version 2.o and made some improvements and bug fixes.

We’re ready to build Version 3.0, but we want to hear from you, the users:

• What features would you like to see in the next version?

• Are there any features you’d like to see removed?

• Do you have any ideas for other Modules that you’d like to see us build?

Leave your feedback in the comments or send an email to hello@sumoheavy.com.

Your comments and feedback will help us to build better products.

 

Version 2.o is still available for download

To Purchase Version 2.0 of the Coupon Generator Module: The coupon generator module is still just $5.00 (USD) and is available for immediate download.

Click here to purchase

Once your payment is approved, you’ll be sent a download link (make sure to double-check your SPAM folder).

Installation To install the module, download and unzip the file, then upload to your Magento Root Folder. Once installed, you can generate the coupons via the Admin panel under PromotionsShopping Cart Price Rules.

Compatibility The SUMO Heavy Coupon Generator works on Magento 1.4.2.0 and later.

Support For Support please use our support form or click on the ‘Feedback & Support’ tab on the left side of our website.

Capturing Payment on Shipment Creation in Magento

June 21, 2011 by Bob Brodie

Every shop owner – online and offline – knows that dealing with credit cards is a very complex subject. There are rules about storing cards, how long you can store them (if you need to at all), authorizations, captures, rules regarding those, and how to handle certain situations.

One easy step you can take to handle regulations is to only authorize at checkout. This is an easy change in Magento. Log into your admin, and go into the settings for your payment processor. You’ll notice something called “Payment Action”. For most, there’s “Authorize Only” and “Authorize and Capture”. PayPal is a little different; they use “Authorization” and “Sale” (same concept though). This is great. Set that to Authorize and you’re good to go. But wait – how do you actually get your money?

This is the not-so-fun part. When you ship every order, you’ll need to log into Magento, invoice the order by capturing online (Available in Magento 1.4.2.0 and higher), and then you’ll need to create shipments – either manually or via 3rd party integration.

A developer who does a lot of work with us, Kamil Durski, figured out a solution to this. Amazingly, it’s only 2 files. That’s right – 2. Why this functionality isn’t there is beyond me.

First, you’ll create app/code/local/SUMOHeavy/ShippingInvoice/etc/config.xml:

<?xml version="1.0"?>
<config>
	<modules>
		<SUMOHeavy_ShippingInvoice>
			<version>1.0.0</version>
		</SUMOHeavy_ShippingInvoice>
	</modules>
	<global>
		<models>
			<shippinginvoice>
				<class>SUMOHeavy_ShippingInvoice_Model</class>
			</shippinginvoice>
		</models>
		<events>
			<sales_order_shipment_save_after>
				<observers>
					<sumo_shippinginvoice>
						<type>singleton</type>
						<class>shippinginvoice/observer</class>
						<method>createInvoiceAndCapturePayment</method>
					</sumo_shippinginvoice>
				</observers>
			</sales_order_shipment_save_after>
		</events>		
	</global>
</config>

Then you’ll need to create app/code/local/SUMOHeavy/ShippingInvoice/Model/Observer.php:

<?php 
 
class SUMOHeavy_ShippingInvoice_Model_Observer extends Mage_Core_Model_Abstract {
 
	public function createInvoiceAndCapturePayment($observer)
	{
		try {
			$shipment = $observer->getEvent()->getShipment();
			$order = $shipment->getOrder();
 
			if (!$order->canInvoice()) {
				return $this;
			}
 
			$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice($savedQtys);
			if (!$invoice->getTotalQty()) {
				return $this;
			}
 
 
			$invoice->setRequestedCaptureCase('online');
			$invoice->register();
			$invoice->getOrder()->setIsInProcess(true);
	        $transactionSave = Mage::getModel('core/resource_transaction')
	            ->addObject($invoice)
	            ->addObject($invoice->getOrder());
 
	        $transactionSave->save();
 
			// Mage::getSingleton('adminhtml/session')->addSuccess($this->__('The invoice has been created.'));		
		} catch(Exception $e) {
			die($e->getMessage());
		}
	}
 
}

In the first file, we’re setting up or observer to watch the salesordershipmentsaveafter event. This means that after a shipment is committed to the database, we’ll capture the payment. In the observer file, we’re doing a few things:

1) Look up the shipping and order info:

$shipment = $observer->getEvent()->getShipment();
$order = $shipment->getOrder();

2) Check to see if the order can be invoiced

if (!$order->canInvoice()) {
	return $this;
}

3) Load all necessary info we need to process the transaction:

$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice($savedQtys);
if (!$invoice->getTotalQty()) {
	return $this;
}

4) Capture the funds online and save the order:

$invoice->setRequestedCaptureCase('online');
$invoice->register();
$invoice->getOrder()->setIsInProcess(true);
$transactionSave = Mage::getModel('core/resource_transaction')
	->addObject($invoice)
	->addObject($invoice->getOrder());
 
$transactionSave->save();

5) If we can’t capture, it will fail and present an error:

catch(Exception $e) {
	die($e->getMessage());
}

This is basic functionality and assumes that all orders are capturing against a live authorization. A great idea would be to extend the payment modules to store authorization tokens so that if you need to re-authorize the order you’d be able to. I’ve been keeping an eye on the subversion repository Magento 1.6.0.0 and one thing is really intriguing:

Added settings Authorization Honor Period and Order Valid Period into EC tab in the backend

I’m not 100% sure what this is going to accomplish in the end but have some ideas. It would be great if there’s some better CC handling methods in 1.6. If this makes it into the stable version, it could be a doorway to even greater opportunities.

Feel free to try this out, or add to it here: https://github.com/sumoheavy/SUMOHeavy_ShippingInvoice

Magento 1.6 Minimum Advertised Price (MAP)

June 16, 2011 by Bob Brodie

Magento 1.6.0.0-beta1 was released today, and has some pretty nifty features. One of those is an implementation of “Minimum Advertised Price”, or MAP. Many vendors enforce restrictions on how low of a price you can show on your site, until either adding it to your cart or performing come action. Here’s how to take advantage of this feature:

First, enable MAP. It’s under Admin > System > Configuration, on the Sales tab. There’s an accordion panel titled Minimum Advertised Price. Here’s your options:

  • Enable MAP – Yes / No
  • Apply MAP (default value) – This is the master switch. (For some reason, I couldn’t get it working unless this was set to yes – even if it was set to yes at the product level.)
  • Display actual price – This is another default setting. Your options are “In Cart”, “Before Order Confirmation”, and “On Gesture”. I’ll cover these in a minute.
  • Default Popup Text Message – This is the text that will show up at the bottom of the popup when “On Gesture” is enabled.
  • Default “What’s This” Message – This is the text that shows when you click the “What’s this?” link.
Next, create your item. I’m going to assume that you are familiar with this process. When you get to the Pricing tab, you’ll see three new options:

Under Apply Map:

  • Yes – This option will apply MAP to the product page
  • No – This option will cause MAP not to apply
Display Actual Price – In Cart

Display Actual Price – Before Order Confirmation

Display Actual Cart – On Gesture

Keep in mind that you shouldn’t rely on any beta functionality as it may go away in the stable version!


 

If you like information like this, subscribe to our feed or join our mailing list.

eCommerce Giant eBay Acquires Magento

June 6, 2011 by John Suder

Ebay announced today that it will acquire Magento, Inc., developers of the Magento eCommerce platform. The announcement comes after eBay announced in February to purchase a 49 percent stake in Magento, valued at $22.5 million.

eBay’s Strategy Magento will eBay’s strategic component of X.commerce. X.commerce is an open platform that offers a selection of end-to-end services to merchhants. Many of their recent acquisitions are filling in the gaps of all phases of the eCommerce transaction process, as well as giving tools to merchants at the local level to help them innovate and compete.

The Future The acquisition is expected to close by around the third quarter of this year. No immediate change in Magento overall strategy is expected because of the acquisition and will continue to support existing partners and customers.

Our Thoughts While some acquisitions leave us scratching our heads, we think this makes good sense and can only make Magento a more visible product as it moves towards being the ‘gold standard’ in open source eCom platforms. The financial muscle behind eBay can’t hurt either. Let’s hope that eBay’s size won’t get in the way of Magento’s contunuing innovation in the eCommerce space and allow the product to grow organically. We’re also wondering how the purchase of Magento affect the recent GSI Commerce acquisition, and where the GSI platform fits in. We’ll be watching closely over the next few months to see what changes eBay will make to Magento’s strategy and products.

Magento’s Acquisition Announcement

http://www.youtube.com/watch?v=w0FKogIBKo&feature=playerembedded&w=600&h=400

SUMO Masters of eCommerce & Design: An Interview with Listrak’s Ross Kramer

May 23, 2011 by Bart Mroz

SUMO Masters of eCommerce and Design

Today we begin a series of interviews we’re calling ‘Masters of eCommerce and Design’. These are interviews with well-respected leaders in our industry. If you’d like to be interviewed (or would like to suggest someone who should) give us a shout at hello@sumoheavy.com. Enjoy the series!

Name: Ross Kramer Title: CEO Company: Listrak Age: 36 Location: Lititz, PA Contact: rkramer@listrak.com

 

“In God we trust. All others bring data.”

Ross is a co-founder and CEO of Listrak. He has nearly 15 years of executive leadership, successfully launching and directing three technology start-ups. Ross has led Listrak from concept to leading email marketing solutions provider serving online retailers, interactive agencies, and direct marketers. As CEO, Ross is responsible for charting Listrak’s strategic vision and direction. Ross is a thought-leader within the online marketing community, lending his expertise to conferences, seminars, and webcasts. Ross is also a frequent contributor of email best practices articles and can be found in eM+C, Adweek, Internet Retailer, MarketingProfs, Website Magazine, Direct Magazine, and other publications. Ross also shares his expertise on Listrak’s podcast Email Marketing Today and its webinars.

1. You started your first company when you were still in college. Can you tell us about your experience?

I had always worked for myself. I had a paper route as a kid, painted houses as an early-teenager then started assembling and selling computers in my parent’s basement. When I got to Penn State in 1994 the commercial Internet was just getting its legs and it’s been a wild ride ever since. I’ve had a very solid group of smart, innovative and dedicated team members where a lot of credit needs to go. Plus a lot of very loyal customers who have been with us as we have evolved from a web hosting company to an application development company to an email marketing company.

2. Can you tell us about Listrak and how it started?

When we were building Ecommerce sites in the late 90’s we couldn’t overlook the impact that email marketing was having on our clients. Since web hosting was becoming commoditized we decided to commercialize and build out Listrak in 2001. We bootstrapped the whole thing – didn’t raise any outside capital and used the cash flow from our hosting and professional services business to build the product business. That was probably the smartest move we have ever made.

3. We’ve recently completed some work with you on your new product. Can you tell us why you chose Magento?

Email marketing solutions for Ecommerce are a major focus for us. We’re helping merchants increase ROI and customer experience by enabling them with the technology to easily segment and target customers with relevant content. We’re doing this by analyzing both on-site click-stream behavior as well as order history. This is a major differentiator from other email service providers.

We partnered with SUMO Heavy Industries to build our Magento Extension which securely ships on-site behaviors such as shopping cart abandonment, browse/abandonment, etc. to our business intelligence data warehouse which powers triggered email messages. The Magento extension also synchronizes order history as well as newsletter signups.

This year we became a Magento Silver Partner and so far the experience has been excellent. Magento is a solid platform that is growing by leaps and bounds. We’re thrilled to be growing with them.

4. What do you think is the next thing in eCommerce?

Wow – too much to name. One thing that is working well in retail email marketing is the human influence factor of social proof. Right now we’re just scratching the surface by including things like customer product reviews in email to increase relevancy which drives demand. As social commerce becomes more main stream a plethora of relevant “social proof” data will become available as content to be used within email. For example, if we’re Facebook friends and you like and comment on a product that I add to my shopping cart – that comment will display (with comments from my other friends) in an email campaign that I receive if I fail to checkout. That’s going to be cool.

Fun Fact:

Our first office after the dorm room didn’t even have a bathroom. In the winter, we had to put on our coats and walk around to the front of the building to use the bathroom. That was a character builder.

Magento Usage on the Rise

April 19, 2011 by John Suder

Adoption and usage of Our favorite eCommerce CMS Magento is on the rise. Out of the top million sites on the internet, Magento usage has increased from 0.05% in March 2011 to over 0.29%. as of April 18, 2011.

Magento Usage Chart

This chart represents Magento web usage trends over a historical time period on a large selection of website homepages queried by BuiltWith. According to BuiltWith, there are currently over 56,505 websites using the Magento CMS. (The usage trends within the top million sites are updated once per week with the last update occuring on 18 Apr 2011.)

If you’d like to know how we can make Magento work for you, drop us a line at hello@sumoheavy.com

Source: BuiltWith Magento Commerce