1) Download Upgrade to temporary location
This upgrade is available to active subscription holders. To obtain the file, login to the ablecommerce.com website and go to the customer account area. From the Downloads tab, in the top section, you can see all files that are available to you by subscription. Be sure to download the files here and keep an original for backup.
-
Determine the type of version you are using, WAP or WSP, and download the applicable file.
-
Extract the contents. Only changed files are included in the upgrade set.
-
Compare the new upgrade files with your existing ones, and merge any custom changes.
2) Confirm License
Do not install the upgrade unless your license subscription is valid through the "release date" of the build you are installing, or you have a license key for the latest version.
There are two ways to see if you have a valid subscription for this upgrade:
Login to your AbleCommerce Merchant Menu and go to the Configure > Security > Licensing page.
The "License Details" section will indicate whether a subscription is included with your license, and the subscription's expiration date will be shown.
- OR -
Open the "commercebuilder.lic" file located in the \app_data\ folder with a txt program such as notepad.
e.g. <subscription>03-17-14</subscription>
If your license purchase included a subscription, a line similar to the one above will be shown in your key file.
Make sure the date is on, or after, March 17th, 2014, which is the release date for AbleCommerce Gold R7.
NOTE: A store in DEMO MODE is not valid for the upgrade. Make sure you have a license key installed before continuing. The key type can be Development or Live, but not DEMO.
3) Backup your Existing Production Files
Always make a backup copy of the entire AbleCommerce folder and the database before beginning any upgrade..
4) Installation of New Files to Production Server
In this upgrade release, there are 3 configuration files that will be adjusted.
\web.config
\app_data\ablecommerce.config
\app_data\ssl.config
Before copying the files from the upgrade folder, check to make sure that you have not made changes that will be overwritten. In step 7) below, there is a list of the changes that are in each file. It is best to use a file comparison utility (e.g. WinMerge) to view any differences before replacing your customized configuration files.
For WSP versions:
-
Stop the IIS web service, or application pool, to release a lock on the DLL files in the \bin\ folder.
FAQ: How do I stop a website to upgrade?
-
Copy all files, from step 1c) above, to the corresponding folders on the production server.
-
Restart the IIS web service application.
For WAP versions:
-
Recompile the application.
-
Republish to the target server.
5) Automatic Database Upgrade
When you login to the merchant administration for the first time, the database will be upgraded automatically. For a complete list of database changes, see below.
6) Automatic Re-index
If you are using the Lucene search provider, we will re-index the database automatically after the upgrade. Re-indexing could get interrupted if the server is restarted. If this happens, simply access the Website > Indexes page to manually re-index the database.
7) Post-Upgrade Instructions
Part A) Upgrade your Theme -
Theme and style changes will be required for this release and support of the new one page checkout feature. The quickest way to do this is to find the Theme that you originally copied from, or one that is closest to your custom store Theme. All Themes are located in the \App_Themes\ folder.
Then, using a file comparison utility such as WinMerge, carefully merge any new styles and files from the one of the default Theme folders to you custom Theme folder. Reference the screenshot below, and be sure to backup your files before changing them.
The \jquery\ folder contains some new information which needs to be copied into your custom Theme folders. As well, the style.css file, print.css, and style.skin files have all been modified for this upgrade.
Part B) Upgrade configurations -
In this release, three configuration files have changed. Two of these files are located in the \app_data\ folder. The new code additions are shown below. If you have not made any customizations, then you can simply copy the new files from the upgrade over your existing ones.
ablecommerce.config
<item key="RecurringOrdersSchedulerInterval" value="240" />
ssl.config
<file path="passwordhelp.aspx" />
This last change is in the root web.config file. It is necessary for the Cybersource payment gateway.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ITransactionProcessor" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="16384"/>
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor" binding="basicHttpBinding" bindingConfiguration="ITransactionProcessor" contract="schemas.cybersource.com.ITransactionProcessor" name="portXML"/>
</client>
</system.serviceModel>
Informational Only - Database Changes
The database changes will be automatic after upgrading. It is NOT necessary to make changes manually. This is provided for informational purposes only.
* Three new fields added to ac_BasketItems
IsSubscription BIT DEFAULT 0 NOT NULL
Frequency SMALLINT DEFAULT 0 NOT NULL
FrequencyUnitId TINYINT DEFAULT 0 NOT NULL
* ac_DigitalGoodGroups table added
CREATE TABLE ac_DigitalGoodGroups (
DigitalGoodGroupId int IDENTITY(1,1) NOT NULL,
DigitalGoodId INT NOT NULL,
GroupId INT NOT NULL,
PRIMARY KEY(DigitalGoodGroupId))
* Three new fields added to ac_OrderItems
IsSubscription BIT DEFAULT 0 NOT NULL
Frequency SMALLINT DEFAULT 0 NOT NULL
FrequencyUnitId TINYINT DEFAULT 0 NOT NULL
* ac_Orders one new field added
IsSubscriptionGenerated BIT DEFAULT 0 NOT NULL
* ac_PaymentMethods one new field added
AllowSubscriptions BIT DEFAULT 0 NOT NULL
* ac_Payments one new field added
IsSubscriptionFollowup BIT DEFAULT 0 NOT NULL
* ac_Products one new field added
HandlingCharges DECIMAL(10,2) NULL
* ac_ShipMethods one new field added and one field modified
MaxPurchase DECIMAL(12,4) NOT NULL
SurchargeIsPercent BIT NULL TO SurchargeModeId TINYINT NOT NULL
* ac_SubscriptionPlans nine new fields added
RecurringChargeModeId TINYINT DEFAULT 0 NOT NULL
IsOptional BIT DEFAULT 0 NOT NULL
Description NVARCHAR(255) NULL
OneTimeCharge DECIMAL(9,2) NULL
OneTimeChargeModeId TINYINT NOT NULL
OptionalPaymentFrequencies NVARCHAR(255) NULL
PaymentFrequencyTypeId TINYINT NULL
RepeatDiscounts BIT DEFAULT 0 NOT NULL
OneTimeChargeTaxCodeId INT NULL
* ac_Subscriptions fourty eight new fields added
Name NVARCHAR(100) NOT NULL
Quantity SMALLINT NOT NULL
NumberOfPayments SMALLINT NOT NULL
ExpirationAlertDate DATETIME NULL
ExpiredAlertDate DATETIME NULL
NextOrderDueDate DATETIME NULL
LastOrderDueDate DATETIME NULL
PaymentFrequency SMALLINT NULL
PaymentFrequencyUnitId TINYINT NULL
BasePrice DECIMAL(9,2) NOT NULL
BaseTaxCodeId INT NULL
RecurringCharge DECIMAL(9,2) NOT NULL
RecurringChargeModeId TINYINT DEFAULT 0 NOT NULL
RecurringChargeSpecified BIT NOT NULL
RecurringTaxCodeId INT NULL
RepeatDiscounts BIT DEFAULT 0 NOT NULL
IsLegacy BIT DEFAULT 1 NOT NULL
PaymentProcessingTypeId SMALLINT NOT NULL DEFAULT 0
PaymentMethodId INT NULL
GatewayPaymentProfileId INT NULL
ProcessingStatusId SMALLINT NOT NULL DEFAULT 0
ProcessingStatusMessage NVARCHAR(256) NULL
BillToFirstName NVARCHAR(30) NULL
BillToLastName NVARCHAR(50) NULL
BillToCompany NVARCHAR(50) NULL
BillToAddress1 NVARCHAR(255) NULL
BillToAddress2 NVARCHAR(255) NULL
BillToCity NVARCHAR(50) NULL
BillToProvince NVARCHAR(50) NULL
BillToPostalCode NVARCHAR(15) NULL
BillToCountryCode CHAR(2) NULL
BillToPhone NVARCHAR(50) NULL
BillToFax NVARCHAR(50) NULL,
BillToEmail NVARCHAR(255) NULL
BillToResidence BIT DEFAULT 0 NOT NULL
ShipToFirstName NVARCHAR(30) NULL
ShipToLastName NVARCHAR(50) NULL
ShipToCompany NVARCHAR(50) NULL
ShipToAddress1 NVARCHAR(255) NULL
ShipToAddress2 NVARCHAR(255) NULL
ShipToCity NVARCHAR(50) NULL
ShipToProvince NVARCHAR(50) NULL
ShipToPostalCode NVARCHAR(15) NULL
ShipToCountryCode CHAR(2) NULL
ShipToPhone NVARCHAR(50) NULL
ShipToFax NVARCHAR(50) NULL
ShipToEmail NVARCHAR(255) NULL
ShipToResidence BIT DEFAULT 0 NOT NULL
* ac_SubscriptionOrders table added
CREATE TABLE ac_SubscriptionOrders(
SubscriptionOrderId int IDENTITY(1,1) NOT NULL,
SubscriptionId int NOT NULL,
OrderId int NOT NULL,
IsPrimary BIT DEFAULT 0 NOT NULL,
OrderDueDate DATETIME NOT NULL,
PaymentAlertDate DATETIME NULL,
PRIMARY KEY(SubscriptionOrderId))
* ac_GatewayPaymentProfiles table added
CREATE TABLE ac_GatewayPaymentProfiles(
GatewayPaymentProfileId int IDENTITY(1,1) NOT NULL,
UserId int NOT NULL,
NameOnCard nvarchar(255) NULL,
GatewayIdentifier nvarchar(255) NULL,
CustomerProfileId nvarchar(255) NULL,
PaymentProfileId nvarchar(255) NULL,
ReferenceNumber nvarchar(255) NULL,
InstrumentTypeId SMALLINT DEFAULT 0 NOT NULL,
Expiry DATETIME NULL,
PRIMARY KEY(GatewayPaymentProfileId))
|