2010 v5 – Ongoing Progress and Fixes Report
Production Version [More Info]
This incremental release is primarily about speed, security and stability and gearing up for the next big release of our software which will include some major new features! 
Here are the highlights!
- Cut front end page load times by over 75% in many cases.
- Reduced traffic between web and sql servers by over 25% resulting in faster response times.
- Added almost 500 new automated quality assurance tests to ensure the safe operation of the key aspects of your AmeriCommerce storefront.
- Incorporated a new automated software build system that packages each new version of our product and runs our automated tests, coding rules, performance tests and packages the product.
- Enhanced our Provisioning application to reduce update downtime to 8s per site for hotfixes!
- Switched to an official Scrum/Agile product development strategy for even faster releases.  We did this before, but in an unofficial way.
- Deployed a new encryption and sensitive data storage mechanism involving clustered fault-tolerant encryption servers providing additional layers of security for your sensitive information and keeping it in multiple silos separate from your storefront data.
- Installed new automated auditing systems for tracking file level changes and continual 24/7/365 real-time auditing of our files and network traffic for enhanced above-and-beyond compliance to PCI/DSS Regulations.
- Saved Credit Card selection on 1 page checkout
- Mailing List Enhancements and Integrations
Here is the play-by-play:
- 9/15
- FEATURE: Added a word pluralization plugin for use on stores.  (/store/inc/ac.pluralize.js JQuery plugin).
- We will be making use of this with upcoming features but we wanted everyone to have access to it in case you wanted to use it too.
- How to use (basic):
- Say you have the following on the page:
<span id=”cart-items”>##CARTITEMSCOUNT##</span>
Which renders the following HTML:
<span id=”cart-items”>2</span>
You want to follow that with the text “item” or “items” depending on the number displayed.  That’s where this plugin comes in.  Adding the following to the page will apply the plugin to that element.
<script type="text/javascript" src="/store/inc/ac.pluralize.js"> </script>
<script type="text/javascript"> $(function() {  
$("#cart-items").pluralize();
}); </script>
This will use the default text “item” and “items.”  Now when you refresh the page, the following HTML will be there:
<span id=”cart-items”>2</span> items
Note: the ac.pluralize.js include statement only needs to be included one time on the page, after the jquery.js declaration (so right now, in the page header is a good place)
- Say you have the following on the page:
- How to use (advanced):
- If you want to use text other than the “item” or “items” text, you can.  Here’s how you do it:
Say you want to call it “thing” or “things.”
<script type="text/javascript" src="/store/inc/ac.pluralize.js"></script>
<script type="text/javascript">
$(function() {
  $("#cart-items").pluralize({
    singleItemText: ‘thing’,
    multipleItemText: ‘things’
  });
});
</script>
- If you want to use text other than the “item” or “items” text, you can.  Here’s how you do it:
- Result: <span id=”cart-items”>2</span> things
- HOTFIX: Updated all themes base files to catch them up to the 2010.5 changes
- HOTFIX: Fixed a postback issue when credit card was not the default payment type for saved cards on OnePageCheckout.
- FEATURE: Added a word pluralization plugin for use on stores.  (/store/inc/ac.pluralize.js JQuery plugin).
- 9/14
- HOTFIX: Deleted/Removed personalizations will no longer error on old carts or orders containing them.  It will still show the personalization choice since it does exist on that cart item/order item.
- HOTFIX: Fixed an issue where the Canadian province for the customer was not correctly selected on One Page Checkout when they chose to use PayPal Express Checkout.
- HOTFIX: Fixed an issue with trying to load credit card information on a new order
- HOTFIX: Fixed a few other issues with the new saved payment selection feature.
- HOTFIX: Fixed a timeout issue when calling AddOrder, related to Order custom fields (only public ones)
- 9/13
- HOTFIX: Fixed issue with OrderTrans passed in as a parameter to API methods not being deserialized correctly because of the formatting of the SerializableDictionary, and fixed an issue with the new ApplyCustomFieldValues methods
- 9/09
- FEATURE: The following methods are available through the API:
- Customer_ApplyCustomFieldValues
- Customer_ParseCustomFieldValues
- Order_ApplyCustomFieldValues
- Order_ParseCustomFieldValues
- Product_ApplyCustomFieldValues
- Product_ParseCustomFieldValues
- Store_FillCustomFields
- Store_ApplyCustomFieldValues
- Store_ParseCustomFieldValues
- The Apply and Parse methods are pretty straightforward. Apply will take in a collection of key-value pairs and apply those to the entity’s custom fields collection. It does not post/save the object, leaving that to the developer to do afterwards.
- Parse will fill and return a much cleaner custom field collection from the passed in object, taking care of much of the difficulty of parsing the values out. This same collection can be passed into the Apply method after manipulating values as needed.
- FEATURE: The following methods are available through the API:
-
9/08
- HOTFIX: Fixed backwards compatibility issues of retrieving custom fields over API.
- FEATURE: New API methods, Shipping rate adjustments to product object
- FEATURE: New API methods, DiscountMethods and DiscountRules
- FEATURE: New API methods, Shipping Provider, Adjustments, and Adjustment Types
-
9/07
- HOTFIX: Fixed an issue causing Custom Fields to get saved twice in several places across admin.
-
9/03
- 9/02
- FEATURE: Finalized and added all of the speed tweaks found during our performance profile of the application.  Hundreds of spots were profiled and every slow piece of the application scrutinized for some striking improvements in speed that we can’t wait to roll out.
-
8/31
- FEATURE: Added “Shopping cart software by AmeriCommerce” message to the footer of all frontend pages. Please contact support if you wish to have this disabled. Additionally, the merge ##POWEREDBYLINK## is available and can be placed anywhere on the page, this will move the powered by text on the page to the spot where you place the merge.
-
8/27
- FEATURE: Changes to Custom Field serialization over API. Now translates as an array of items containing a Key (Custom Field Name) and a Value (Custom Field value converted to string). The methods for accessing have not changed.
-
8/23
- FEATURE: Custom Fields now validated and saved as part of normal architecture via their parent entity.
-
8/17
- FEATURE: Added <head> tags to Customers, Categories, and Manufacturers so custom MetaTags/Javascript/etc can be added to specific objects.
-
8/16
- FEATURE: The MailingList feature in AmeriCommerce has received a major upgrade.
- Multiple mailing list types are now available:
- Internal
-
Completely managed inside AmeriCommerce.  This list type uses the Customer table for storage.
-
This is the only type of Mailing List that can be emailed via the AmeriCommerce software.
-
- Internal
-
If a browser simply subscribes to the mailing list via a snapin or form but does not check out or provide complete customer information, a ContactInformationOnly Customer record is created for the email address.  If the subscriber returns later to purchase, their Customer record is updated with their customer information upon registration / checkout.
-
Sending emails to lists is now handled via the Customers > Write Email menu by selecting the Mailing List to send to via the dropdown menu.
- ExactTarget
- Integration with ExactTarget (www.exacttarget.com) mailing list manager will allow for customers to subscribe, unsubscribe, and check status of a Default Mailing List (more information below), or subscribe / unsubscribe to One Page Checkout Mailing Lists.
- URLBased
- A generic subscribe-only integration that supports merge codes for email address and customer name on One Page Checkout Mailing Lists. This is a feature-limited type of list used for very basic 3rd party implementations and does not support checking of subscribed status or unsubscribe, therefore it is not allowed to be used as a “Default” list. Basically you put your providers url in the settings and our one page checkout will call out to them to post the new entry.
- Example:http://yourmailinglistsystem.yourdomain.com/subscribe.aspx?email=##EMAILADDRESS#&firstname=##FIRSTNAME##&lastname=##LASTNAME##
- Default vs. One Page Checkout list
- Default
- This type of List replaces the old method of the internal mailing list.  This is the checkbox that is visible under MyAccount, Register, OnePageCheckout near their billing address, CustomerEdit in the Admin, etc.  There can be only one Default list per store.
- One Page Checkout
- This type of List is new and appears at the bottom of One Page Checkout below the payment and shipping information.  You can have one or more additional lists to all customers, or only offer additional lists based on the categories of items in their order.   These lists can also be set to Auto-Opt In and Hidden so the customers are automatically added to the new list (CAN-SPAM rules apply)
-
- Default
- Welcome Emails
- Different Welcome Emails can be sent for each Mailing List.  Settings are on the mailing list editor.
- Considerations
- By default we are creating an Is Default mailing list for each store during the upgrade.  Going forward, if you do not have an Is Default mailing list active for ALL or each store, you will not be able to use the MailingList snapin nor will you display the Subscribe checkbox below address on One Page Checkout.
- All Subscribers using the MailingList Snapin will become ContactInformationOnly Customer records and their email address only will appear as a customer record.
- Other Related Changes
- Mailing List Manager Enhanced
- Since all Mailing List subscriptions are now Customers, you manage your mailing list subscriptions from the Customer list.
- Send to Email Sending
- You can filter your Customer List by Order data (as previously seen on the old MailingList page), then add the resulting customers to a Mailing List to target based on order volume.
- To add a customer or selection of customers to a mailing list, check the box next to each customer in the grid then from the Action menu choose MailingList > Add Customer To.
- MailingList is now a column option on the Customer list.  When you check this you will see all of the mailing lists the customer is in on the grid.
Please sign in to leave a comment.
Comments
0 comments