6/19/2010

Whats New in Magento 1.4.1.0

Improvements

  • Added ability to use static URLs for media in WYSIWYG or image browser. Added ability to enable parsing store, skin and media directives on catalog frontend.
  • URL rewrites history: ability to auto-generate custom rewrite with redirect from old to new URL when changing product URL-key
  • Added ability to exclude a category from navigation menu
  • Various improvements in system configuration UI. Introduced ability to make actual configuration structure to be independent on the system.xml structure
  • Added "Only X left" inventory feature
  • Implemented Centinel functionality in iphone theme
  • Upgraded TinyMCE to v.3.3.2
  • Improved PayPal integration, includes:
    * Recurring payment profiles entity and purchasing of "subscription" products. In checkout they are treated as "nominal" items.
    * Billing agreements
    * "Pending Review" order state, "Pending Review" and "Suspected Fraud" order statuses and logic related with this. Triggers by PayPal IPR, FMF and Unilateral payments.
    * Functionality of transactions listing/searching and fetching from gateway
    * Fetching PayPal settlement reports via SFTP
    * Various improvements of PayPal integration on the frontend and admin UI
  • Added notice about creating offline creditmemo from order view page.
  • Added getter for recurring payment methods in payment helper.
  • Implemented abstract block ability to have arbitrary groups of child blocks and a method that returns such a group. Implemented a method that fetches data from child block by specified alias.
  • Implemented ability to specify "sort_order" instead of "before" and "after" in the totals declaration. All nominal totals declaration utilize "sort_order"
  • Added getter for specified object data by key in core/template block: method getObjectData()
  • Defined payment methods grouping, implemented getter for payment method list (with option to group them). Added ability to render grouped options in the "select" grid filter.
  • Moneybookers: utilized the payment methods grouping for all its methods; removed redundant "translate" attribute in the methods definition in config.
  • Utilized payment methods grouping for PayPal peyment methods.
  • Added more verbosity to PayPal NVP and IPN debugging

Changes

  • Sales module database structure changed from EAV into flat tables
  • Product custom URL rewrites redirect to SEF URL, rather than to catalog/product/view/id/
  • Reimplemented frontend top menu rendering logic (cross-browser and usability improvements)
  • Reviewed logic of the sales reports: Orders, Tax, Invoiced, Shipping, Refunds, Coupons
  • Reimplemented bestsellers report
  • Implemented 3D Secure validation for Maestro International and JCB cards
  • Changed Shopping cart methods output (top + bottom): removed
  • Moved the Payflow Pro payment method to PayPal module
  • Refactored sales/service_quote model: instead of submit() method the submitAll() should be used. It can submit nominal items separately from the order. The methods for submitting nominal items and order separately - are available as well.
  • Refactored onepage checkout model to use the new method sales/service_quote::submitAll(), added recurring profiles and billing agreements passing through the process until the success page
  • Utilized child blocks grouping to improve flexibility of rendering additional information in catalog/product/view template. The group is called "detailed_info"; any block from layout may insert itself to this group.
  • Removed redundant wrappers hard-coded into some catalog templates. Template of parent block is responsible for wrapping.
  • Refactored onepage checkout success block and template: simplified fetching related checkout information, added ability to render billing agreement and recurring profiles that might be created with the payment placement.

6/05/2010

Google Analytics code bug in Magento 1.4.0.1

We just released a site based on the latest community release of Magento 1.4.0.1. All went well until the point when we enabled Google Analytics for the site.

Firebug was showing an error: _gaq is not defined

google analytics error in magento 1.4.0.1

So there was a variable issue with the extra javascript analytics code inserted by Magento. A quick google search revealed that this issue was already reported in the Magento bug tracker and a solution/workaround provided.

The problem is in file: app/code/core/Mage/GoogleAnalytics/Block/Ga.php around line 170. Adding: var _gaq = _gaq || []; fixes the issue.

Easy fix, however, this sort of bug is something that shouldn’t have slipped through testing and quality control.