SoftSlate Commerce
Home » Documentation » HTML Documentation

Version 3.5.0

Version 3.5.0 includes an updated MySQL JDBC driver. If you're using MySQL and you are upgrading from a prior version, you must update the Hibernate configuration's "hibernate.connection.driver_class" property. You must do this manually because hibernate.properties is not part of the upgrade distribution. In the file /WEB-INF/classes/hibernate.properties, change the property to the following:

hibernate.connection.driver_class=com.mysql.jdbc.Driver
					

The previous driver class, org.gjt.mm.mysql.Driver, is no longer valid and will cause an error upon start up.

If using JDK 9 and if using some of the integrations SoftSlate has, you must enable some JDK modules. The modules are enabled by default in JDK versions prior to JDK 9, but if you are using JDK 9 or later, you need to enable them. The easiest way to do so it so add this flag to the java command as you execute it:

 --add-modules java.xml.bind --add-modules java.xml.ws
					

The Authorize.net integration has been thoroughly revamped and upgraded. As part of this, the following files, classes and key variables have changed. In general, "CIM" is no longer used as an acronym, instead, "CustomerProfiles" is used, to mirror the terminology used by Authorize.net itself.

If you have customized any of the Java classes, JSPs, or URLs listed, or created any new code referencing the old names, you need to change the references to the new names as you upgrade:

Table B.1. Authorize.Net Integration Naming Changes

