Archive for the ‘Management’ Category
Magento Modules and the Community
Thursday, October 6th, 2011

This post outlines some of our thoughts about the state of the Magento module community, and an idea for how Magento can improve the quality of that community.
Here at Classy Llama Studios we create our own Magento modules every day and have high standards for any module that we write. These standards include having properly commented code, adhering to Zend programming standards, and having both the code and functionality of the module reviewed before it is released. Magento is great because, instead of having to write every module that we use, there are numerous other quality development companies whose modules we can draw from for sites that we develop. Unfortunately, there are a lot of modules out there that are not quality. Issues with modules that we encounter include poorly written code, SQL vulnerabilities, improper code domain separation, and improper utilization of the Magento Application functionalities. Some of these modules do not even work.
This abundance of modules often leaves us with a challenging question. Do we recommend this module to our client? If we do, we often have to prepare our clients for the possibility of hours of development, in addition to the module cost, that may be required to make the module safe and functional. The other option is that we have to take a loss to bring the module to the level necessary for use on our customers’ eCommerce platform. We love our customers and so it is painful for us to have to make either of these choices when the customer is already paying for the module. Because of this, we have been asking ourselves if there is some sort of solution to the problem of poorly coded modules.
The answer we came up with is twofold. For now, we can buy most of our modules from the great companies who have earned our trust up to this point; these companies include AheadWorks, Unirgy, and WebShopApps. This alleviates the problem but it does not come close to eliminating it. We know that there are other developers who write quality modules. We simply don’t know who they are until we have worked with and reviewed their modules. We think that Magento itself is the solution to this dilemma.
Even though Magento has had explosive growth since the release of Magento 1.0, it has only been three and a half years since its release. Since then, Magento has gone through dramatic transitions and upgrades turning it into a much more streamlined and powerful system with numerous features and a massive community. With eBay’s acquisition of Magento, its future looks even brighter. Since Magento is so young, however, there are certain features and programs that they have not had or taken the time to develop. We believe that the development of a Magento module certification would be a great step for the company and the community at large. Magento has over 4800 modules in Magneto Connect, and we realize that reviewing every one of them would be a massive undertaking, so we think that it should be something that Magento would be best able to facilitate on a voluntary basis. When Magento certifies a module, that module would receive special recognition and be more accessible to developers and store owners. This would take the burden of code review and repair off individual development companies or users purchasing the modules and put it back on the original developers of the module. While this could take time to implement, we think that it is an endeavor from which the entire Magento community would benefit.
We’ve communicated this idea to Magento. Here is a snippet of what we’ve told them: … There are many poor quality developers and modules, and the current system doesn’t provide a system of being able to determine which modules are good, and which are not. The current Magento Connect is much like the Android Marketplace – thousands of apps, with only a portion of them being high quality. While we would not like to see the same level of curation as the iOS Marketplace, we would like to see more attention being paid to ensuring that quality modules are promoted, and poor-quality modules are being demoted…
We sincerely hope that Magento does this, but regardless of what they do, we love the platform and will continue to support the company and the community to the best of our ability. We believe that Magento truly is the eCommerce “Platform for Growth” and that it’s many features, programs, modules, developers, store owners, and fans make it a wonderful and enjoyable platform to work with every day.
Tags: Community, Magento, Modules
Posted in Development, Magento, Magento Development, Management | 5 Comments »
Introducing Wiz, a CLI Tool for Magento
Monday, March 7th, 2011
There is a lot of functionality in Magento that is hard to get to or tedious to work with. There are so many tasks that developers, designers, and administrators do on a daily basis that require time-consuming trips to the Magento backend. If you happen to want to do more than one of those operations, you end up having do each of those tasks one after the other… if only there was a better way!
It is my pleasure to announce Wiz: a command-line interface tool for working with Magento installations. It was built to make your work (and subsequently your life) much easier!
Wiz has a whole bunch of great features, but here are some you’re sure to like:
- Create an admin user (tested in CE & PE)
- Toggle template hints
- Enable/disable module names
- Enable/disable module output
- Run xpath queries over the global config
- Enable/disable/clear caches
- … and more!
Wiz is a work in progress and hasn’t been thoroughly tested with every Magento version out there. However, we’ve been using it with Professional and Community Edition installations without any major problems.
Things planned for future releases:
- Templates for building modules
- Better support for stores and configuration scopes
- More useful utilities like reindexing, cron runs, etc.
Your feedback and bug reports are welcome!
Update: Some screenshots for the curious…

List all modules, versions, and their statuses without going through the backend.

Create an admin user without having to touch the database.

Effortlessly clear, enable, & disable Magento caches.

Enable and disable template hints. Great for theme/skin development.

