liqiusheng / silverstripe-ecommerce

Automatically exported from code.google.com/p/silverstripe-ecommerce
0 stars 0 forks source link

review shop 0.8.5 for any ideas that we may want to use in e-commerce #371

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
https://github.com/burnbright/silverstripe-shop/blob/master/ChangeLog:

Shop ChangeLog

0.8.5

Enhancements:

 * added hook to product link function
 * Added AddProductForm to Product_Controller. Improved AddProductForm to better support the 'buyables' concept.
 * improved debugging display for shoppingcart/debug. Colouring and showing item details.
 * Added security token to shopping cart links, and request handling. This helps prevent CSRF attacks.
 * Create unique links for updating carts with customized order items. Introduced $Buyable url param for better custom product handling, and removed OtherID url param.
 * Introduced .htaccess file for added security
 * Also added check for valid payment type, and items can be purchased.
 * Introduced OrderItemList, an extension of ComponentSet that provides Quantity and Plural functions to allow displaying cart total quantity. Updated SideCart.ss template to make use of these new functions.
 * Introduced heavy products report for finding products that might have incorrect weights.
 * Added $Form to cart template. Refactored SideCart to display better.
 * Improved ShopMigrationTask to handle Product VaraitionAttributeTypes relationship name change. Removed payment migration code, as it should in the payment module.
 * Introduced optional SQL-based delete for cart cleanup task. Its less safe, but it's faster.
 * Allow a different template to be used when rendering orders in the CMS. Re-introduced order.css file to provide good default order styling.
 * Created an config option for choosing where to direct after cart manipulations.
 * Created PopulateShopTask to populate the database with some dummy categories, products, and variations.
 * Custom product testing and documentation.
 * Enforced the buyable interface within shopping cart. Removed references to product variation. Introduced buyable_relationship static variable on OrderItem as a way to recognizese associations for custom buyable objects.
 * Default template and css updates, additions and removals.
 * created AddProductForm for adding products via a form submission. This should help with preventing carts from being created for no reason. Relates to #7
 * Template improvements, including adding images and subtitle to order content.
 * Introduced filtering / parameter system for cart items. This allows adding customized products to the cart, and have quantities automatically update, rather than adding completely new order items. fixes #22
 * Removed custom debug statements. These were confusing, because they only provided a sub-set of the full debug information that developers are used to.
 * updated Order_Content_Editable template to use better styling approaches.
 * Complete rewrite of ShoppingCart. Split into two classes: ShoppingCart and ShoppingCart_Controller. The ShoppingCart class is a singleton and provides restricted access to an order for adding/removing items, and clearing the cart completely.
 * cleaned up OrderItems. Removed some remaining bits of session-based cart functionality/variables that were not needed.
 * used Object::useCustomClass to swap Currency with EcommerceCurrency, for template purposes. Renamed all occurrences of EcommerceCurrency back to plain old Currency. Introduced CanBeFreeCurrency class, which simply displays "FREE" when it's value is 0;
 * moved migration code from requireDefaultRecords to ShopMigrationTask
 * Further overhaul of modifiers system. Renamed $order->CalculateModifiers() to $order->calculate(), as it applies to totals also. Fixed all modifiers and tests to use new format.
 * Moved default record creation into PopulateShopTask.
 * Major changes to modifiers system. They now are calculated via Order->CalculateModifiers, rather than internally. This is because they rely on a continuous calculation from the items SubTotal..through each modifier, and eventually producing the total.

API Changes:

 * Made ShoppingCart_Controller direct function static, to allow it to be called from outside classes.
 * Split Order - Attributes relationship into Order - Items and Order - Modifiers so that sets can be distinctly retrieved and updated with the built in ComponentSet functionality.
 * Renamed EcommercePayment to ShopPayment.
 * Added cart and checkout links to ViewableCart. Added find_link to CartPage, along with the ability to display a cart without a CartPage.
 * Decoupled order processing from Order and OrderForm. Decoupled email creation from Order. Created OrderProcessor to handle processing / fulfillment. fixes #23 fixes #3
 * Renamed ProductGroup to ProductCategory. This new name better suits the purpose the class serves.

Bug Fixes:

 * moved development admin to using proper url rule, rather than the decorator approach. The bug was that the 'shop' action was allowed on any controller.
 * fixed invalid reference when getting OrderItem links
 * fixed null reference for terms page on order form
 * Terms and conditions are now checked properly.
 * fixed links and function references in ShopDatabaseAdmin relates to renaming in 7843309144a42eed230ddf1816f1a5601a36093f
 * typo in product variation code
 * fixed order printing bug.
 * got variations working again with the new shopping cart improvements.
 * MatchObjectFilter was including has_ones that it shouldn't.
 * cart contents showing on checkout page. MINOR: Removed sessionID from order. Past orders are now stored in a session array instead.
 * orders now calculate during migration task, if they don't have a Total
 * Temporary solution for fixing Versioned, to allow storing product versions against order items. Fixes issue #15
 * updated reference to deprecated ShoppingCart function. Fixes issue #20
 * introduced an interim fix for versioned issue. Added static variable to disable using versioned.
 * remove modifiers that aren't in Order::. Deprecatd CartValue now points to TableValue, instead of TableTitle
 * Fixed ability to remove modifiers.

Original issue reported on code.google.com by nfranc...@gmail.com on 7 Jun 2012 at 6:34

GoogleCodeExporter commented 9 years ago

Original comment by nfranc...@gmail.com on 4 Jul 2012 at 11:28