New NameOld Name
com.softslate.commerce.customer.payment.AuthorizeNetManageProfilesFormcom.softslate.commerce.customer.customer.AccountCIMManageProfilesForm
com.softslate.commerce.customer.payment.AuthorizeNetManageProfilesActioncom.softslate.commerce.customer.customer.AccountCIMManageProfilesAction
com.softslate.commerce.customer.payment.AuthorizeNetBillingAddressFormcom.softslate.commerce.customer.order.CIMBillingAddressForm
com.softslate.commerce.customer.payment.AuthorizeNetDeleteProfileFormcom.softslate.commerce.customer.order.CIMDeleteForm
com.softslate.commerce.customer.payment.AuthorizeNetLoadProfilesActioncom.softslate.commerce.customer.customer.LoadCIMProfilesAction
com.softslate.commerce.customer.payment.AuthorizeNetEditProfileFormActioncom.softslate.commerce.customer.customer.EditCIMProfileFormAction
com.softslate.commerce.customer.payment.AuthorizeNetEditProfileActioncom.softslate.commerce.customer.customer.EditCIMProfileAction
com.softslate.commerce.customer.payment.AuthorizeNetAddProfileFormActioncom.softslate.commerce.customer.customer.AddCIMProfileFormAction
com.softslate.commerce.customer.payment.AuthorizeNetAddProfileActioncom.softslate.commerce.customer.customer.AddCIMProfileAction
com.softslate.commerce.customer.payment.AuthorizeNetDeleteProfileActioncom.softslate.commerce.customer.customer.DeleteCIMProfileAction
/AuthorizeNetManageProfiles.do/AccountCIMManageProfiles.do
/WEB-INF/layouts/*/payment/authorizeNetManageProfilesLayout.jsp/WEB-INF/layouts/*/customer/cimManageProfilesLayout.jsp
/WEB-INF/layouts/*/payment/authorizeNetManageProfilesList.jsp/WEB-INF/layouts/*/customer/cimManageProfilesList.jsp
/WEB-INF/layouts/*/payment/authorizeNetManageProfilesServerToServer.jsp/WEB-INF/layouts/*/payment/authorizeNetCIMAPIHeader.jsp and /WEB-INF/layouts/*/payment/authorizeNetCIMAPIFooter.jsp
page.authorizeNetManageProfilespage.accountCIMManageProfiles
customer.authorizeNetManageProfilescustomer.accountCIMManageProfiles
/AuthorizeNetLoadProfilesAjax.do/LoadCIMProfilesAjax.so
/AuthorizeNetEditProfileFormAjax.do/EditCIMProfileFormAjax.do
/AuthorizeNetEditProfileAjax.do/EditCIMProfileAjax.do
/AuthorizeNetAddProfileFormAjax.do/AddCIMProfileFormAjax.do
/AuthorizeNetAddProfileAjax.do/AddCIMProfileAjax.do
/AuthorizeNetDeleteProfileAjax.do/DeleteCIMProfileAjax.do
/WEB-INF/layouts/default/ajax/authorizeNetProfilesDisplay.jsp/WEB-INF/layouts/default/ajax/cimProfilesDisplay.jsp
/WEB-INF/layouts/default/ajax/authorizeNetEditProfileForm.jsp/WEB-INF/layouts/default/ajax/cimAddressEditForm.jsp
/WEB-INF/layouts/default/ajax/authorizeNetAddProfileForm.jsp/WEB-INF/layouts/default/ajax/cimAddressAddForm.jsp
/WEB-INF/layouts/default/ajax/authorizeNetProfilePaymentForm.jsp/WEB-INF/layouts/default/payment/authorizeNetCIMAPIPaymentForm.jsp
/WEB-INF/layouts/default-html5/customer/authorizeNetManageProfilesServerToServer.jsp/WEB-INF/layouts/default/payment/authorizeNetCIMAPIOnly.jsp
/js/softslate/authorizeNetManageProfilesServerToServer.js/js/cim/cim_api.js
/js/vendor/IFrameCommunicator.html/js/cim/IFrameCommunicator.html
/js/softslate/empty.html/js/cim/empty.html
authorizeNetAllowManageProfiles settingauthorizeNetCIMManageProfiles setting
authorizeNetAllowDeleteProfiles settingauthorizeNetCIMAllowDeletePayments setting
requestScope.authorizeNetProfilesOnAndEnabled variablerequestScope.useCIM variable
Use request.authorizeNetProfilesOnAndEnabled and settings.map.authorizeNetIntegrationMethod eq 'ServerToServer'request.useCIMAPI variable
requestScope.paymentProfilesrequestScope.cimPaymentProfiles
requestScope.accountHostedPageTokenrequestScope.cimAccountToken

In addition, the following JSP page has been modified for the new Authroize.net integration. If you have made customizations to them, and you use Authorize.net, you should incorporate the new changes into your customizations:

The Authorize.net integration has been thoroughly revamped and upgraded. As part of this, the way the system represents whether or not Accept.js is being use has changed. After upgrading, you must save the Authorize.net settings from the Administrator inferface to tell it that you are indeed using Accept.js. (We explored many options for avoiding this step but to keep the system clean, this is the best way.) After upgrading, under Payment Configuration -> Authorize.net Setting, select "Accept.js" for the "Integration Method" and click Save.

If you have customized paymentForm.jsp, AuthorizeNetForm.java, or CheckoutUtilsImpl.processPayment, you must replace the checks made using using the old setting with the new setting.

In your custom Java classes, replace:

					("1").equals(baseForm.getSettings().getValue("authorizeNetEnableAcceptJS")
					
with:
					("AcceptJS").equals(baseForm.getSettings().getValue("authorizeNetIntegrationMethod")
					
In your custom JSPs replace:
					settings.map.authorizeNetEnableAcceptJS eq '1'
					
with:
					settings.map.authorizeNetIntegrationMethod eq 'AcceptJS'
					

If you have customized orderDetails.jsp you must remove the following code as you upgrade to 3.5.0. The referenced classes no longer exist and the code will produce an exception unless it's removed.

				 ||
					session.getAttribute("validatedPaymentForm") instanceof com.softslate.commerce.customer.payment.authorizeNetCIM.AuthorizeNetCIMForm ||
					session.getAttribute("validatedPaymentForm") instanceof com.softslate.commerce.customer.payment.cresecure.CRESecureForm)
					

And later in the same file:

					  	<% if (session.getAttribute("validatedPaymentForm") instanceof com.softslate.commerce.customer.payment.authorizeNetCIM.AuthorizeNetCIMForm) { %%gt;
							<c:set var="toUseCardPhrase" value=""/%gt;
							<c:catch var="exception"%gt;
								<c:set var="toUseCardPhrase"%gt;<bean:message key="order.cimCardToBeUsed" bundle="/order" /%gt; ${sessionScope.validatedPaymentForm.creditCardNumberDisplay}</c:set%gt;
							</c:catch%gt;
							<c:if test="${!empty exception}"%gt;
								<c:set var="toUseCardPhrase" value=""/%gt;
							</c:if%gt;
							<c:out value="${toUseCardPhrase}" escapeXml="false"/%gt;
							${exception}
					  	<% } %%gt;
					  	<% if (session.getAttribute("validatedPaymentForm") instanceof com.softslate.commerce.customer.payment.cresecure.CRESecureForm) { %%gt;
							<c:set var="toUseCardPhrase" value=""/%gt;
							<c:catch var="exception"%gt;
								<c:set var="toUseCardPhrase"%gt;<bean:message key="order.creCardToBeUsed" bundle="/order" /%gt; ${sessionScope.validatedPaymentForm.creditCardNumberDisplay}</c:set%gt;
							</c:catch%gt;
							<c:if test="${!empty exception}"%gt;
								<c:set var="toUseCardPhrase" value=""/%gt;
							</c:if%gt;
							<c:out value="${toUseCardPhrase}" escapeXml="false"/%gt;
							${exception}
					  	<% } %%gt;
					

If you have customized the backend customer registration process, please note it has been refactored. (Business logic has been moved from the DAO to the BusinessProcessor where it belongs). In particular, if you have overridden any of the following methods, please review the changes to ensure your customizations are not lost:

With the upgrade to 3.5.0, if you are also removing files that are no longer part of the distribution, you must remove compiled JSP servlets that the application server has compiled. With Tomcat this is done by cleaning out the work directory where the JSP files are compiled to. With the upgrade to 3.5.0, the WEB-INF/layouts/default-xhtml directory is being removed, and other templates changed that refered to those templates, thus requiring the compiled JSPs to be removed.

Copyright © 2009-2017 SoftSlate, LLC. All Rights Reserved.

Powered by SoftSlate Commerce

Foraker Design