Dropping easily into MySQL shell for a Magento install.
Posted in Magento, Magento Development, Management | 12 Comments »
Using ShipWorks with Magento (USPS, UPS, Fedex Shipping integration)
Saturday, August 15th, 2009
In this post we will be exploring the integration of Interapptive’s ShipWorks with Magento.
ShipWorks is a Windows-only desktop application that integrates a number of different shopping carts with the most common shipping services. It uses the Microsoft SQL server as it’s data storage engine, allowing it be installed on multiple computers on the same network.
ShipWorks currently has support for the following shipping methods:
- UPS (direct integration)
- UPS Worldship
- DHL (direct integration)
- Fedex
- USPS (Label printing, w/out postage)
- USPS (via Stamps.com desktop application – domestic shipping only)
- USPS (via Endicia desktop application)
Benefits of using ShipWorks
- Fast shipping fulfillment
- Less error-prone than copy-and-pasting
- Integration with multiple different shipping methods
- Low cost (max. of $49.95/mo – see pricing)
Disadvantages
- Windows-only (this is a common trend with shipping management software)
- Desktop-based (as opposed to web-based)
Typical Magento/ShipWorks Order Fulfillment Workflow
Here are the steps a typical order fulfillment process will look like, once the Magento/ShipWorks integration is completed:
- Download new orders from Magento by going to “Order > Download Orders” in Magento. This will download all orders since the last order download.
- Select all orders that aren’t marked as “Closed” or “Complete”. You can create filters in ShipWorks that will only show orders that match certain parameters. If you offer multiple shipping providers (eg, UPS & Fedex), you’ll want to select and process orders from each shipping provider separately.
- Click the button on the toolbar for the shipping provider associated with the selected orders.
- You’ll then customize the shipping options (delivery confirmation, insurance, etc…) for the orders. You can do this individually or as a group.
- Note: I did notice that when you open the shipping label dialog, ShipWorks doesn’t properly associate shipping services imported from Magento to their respective service type in. For example, when you select three orders, one with “USPS Priority” and the others with “USPS First-Class” mail, the “USPS Priority” option is selected for all orders. Here is a screenshot demonstrating this.
- Once you’re done customizing the shipping options, you’ll print the shipping labels.
- Once an order is shipped, it will be marked as “Complete” in Magento. A Shipment will also be created that will be associated with the associated Order and Invoice. If a tracking number was provided from the associated shipping service, it will be added to the Shipment. This will allow a customer to login to the “My Account” section of the Magento store and see that their order has been shipped.
- ShipWorks has the ability to send shipping confirmation emails directly to the customer. This may work fine for many merchants, but there will be those that want Magento to send the shipment confirmation email. Based on my perusal of shipworks.php file, it doesn’t look like a shipment notification email is sent from Magento when a shipment is created. If a merchant wants to have all emails sent from Magento, it would require a small change to be made to the shipworks.php file.
Alternative Solutions for Integrating Magento with UPS, USPS, or Fedex
There are alternatives to using ShipWorks. Here are a few alternatives. If you know of any integration methods that aren’t listed here, please let me know and I’ll add them to the list.
- Fedex/UPS Shipping Label Module for Magento (configuration instructions)
- Manual Fedex Shipping Manager integration instructions
- Manual Endicia Galaxy Ship integration proof-of-concept
- T-Hub Magento/Quickbooks/Shipping Manager ($299-$996)
- Webgility Magento/Quickbooks/Shipping Manager ($450-$1,025)
- StoneEdge ($1,995)
- Shipper 3 for Magento
Installation – Magento Script
In order to install the Magento script for ShipWorks, all you have to do is copy the provided shipworks.php file into your Magento installation directory.
Installation – ShipWorks
Here are screenshots of the ShipWorks installation process:
If you choose the “Connect to and existing ShipWorks” database, you’ll see the following:
If you choose the “Create a new ShipWorks database” option, you’ll see this:

After installing MSDE (SQL Server Desktop Engine) and restarting your computer, you'll create a database

ShipWorks will use these settings to send emails to customers (if you configure it to send email notifications)
ShipWorks Screenshots
Here are some screenshots of ShipWorks in action. More screenshots/screencasts can be found on the Interapptive site.

Once you connect ShipWorks to Magento, you can "Orders > Download Orders" to download all orders from Magento

Orders View - You can view all orders that have been imported from Magento (customer data is blurred).

Customer View - See all customers that are associated with the imported orders. ShipWorks groups all orders for a specific customer together, allowing you to see an entire order history for a customer.
Posted in Management | 21 Comments »
Magento’s “Global Record Search” Explained
Sunday, August 2nd, 2009
Magento has a little-publicized feature called the “Global Record Search”, located at the top right of every admin page. It allows you to quickly search for Products, Customers, and Orders in the system. If you need to quickly find one of these types of records, using the Global Record Search is much quicker than going to the Product, Customer, or Order listing pages. Here are the attributes you can use to search:
- Product Name
- Customer First Name
- Customer Last Name
- Customer Company
- Customer Postal Code
- Customer Phone Number
- Orders by Billing or Shipping address (using the same information as Customer fields listed above)
- Order Number (Increment ID) – must be exact number, no partial matches
Unfortunately, you’re not able to search by Product ID or Customer ID. This functionality would be simple for a Magento developer to add. It would require overriding one of the following classes: Mage_Adminhtml_Model_Search_Catalog or Mage_Adminhtml_Model_Search_Customer.
Hope that helps in the management of your Magento store!
Posted in Management | 2 Comments »













