8 October 2009
After several long months of waiting for the new release, it finally sees the light of the day. This is a major version update, in fact, the largest since the initial release and should include something for everyone.
This release includes a major groundwork for future growth. Some parts of the software were rewritten almost completely to increase flexibility and allow implementing new and powerful features down the road.
Thanks to everyone who participated in 1.3.0 beta testing, which allowed to catch and fix quite a few bugs.
Please read below for a detailed list of changes in this new version. Changes that have been added since the release of the 1.3.0 beta version are marked green.
Stay tuned for a release of several new modules as well as in-depth overview of some of the new features, which will be published within the next few days.
Installation and update packages are downloadable from the customer area. Update instructions are included in the /update/readme.txt file in all update packages.
LiveCart 1.3.0 final release change log
- New module system - allows to group a set of custom changes into a mini application, which can be easily plugged into LiveCart. This includes a module manager, which can be used to install, deinstall, activate and deactivate modules. A range of free and commercial modules will become available very soon.
- Reworked pricing (business) rule system. It is now modular and can be extended with custom business conditions and rule actions without having to modify core application code. It is also much more efficient performance wise, as querying the rule system does not involve database calls. The the final product sale prices are displayed in catalog immediately (if changed via business rules) without having to add a product to cart to see the actual price.
- New business rule conditions and actions, including ability to base conditions on customers order history
- Customer file uploads
- New price customization options - custom rounding and trimming rules. This is usually helpful for automated price currency conversion. For example, prices below $10 can be rounded/trimmed to nearest 0.09, for instance, $7.84 may become $7.89, while prices over $100 could be rounded to nearest 1 ($123.56 becomes $124).
- Product XML export feeds (Google Base)
- Support for shipping classes, which allow to set up different per-item shipping charges for different types of products
- Support for tax classes
- Added an option to customize invoice numbers. They're no longer counted together with uncompleted orders (shopping carts), so there are no gaps in the order numbers for completed orders. It is now possible to configure the starting number as well as custom prefixes and suffixes. It is also possible to plug in other custom invoice number generators to support specific invoice number schemes (that include, for example, customer name initials, dates, etc.)
- Theme manager, which allows to create and remove design themes and customize theme color scheme and styling (barebone based themes only).
- Product comparison
- Shipping cost estimation in shopping cart page
- Some AJAX functionality introduced for store frontend
New payment modules
- Protx VPS Form
- RBS WorldPay Hosted Payment Page
- CyberMUT (France)
- Ogone e-Commerce
- InternetSecure Merchant Link (Canada)
New real-time shipping rate retrieval integration
New language packs
Product data export feeds
- Google Base
- Seznam (Czech Republic)
Business (pricing) rule improvements
- User group prices are displayed in catalogue in real-time when customer is logged in
- Ability to apply surcharges to order
- Ability to base conditions on payment method
- New rule action - sum product variations towards quantity discounts. This allows to apply a quantity discount by the count of all variations purchased of a particular product.
- Added ability to configure discount action limits and steps order wide. Now it is possible to create promotions like "Buy 3 different CD's and get the cheapest one free".
- Business rule conditions can be based on customer's past orders. It allows to create conditions like "has purchased at least 3 books in the last month" or make up-sale offerings after completed orders, for example, "purchase X within the next 30 minutes and get Y free".
- Added action, which allows to include past orders in item quantity prices. This can often be helpful for B2B sales, since it makes it possible to automate the discount level when it's necessary to use the cumulative amount of previously purchased products. For example, there is product X, which sells at $10 for quantities less than 10, and for $8 for quantities over 10. A customer purchases 3 instances of X in his first order at $10 per item. The second order contains 7 instances of X, which brings the cumulative amount up to 10 and these 7 items are sold at $8 per item. This action can be used together with other business rules and actions, so it can be limited to particular products, users, groups, order totals and other conditions.
Product catalog improvements and fixes
- Table view for product lists with configurable and sortable columns (including product attributes)
- Product list style (list, grid or table) can be configured for each category separately
- Bestselling products list block (BESTSELLING_PRODUCTS)
- Side menu block for switching currency via select box (CURRENCY_MENU)
- Added configuration option for determining whether base taxes (defined for default delivery zone) have to be included in product display prices.
- Ability to configure the number of featured products to be displayed in category pages
- Ability to display featured products within category list in place of category images
- Additional product filtering options - drop down menus above product lists.
- Continuos filtering - to display further filtering options, previous filters have to be selected first. The filter menus can be loaded via AJAX.
- Fatal error occured when retrieving product counts for filters, in case there were more than 30 possible values for a single filter
- Fixed: category product counts are now counted correctly when products are assigned to multiple categories
Product page improvements
- Allow customer to select product variation by clicking on its image
- Certain product files can be made public for preview purposes and public media files can be embedded in product page
- Added an option to allow purchasing multiple variations at the same time from the product detail page (configurable at product and category levels)
- Added option for switching product purchase quantity selection field type between select box and numeric input
- Added an option to display product weight in product detail page
- Product options are now inherited from all categories the product belongs to
- If a product is assigned to more then one category, the additional categories are displayed in product detail page.
- Modularized product detail page template (separated in smaller blocks/template files)
- Fixed: empty products were displayed in the "customers also bought" section in product page in case the purchased products were variations
- Bundled products without contained products no longer return an error message in the product detail page
Ordering and checkout improvements and fixes
- Shipping cost estimation in shopping cart page
- Support for tax classes - allows to define different tax rates for different types of products
- Added options to disable unregistered customer access to shopping cart and to require address entry on registration
- Added an option to disable guest checkout
- Added an option to require customer e-mail address confirmation
- Customers' default addresses are assigned to new shopping carts (active orders) automatically, which allows to apply the correct tax rates already in the shopping cart page without having to start the checkout process.
- When using shipping to multiple addresses with a new customer account for the first time, the customer is automatically redirected to shipping address entry section to enter at least one address to use for checkout.
- Added an option to require password entry in checkout registration page
- Billing addresses are available for selection as delivery addresses when an order is shipped to multiple addresses.
- It is no longer necessary to create a dummy shipping service for free shipping to make free shipping method available in shipping rate selection. It is still possible to disable this feature and configure free shipping rates manually.
- Fixed: product option validation did not work when changing them from the shopping cart
- Fixed: in some cases state and country data was cleared from saved customer addresses when checking out with multiple addresses
- Fixed: "no rates available" error was displayed in checkout shipping address entry step in case there were both shippable and downloadable products in order
- Fixed: files that were assigned to shippable products weren't downloadable from customer account area
- Fixed: disabled products are automatically removed from shopping baskets
- Fixed: shipping method is displayed in order e-mails
- Fixed: second address line was not saved when entered from the customer registration page
- Fixed: customer password change function did not work
- Fixed: uploaded store logo was not changed in invoices
- Fixed: formatting was missing when printing an invoice
- Fixed: Fedex real-time rate calculator now retrieves the Ground shipping rates as well
Extended CSV import functionality
- More importable data types:
- User addresses
- Newsletter subscribers
- Product reviews
- Added ability to save CSV import field layouts as import profiles to make repeated imports simpler
- Added support for canonical URL tag, which helps search engines not to index duplicate content
- Added ability to enter meta descriptions for custom pages
- Replace special/diacritic characters to Latin characters in URLs
- Create a permanent 301 redirect to the new URL if a category or product page URL changes
Payment processing improvements and fixes
- Credit card numbers for the manual (offline) card handler are stored in database in encrypted form even if the storage is temporary
- Updated Paypal payment modules with the current supported currency lists
- Configuration instructions for 2Checkout module
- Prevent registering duplicate payments if transaction status notifications are sent multiple times by a payment processor
- Fixed: capturing of authorized credit card payments did not work
- It is now possible to configure up to 6 offline payment methods, instead of only 3
Product CSV importer improvements and fixes
- Fixed quantity price importing
- CSV columns are automatically matched to LiveCart import fields with the same name
- Added ability to enter product's category path in one field instead of having to enter each level in it's own column
- Added ability to import multiple categories for each product
- Added ability to import multiple images from one field (image paths/URLs have to be separated by semicolons)
- Fixed: the importable product count was calculated incorrectly, in case there were any products with multi-line descriptions in the importable CSV file
- Fixed: the local imported image paths were translated incorrectly when URL rewriting was not used
- Fixed: importing product attribute values via CSV ocassionally did not work
- Fixed: CSV field values with high ASCII characters (>128) were not imported correctly
- Fixed: product weight is imported in pounds rather than kgs, if the English unit measurement system is used.
Order management improvements and fixes
- Added ability to print simple shipping labels
- Added ability to mark unfinished shopping cart orders as completed orders
- Manually created orders can be shipped to multiple addresses
- Fixed: when creating new order from backend, a second shipment was added when adding the second product to order
- Fixed: PHP fatal error message was displayed in order history when a product was removed from order
- Fixed: in some cases viewing unfinished shopping carts in backend displayed a pop-up error message
- Fixed: opening an order from Previous Orders tab did not work
- Fixed: when selecting order shipping method in backend, incorrect rates were displayed in the selection menu
- Fixed: deleted products are no longer removed from order history
Inventory management improvements
- Added an option to set unlimited inventory for particular products
- Inventory level is no longer tracked automatically for downloadable products. A new configuration option has been added for enabling the downloadable product inventory tracking.
Delivery zone management improvements and fixes
- Delivery zone management panel now includes ability to easily test which delivery zone would be matched to a particular address
- Fixed: delivery zone address masks could not be deleted
- Fixed: setting shipping rate weight range interval start and end values equal didn't work as such rates couldn't be matched with any shipments
- Fixed: it was not possible to disable a delivery zone
Tax and order amount calculation fixes
- Base taxes (assigned to default zone) were not included in product option prices
- Sometimes there were bogus discount lines listed within the cart totals (0.00 or equal with tax amount)
- Shipping cost is displayed tax inclusive in the shopping cart and order summary
- Taxes on shipping rates were calculated incorrectly if tax rates were set for the default delivery zone and the shipping costs were taxed with a different tax rate than products.
- Price currency conversion did not work correctly for product variations
Live Customization fixes
- Live translation tool did not work
- Duplicate CSS rules were added to CSS file with Live Customization in case there were more than one rules with the same selector in the CSS file
- Firebug CSS editor integration now produces a cleaner CSS file - all declarations are written in separate lines and autogenerated Firefox-specific declarations are excluded from the file
- Live Customization template editor always saves templates for the scope of the current theme only
- Outgoing e-mails that were generated while in Live Customization mode included extra HTML code
- Fixed syntax errors in generated CSS file after deleting properties from Firebug
XML sitemap improvements and fixes
- Added possibility to export sitemap XML in a single file
- Fixed: individual product variations are no longer included in the sitemap file
- Fixed: submission to MSN (bing.com) did not work
Image management improvements and fixes
- Added ability to automatically resize all existing images after changing the image size settings
- Uploaded images that do not need to be resized are not resampled, so they remain intact as uploaded.
Other store frontend improvements
- Added search support for news posts and pages
- Added database error page to display in case there are connection or other technical problems with database
Store frontend display fixes
- Vertical top category drop down menu has been added to the barebone theme as well
- Category meta description included HTML code if category description contained any HTML tags
- Right side column fixed for the light theme in IE
- Disabled categories were still visible in the top navigation menu subcategory list for the default theme
- IE specific CSS files are no longer loaded for IE8 (less CSS hacks needed)
- Improved XHTML validity
- JS and CSS files were not loaded when LiveCart was installed outside of public www directory
Various new configuration options
- Option to disable invoices
- Added ability to upload default missing product images from backend configuration section
- Option to disable WYSIWYG text editors in backend
Product management improvements
- Product quantities in product bundles can be more than 1 of the same product
- Added ability to add multiple products to additional categories at once via mass action
- Product bulk updates/mass actions always applied to products that were assigned to a second category, even if they weren't selected for processing
- Product and category theme configuration could not be saved from backend
- Ability to sorting and search multi-select attribute values in input forms (helps when there are hundreds of select values)
Various backend improvements
- Data export in backend (orders, products, users, etc.) only exports the selected items if any items are selected.
- Simplified tax rate entry - all available taxes are now placed in one form instead of having to configure a rate for each tax separately
- Updated source code editor library, which fixes a couple of bugs related with template and CSS editing - text selection is now clearly visible, no more problems with syntax highlighting and performance improvements for editing larger files.
- Pasting text from MS Word into the text editor no longer generates lots of useless HTML code
- Additional help information in settings pages (currently, instructions for configuring payment modules)
- User list in backend can be filtered by user's online status
- User address information columns are available in the user data grid view
Various backend fixes
- Manufacturer images couldn't be uploaded
- When copying products the product images and prices were not copied
- Manufacturer images could not be reordered
- Data searching with foreign characters did not work in backend datagrids
- Data grid column layout is no longer completely mixed up after adding or removing a column to grid view
Plugin, internal and security improvements
- Added support for form validator plugins (change form validation rules), cron (periodal execution) tasks, and run-time events (for example, startup and shutdown)
- Controller plugins can now be executed before controller actions as well (for example, before-index)
- Optimized plugin loading - the plugin directories are scanned only once per request
- Controller plugins now may target block actions as well
- Scheduled (cron) tasks can be invoked by calling URL (http://store.com/cron.php) or from command line/system cron (php /path/to/store/dir/cron.php)
- Support for dynamically configurable block configuration (block.php in addition to block.ini) and dynamically defined plugins (plugin/dynamic.php)
- Memcached support for caching and also namespace support for cache keys
- Backend menu is now configured using JSON format instead of XML. Modules can add their items to the menu as well.
- Append or prepend predefined blocks
- It is now possible to change the product/category/manufacturer image upload directory
- Session data storage is moved to database
- User passwords are "salted" in database to avoid possible rainbow table attacks
- Scheduled tasks
- Data CSV export API
Windows/IIS server fixes
- State list in address forms was not re-populated after changing country when URL rewrite was disabled
- Email template block fragments could not be saved properly
- Error messages in backend when browsing the category tree
- Installer database setup step was terminated by some servers, since it takes several seconds to complete it. Fixed by continuously flushing output to browser while setting up the database to avoid server terminating the process.
- Installation did not work if mysql extension was not enabled for PHP. The installation now works with only mysqli extension as well.
Database migration fixes
- Migration process terminated when attempting to import a BMP image
- OsCommerce and X-Cart import improvements and fixes