Aptify e-Business 5.5.2 Release Notes
This topic contains the release notes for Aptify e-Business version 5.5.2. The new features, resolved issues, and notes in Aptify e-Business version 5.5.2 are found in the following sections:
- Important Notes
- New Features
- Resolved Issues
- Configuration Procedures
- New and Modified Compiled Objects
Important Notes
One-Way Cryptographic Hash Security Enhancement
Aptify e-Business 5.5.2 introduces a one-way cryptographic hash function to improve the security of password changes for the application. The one-way cryptographic hash function turns the password into a fixed string of digits, which makes it nearly impossible to derive the original password text from the string. The AptifySecurityKey object was updated to support the one-way cryptographic hash function, while maintaining support for the existing two-way cryptographic encryption methodology. There were also changes made to the EbusinessLogin object and the code behind for the user controls related to the login process.
The Aptify one-way cryptographic hash function uses the SHA 512 Secure Hash Standard. For more information on the SHA 512 Secure Hash Standard, see FIPS PUB 180-4:
When a Web User enters his/her password in the e-Business login control, the system encrypts that password using the same encryption approach and then the hashed value is compared with the value stored in the database. If they are the same, the login is successful.
Note that while you can continue to set and overwrite passwords, one-way hash encrypted Web User passwords cannot be decrypted once set. This means that neither staff nor members will be able to retrieve an existing password. To set a password that a user has forgotten, use the new password reset feature (which generates a 24-hour temporary password).
The one-way cryptographic hash function is the default security methodology for full installations of e-Business 5.5.2. This includes database updates to include a TemporaryPWD field, add a new Security Key, and an update to the security key in the Webuser entity fields.
Users that upgrade to e-Business 5.5.2 maintain their existing two-way cryptographic encryption, but have the option to change to the one-way cryptographic encryption after the upgrade is complete. See Configuring One-Way Cryptographic Hash for instructions.
Aptify e-Business 5.5.2 updates the LoginSF4.ascx.vb ,Login.ascx.vb, and profile.ascx.vb files to ensure that existing users are able to log on as expected after the security methodology is changed from two-way to one-way encryption.
Important Notes
- To support single sign on with Sitefinity while using a one way hash encrypted password, you must set the Sitefinity site's to use Forms Authentication.
- In an upgraded environment, once you have converted Web User passwords to a one way hash, you will not be able to retrieve them.
- Do not rotate your one way hash key – changing the key will prevent users from logging into the system since the hash of the passwords they enter will not match the hash stored in the database.
(Issue 17790)
Forgot Password Retrieve with 24-Hour Temporary Password Sent via Email
In addition to the introduction of the one way hash implementation in Aptify e-Business 5.5.2, this release also includes a new password reset functionality to provide customers with the ability to randomly generate a temporary password and automatically email the temporary password to a user's registered email address. This allows for secondary validation of the web user identity by forcing the password reset through the registered email address in the Web Users record.
When the new ForgotUID control is included on an e-Business site, a user who forgets his or her password is prompted to enter the User Name. Then, the system sends the generated temporary password to the email address associated with that user name. You can also optionally require the user to enter the password hint answer before sending the temporary password. The temporary password is valid for 24 hours from the time it was generated. After logging in to e-Business with the temporary password (within the 24 hour window), the user is prompted to reset his/her password.
The ForgotUI control includes three new properties to control this feature:
- AutomaticPasswordResets: Set this property to True to enable the automated password reset functionality. Aptify strongly recommends that you set this to True in conjunction with deploying e-Business 5.5.2 and the updated ForgotUID control. Note that you do can adopt this feature at any time, even if you are not yet ready to convert to one way hash encrypted passwords.
- PasswordQuestionsEnabled: Set this property to True to require a user to enter his/her password hint answer before sending the temporary password to the email address associated with the user account specified. If you do not want to require the user to enter the hint answer, set this property to False. When set to False, the system will send the generated temporary password to the email address associated with the user account specified without requiring additional verification.
- passwordResetEmailProcessFlowName: This property identifies the process flow responsible for sending the generated temporary password to the email address associated with the provided user account. By default, it is set to Send eBusiness User Password Reset, which is the process flow Aptify provides by default with this functionality. If you want to change the process flow responsible for sending the email, specify the name of that new process flow for this property.
For more information on configuring these parameters can be found in Configuring One-Way Cryptographic Hash. Additional information on these parameters and the Aptify_UC_Navigation file can be found in the "User Control Development" section in the Working With an e-Business Site chapter of the Aptify-e-Business 5.5.2 Developers Guide.
(Issues 17790, 19941, and 20015)
Support for Responsive Design
Aptify e-Business 5.5.2 includes updated sample sites that illustrate how e-Business user controls can be used in a responsive web site whose design changes based on the browsing device or window size. This release includes an update to the front end for all user controls and new style sheets to implement the responsive design behavior.
ICE Site Based on Sitefinity 7.1
The International Coffee Executives (ICE), which is one of the sample sites included with e-Business 5.5.2, is based on Sitefinity 7.1 (Sitefinity version 7.1.5200).
Note that new versions of Sitefinity come out quarterly and sometimes more frequently than that. Aptify will support organizations who want to use a later version of Sitefinity than 7.1, however, the ICE starter site is tied to that version. Organizations that want to use the ICE starter site to begin development should start with Sitefinity 7.1 and then upgrade it to a newer version of Sitefinity by following Sitefinity's recommended upgrade path (the Sitefinity project manager includes an option that will update an older site to the current version). Below is an outline of the process to follow:
- Install Sitefinity 7.1.
- Install e-Business ICE site on Sitefinity 7.1 following the steps in the Installing the e-Business Sitefinity Sample Site.
- Install the newer version of Sitefinity.
- Follow Sitefinity's instructions to upgrade a site from 7.1 to the current version.
Clients who want to use e-Business controls but do not want to base their development on the starter site can go directly to their desired version of Sitefinity (Sitefinity 7.1 is not required in this case – you only need 7.1 if using the ICE site).
Aptify understands that clients frequently want to use a newer version of Sitefinity, so as long as an organization follows one of the upgrade paths defined above (i.e., with or without the sample site), Aptify will support the latest version of Sitefinity, even if it has not been formally tested in conjunction with an e-Business release. (Issues 19651 and 18505)
e-Business 5.5.2 Support on Aptify 5.5.1 or 5.5.2
The e-Business 5.5.2 setup programs can be run against a database running Aptify 5.5.1 or Aptify 5.5.2. The default installation path assumes that Aptify 5.5.2 or later is installed. However, the setup programs also work for Aptify 5.5.1.
However, if you install the e-Business 5.5.2 database components to Aptify 5.5.1 and you install an e Business 5.5.2 starter site, the site will fail to load due to a version mismatch for NewtonsoftJson.dll (Aptify 5.5.2 deploys an updated version of this DLL which will not exist if your database is running Aptify 5.5.1). If you encounter this error, follow these steps to resolve the issue and load the ICE site:
- Open the web site's web.config in a text editor.
Locate the dependentAssembly element for Newtonsoft.Json, as shown below:
<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly>
Comment out or delete this dependent assembly binding. To comment out the element, add <!- to the start of the element and -> to the end, as shown below:
<!--<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly>-->
- Save and close the web.config file.
- Restart IIS.
Support for Current Browsers, Including Microsoft Internet Explorer 11
Aptify e-Business 5.5.2 has been tested with all current browsers, including Google Chrome, Mozilla Firefox, Apple Safari, and Microsoft Internet Explorer 11. Note that the sample sites include a new Ebusiness.browser file (in a folder named App_Browsers) to ensure that the sample sites behave as expected when working with Microsoft Internet Explorer 11. (Issue 20001)
Support for Google Maps JavaScript API version 3
Aptify e-Business 5.5.2 supports use of Google Maps JavaScript API v3. If you are upgrading from Google Maps JavaScript API v3, use the instructions on the page below to obtain an API key for Google Maps JavaScript v3, and use that key in the Aptify UC Navigation file.
https://developers.google.com/maps/documentation/javascript/v2/v2tov3
New Features
The following new features are included with Aptify e-Business 5.5.2:
- Framework
- Add Option to Verify Addresses with Melissa Data
- Support RadGrid Options for Responsive Design
- Remove Search Box and Place on Search Page
- Update Header When ICE Site Viewed in Phone Size
- Update Login Assembly so Encryption Key Is Not Hard Coded
- Update the User Control Generator to Generate DIVs Rather than Tables
- Update User Controls to Increase Flexibility
- Website Menu Should Collapse to Three Line (Burger) Menu on a Mobile Device
Customer Service
The following new feature in Customer Service controls is included in Aptify e-Business 5.5.2.
Add Option to Show Featured Product to Web User Who Purchased Product and Then Cancelled Purchase
Aptify e-Business 5.5.2 adds an option to continue showing a featured product to a web user even when a person purchased a featured product but later cancelled that purchase (so effectively, they are back to not having purchased it). To support this functionality, Aptify e-Business 5.5.2 updates the Product Catalog user control and includes a new stored procedure to retrieve the set of feature products to display for a particular web user. By default, e-Business uses this new baseline stored procedure (called spGetFeaturedProductsWeb), but an organization can modify the feature products logic by writing its procedure. To specify this new logic, update the value of the GetFeaturedProductsStoredProcedure attribute found on the Web Shopping Cart entity with the name of the organization-specific stored procedure. (Issue 18891)
Framework
The following new Framework application features are included in Aptify e-Business 5.5.2:
Add Option to Verify Addresses with Melissa Data
Aptify e-Business 5.5.2 includes a new optional button on the Profile control to verify a provided address using Melissa Data's Web Service-based address verification system. The user experience is similar to what employees see when verifying an address in the staff interface. The Verify Address option is enabled or disabled by setting a parameter for the Profile control in the Aptify_UC_Navigation.config file. (Issue 18138)
Support RadGrid Options for Responsive Design
Aptify e-Business 5.5.2 updates the data-form.css file to be responsive to Telerik Radgrid and Radwindow behavior, so that the e-Business web site can automatically change its appearance when the available screen area decreases. (Issue 19167)
Remove Search Box and Place on Search Page
Aptify e-Business 5.5.2 updates the header of the e-Business ICE starter site by removing the Search box and replacing it with a Search button. This change was made to improve the usability of the e-Business site for smaller tablet and smartphone devices. Clicking Search redirects the user to the Search page, where a user can use the Search box to enter search criteria. This helps improve the look in the smaller tablet/phone layouts. (Issue 19315)
Update Header When ICE Site Viewed in Phone Size
Aptify e-Business 5.5.2 updates the layout.css file, data-form.css file, and sample site (ICE site) data to display a different header image for the ICE site when it is displayed on a smartphone or a reduced browser window. (Issue 19384)
Update Login Assembly so Encryption Key Is Not Hard Coded
Aptify e-Business 5.5.2 updates the EbusinessLogin object by replacing references to the hard-coded E Business Login Key with a new parameter, GetEbusinessPasswordHashKey. This change supports the one way hash implementation, and increases flexibility by enabling the use of a different security key for web user password encryption.
An administrator can specify a different key for web user encryption (either a key that uses one way hash or an existing key approach) by following these steps:
- Create the new security key.
- Specify the name of that security key in a new entity attribute for the Web Users entity, named GetEbusinessPasswordHashKey.
Change the security key for the Web Users.PWD and Web Users.Temporary Password fields to match the new key.
Note
If you are switching from a standard key to the one way hash key, you must decrypt the password fields first and then encrypt them as follows:
- Turn off Field Level Encryption for the fields and save the entity.
- Turn on Field Level Encryption again, this time pointing to the new key.
- Update the GetEbusinessPasswordHashKey attribute in the Web Users entity with the appropriate key name.
- Save the entity.
(Issue 19249)
Update the User Control Generator to Generate DIVs Rather than Tables
Aptify e-Business 5.5.2 updates the EntityUserControlGenerator object to generate ascx front-end code to align with the design changes in e-Business user controls, such as DIVs rather than tables and no in-line styling within the control. (Issue 20109)
Update User Controls to Increase Flexibility
Aptify e-Business 5.5.2 updates the front-end ascx file for every user control included with e-Business so they are more flexible and compatible with responsive design principles. Changes include modifying every control to use HTML Div tags in place of Table tags and removing all in-line styling within the controls. Style information is now centralized in a centralized set of CSS files: data_form.css, layout.css, and UC_Profile.css (which are styles specific to the profile control).
These files are available in the ICE site's ..App_Data\Sitefinity\WebsiteTemplates\ICE\App_Themes\ICE\Global folder, the ASP.NET site's ..\App_Themes\Aptify folder and in the updater package's ..\ Web Site Updates\eBusiness\5.5.2 Responsive layout folder.
(Issues 18871, 18935, 18936, 18937, 18938, 18939, 18940, 18941, 18942, 18943, 18944, 18945, 18947, 18948, 18949, 18950, 18951, 18952, and 18953)
Website Menu Should Collapse to Three Line (Burger) Menu on a Mobile Device
Aptify e-Business 5.5.2 updates the website menu control so that when it is displayed on a mobile device, it collapses to a three line menu. These files include navbar.ascx.vb and the data-form.css files for CMS and non-CMS sites. (Issue 19327)
Setup
The following new Setup program features are included in Aptify e-Business 5.5.2:
Create and Deploy Text File to Object Repository to Indicate Software Is Installed
Aptify e-Business 5.5.2 updates the setup program by adding a text file, eBusiness552Installed.txt, that is deployed to the EWA package in the object repository during a 5.5.2 installation. The presence of this text file can be used to confirm that a user ran the setup program on the system. (Issue 19365)
Setup Program Should Not Downgrade GE Objects
Aptify e-Business 5.5.2 updates the setup program to check the version of the Generic Entity and Generic Entity Base objects. If the object versions are already 5.5.2.x or later, the full installer and updater will not overwrite the object. (Issue 20002)
Support Starter Site Name of Something Other Than Ebusiness
Aptify e-Business 5.5.2 updates the setup program to allow the user to specify a name for the e-Business ICE starter site that is something other than "Ebusiness". In previous releases, the setup program required that the starter site be named "Ebusiness". (Issue 19363)
Resolved Issues
The following issues have been resolved in Aptify e-Business 5.5.2:
- Framework
- Add Security Related Code to the Web Config to Secure Uploads
- Component Upgrade Issue with spGetItemRatingByTypeAndItem Database Object
- Object Sync Repository Does Not Update ShoppingCart dll When Updating to Current Release
- Improve UserCredentials Object Creation in GetLoginCredentials
- Installer Fails When the Target System Has the Company Administrator Function Already
- Persons.ExternalAccountProfileURL Virtual Field Calculation Can Generate an Error
- Possible Performance Issue within BaseUserControlAdvanced.ApplyStyles
- Additional Security Added to Sitefinity Integration WebService
- Sitefinity Index Issue When e-Business Login Control Is on the Page
- Suppress Thread Was Being Aborted Event Log Errors on Billing Page
- Update AptifyWebUserLogin InternalLogin Call to spLoginUser to Use Parameterized SQL
- Update Controls to Support Configurations
- Web Menu Does Not Work on Tablets
- Online Ordering
- Order Line Information Is Not Populated On Subscription Product When Web User Logs In Later After Adding it to the Cart
- Order Source Hardcoded to Web in e-Business Shopping Cart Object
- Preferred Currency Price is Not Updated in the Cart after Logging In
- Order Does Not Proceed When Payment Types Set with Filters on Organization Record
Ship To Phone Number Not Shown on Order Confirmation When User Places the Order from the Website
- Update Shopping Cart to Support Backwards Compatibility
Chapter Management
The following issue was resolved in the Chapter Management controls as part of Aptify e-Business 5.5.2.
Add ChapterAssignmentRules.dll to the e-Business Sync Repository Objects Record
In Aptify e-Business 5.5.1, the ChapterAssignmentRules.dll object is missing from the e-Business Sync Repository Objects record and not added automatically to an e-Business site's bin folder. This can generate an error on sites that automatically assign members to chapters based on a set of assignment rules. Aptify e-Business 5.5.2 updates the setup program to ensure that the object is deployed. (Issue 19419)
Framework
The following issues were resolved in the Framework application as part of Aptify e-Business 5.5.2.
Add Security Related Code to the Web Config to Secure Uploads
In the current version of Aptify e-Business, there is an issue where the files uploading by a user may not be secure. Aptify e-Business 5.5.2 updates the web.config file to ensure that the permissions for the user uploads folder in the CMS and non-CMS site is set to read only and prevent the execution of malicious code. (Issue 19452)
Component Upgrade Issue with spGetItemRatingByTypeAndItem Database Object
Aptify e-Business 5.5.1 has an issue in the component upgrade setup program, where the setup may try to create the spGetItemRatingByTypeAndItem database object twice. Aptify e-Business 5.5.2 updates the component upgrade setup program to check whether the database object is already present before unpacking the object a second time. (Issue 18578)
Object Sync Repository Does Not Update ShoppingCart dll When Updating to Current Release
In Aptify e-Business 5.5 and 5.5.1, there is an issue where after running the synchronization tool, the ShoppingCart.dll was not updated to the latest version in the e-Business bin folder. Aptify e-Business 5.5.2 updates the installer tool to ensure that the latest DLLs are installed as expected. (Issue 18501)
Improve UserCredentials Object Creation in GetLoginCredentials
The GetLoginCredentials method in AptifyWebGlobal is used in e-Business to login to Aptify as the e-Business User. It first checks to see if the current session has an instance of the UserCredentials object. If it does, it uses it and no further processing is required. If there is no UserCredentials object returned from the session, the AptifyLogin object is used to create a UserCredentials object using its Login method. Upon successful login, the UserCredentials object is stored in the session object. If an exception is thrown while checking the session object, an alternate path is used to create a UserCredentials object, which bypasses the AptifyLogin object and ignores configuration attributes that can be used to configure the AptifyLogin object and UserCredentials object, like the Application Name and Connection Pool Max Size.
Aptify e-Business 5.5.2 updates the login process so that the altnerative path described above uses the ApplicationName and Connection Pool Max Size from the AptifyLogin object when creating the UserCredentials object. (Issue 17293)
Installer Fails When the Target System Has the Company Administrator Function Already
Aptify e-Business 5.5.1 has an issue where the installer fails when the target system already has the Company Administrator function configured. Aptify e-Business 5.5.2 updates the installer so that when the system has the Company Administrator function already configured, the installer detects this, does not add it, and continues with the installation. (Issue 19420)
Persons.ExternalAccountProfileURL Virtual Field Calculation Can Generate an Error
Aptify e-Business 5.5.1 and earlier has an issue where the calculation in the Persons.ExternalAccountProfileURL Virtual Field can return more than one result when a Web User is linked to more than one External System, causing the Persons Base View to throw an error and not return any results. Aptify e-Business 5.5.2 updates the Virtual Field in the Persons Entity, ExternalAccountProfileURL, to improve the calculation so that it can return, at most, one record. It also updates the system to return the information from the Active External System record with a SystemID of 'LinkedIn'. These changes ensure the correct information is returned when the Person is linked to multiple External Systems. (Issue 19342)
Possible Performance Issue within BaseUserControlAdvanced.ApplyStyles
In Aptify e-Business 5.5.1, a possible performance issue was identified within the ApplyStyles sub routine that could lead to a recursive loop / error condition. Aptify e-Business 5.5.2 updates the ApplyStyles sub routine in the BaseUserControlAdvanced DLL file to properly increment the loop counter. (Issue 19406)
Additional Security Added to Sitefinity Integration WebService
With e-Business 5.5.1 and earlier, the Web Service Aptify uses to synchronize Sitefinity users with Aptify Web Users does not validate the permissions of the user who calls it. Therefore, it may be possible for an unauthorized individual to add Sitefinity users to groups that have advanced permissions, like the Admin group. Beginning with Aptify e-Business 5.5.2, the Aptify/Sitefinity integration web service now requires and validates Sitefinity administrator credentials before performing any operation. This login information should already be available in the Sitefinity Content Management Systems record within Aptify, so no user intervention is required. (Issue 17549)
Sitefinity Index Issue When e-Business Login Control Is on the Page
When Aptify e-Business 5.5.1 and Sitefinity, some customers have reported that the Sitefinity index functionality does not work when the e-Business login control is present on that page. Aptify e-Business 5.5.2 updates the e-Business login assembly to ensure that the control does not inhibit the Sitefinity index process. Note that Aptify recommends that you add keywords to your pages to assist with the Sitefinity index process. Refer the Sitefinity documentation on indexing for more information. (Issue 10935)
Suppress Thread Was Being Aborted Event Log Errors on Billing Page
When working with a site running e-Business 5.5.1 or earlier, there are many "Thread was being aborted." errors logged to the event viewer when browsing the site and completing the checkout process. These are benign errors that do not have a functional impact. Aptify e-Business 5.5.2 suppresses these errors so they do not unnecessarily appear in the Event Viewer. (Issue 18632)
Update AptifyWebUserLogin InternalLogin Call to spLoginUser to Use Parameterized SQL
In Aptify e-Business 5.5.1, the InternalLogin method within the AptifyWebUserLogin class calls the stored procedure spLoginUser by building the SQL statement by appending parameter values to a string. Two of the parameters are strings that are passed into the method. The string parameters are enclosed in quotes and the string parameters are encoded before being appended and so, not vulnerable to SQL injection, but it is not a best practice method to prevent SQL injection. Aptify e-Business 5.5.2 updates the InternalLogin method to use a best practice to prevent SQL injection, using parameterized SQL. (Issue 19380)
Update Controls to Support Configurations
In Aptify e-Business 5.5.1, there are a set of controls that work in the sample site, but cause problems in implementations, based on the order in which certain functions are called when a page is opened. The NeedDatasource event of grid fires every time page load or page is postback from server even before page load event. The normal practice we follow is that we call LoadGrid() function on Page_Load Event for first time only and then save that DT in ViewState(DT). In NeedDatasource event we check if ViewState(DT) is not nothing then assign dt to Grid Datasource. Because of NeedDatasource event fire before page load event, properties were not initialized that was required for LoadGrid() function.
Aptify e-Business 5.5.2 modifies code to for the following user controls to resolve this situation:
- ReviewAbstracts.ascx.vb
- AddMembers.ascx.vb
- Chapter.ascx.vb
- ChapterOfficers.ascx.vb
- ChapterProximitySearch.ascx.vb
- ChapterSearch.ascx.vb
- MyChapters.ascx.vb
- CommitteeListing.ascx.vb
- MyCommittees.ascx.vb
- MakePayment.ascx.vb
- OpenCart.ascx.vb
- OrderHistory.ascx.vb
- Renewals.ascx.vb
- SavedPaymentMethods.ascx.vb
- ClassRegistration.ascx.vb
- InstructorAuthorizedCourses.ascx.vb,
- InstructorClasses.ascx.vb
- InstructorStudents.ascx.vb
- MyCertifications.ascx.vb
- MyCourses.ascx.vb
- ViewClass.ascx.vb
- ViewCourse.ascx.vb
- ForumSubscription.ascx.vb
- CreateMessage.ascx.vb
- Message.ascx.vb
- Search.ascx.vb
- ChangePassword.ascx.vb
- AdminOrderDetail.ascx.vb
- CompanyMembership.ascx.vb
- DirectoryMember.ascx.vb
- EditBadgeInformation.ascx.vb
- MemberCertifications.ascx.vb
- ManageMyGroup.ascx.vb
- MembershipExpireStatus.ascx.vb
- Default.ascx.vb
- Search.ascx.vb
- Meeting.ascx.vb
- MeetingsHome.ascx.vb
- FindProduct.ascx.vb
(Issue 17472)
Web Menu Does Not Work on Tablets
In Aptify e-Business 5.5.1, the Web Menu does not work on tablet devices, such as an Apple iPad. Aptify e-Business 5.5.2 updates the navbar control so that the Web Menu works as expected on tablet devices. (Issue 19043)
Education
The following issue was resolved in the Education Management application by Aptify e-Business 5.5.2.
Class Registration Page Should Show a Message if Pre-requisite Exists for the Course
In Aptify e-Business 5.5.1, when a user attempts to register for a course that has a product prerequisite that the user does not satisfy, the user is unable to register for the course, but no message is displayed to the user to explain why the process failed. Aptify e-Business 5.5.2 updates the View Class user control to show the product's Web Prerequisite Failure Message, which explains to the web user why the registration process failed. (Issue 17936)
Meetings
The following issue was resolved in the Meeting Management applicationas part of Aptify e-Business 5.5.2.
When Registering on the Web Product Prerequisites Message Does Not Appear for a Meeting
In Aptify e-Business 5.5.1, if you try to register for a meeting and you do not meet the product prerequisites, nothing happens when you click Proceed to Checkout. This happens even for a top level meeting. An Object Reference error is logged in the event viewer. Aptify e-Business 5.5.2 updates the e-Business user controls to display the Web pre-requisites error message if the user does not qualify to order the meeting or any of the sessions. (Issue 18313)
Online Ordering
The following issues were resolved in the Online Ordering controls as part of Aptify e-Business 5.5.2.
Order Line Information Is Not Populated On Subscription Product When Web User Logs In Later After Adding it to the Cart
Aptify e-Business 5.5.1 has an issue where when a user adds a membership product in the shopping cart without logging into the website and tries to process the order, the Recipient and description on the order line is not populated because the user added the product first and then logged in. Aptify e-Business 5.5.2 updates the system to require that a user login before adding a product to the cart. (Issue 18752)
Order Source Hardcoded to Web in e-Business Shopping Cart Object
In Aptify e-Business 5.5.1 and earlier, an order placed on-line has its Order Source set to Web. This setting is hardcoded within the e-Business shopping cart assembly and cannot be changed. Aptify e-Business 5.5.2 updates the shopping cart object so it looks to an entity attribute to determine what Order Source to use for orders placed over the e-Business site. By default, the Order Source continues to be Web, but an organization can now change it as needed by following these steps:
- Create the Order Sources record for the order source value you want to use, if it does not already exist.
- Open the Web Shopping Carts entity.
- Click the Configuration > Attributes tab.
- Open the Order Source attribute.
- Update the Value to use the name of the Order Source that you want applied to orders placed over e-Business.
- Save and close the Web Shopping Carts entity.
- Clear the e-Business site's cache or restart IIS for the changes to take effect.
Note that if the Order Source attribute is not specified or is missing from the Web Shopping Carts entity, orders placed over e-Business will use the default Order Source identified in the Orders entity definition.
(Issue 18404)
Preferred Currency Price is Not Updated in the Cart after Logging In
In Aptify e-Business 5.5.1, if a user adds a product in the shopping cart without logging-in, it displays the default currency price and after checkout, if the user logs in, it does not change the price as per person's preferred currency type. Aptify e-Business 5.5.2 updates the system to re-evaluate the shopping cart once the web user logs in, and the information is changed as per the logged in person. (Issue 18753)
Order Does Not Proceed When Payment Types Set with Filters on Organization Record
In Aptify e-Business, payment types can be filters to be used by certain organizations. When an order or payment is created, the payment type is validated against a list of organizations filters. The filters are enforced when the parent entity contains an OrganizationID field. When the payment type is not valid for the organization, validation fails, however detailed error information is not provided. Because of this, it can be difficult to identify that an invalid Payment Type is responsible for the validation failure. Aptify e-Business 5.5.2 updates the validation logic to include a descriptive message and an informative message is displayed to the web user when the payment type is not valid. Note that it is up an administrator to ensure the organization and payment types are valid for the e-Business site. (Issue 18601)
Ship To Phone Number Not Shown on Order Confirmation When User Places the Order from the Website
Aptify e-Business 5.5 and e-Business 5.5.1 has an issue where the Ship To phone number is not appearing when a user places an order from the website. Aptify e-Business 5.5.2 updates the stored procedure to resolve this issue to ensure that the phone number is displayed as expected. (Issue 17800)
Update Shopping Cart to Support Backwards Compatibility
In Aptify e-Business 5.5.1, a change to the signature of the RemoveItems() function in the Shopping Cart object broke compatibility with existing Shopping Cart configurations. Aptify e-Business 5.5.2 updates the ShoppingCart DLL file to restore backwards compatibility for configurations created in earlier versions of the Shopping Cart object. (Issue 18470)
Products
The following issue was resolved in the Product controls as part of Aptify e-Business 5.5.2.
Kit Product: Attendee Information Is Not Displayed on the Meeting Registration Page
In Aptify e-Business, there is an issue where if a kit product has a meeting as a sub -product, upon adding this product to the shopping cart, the Meeting Registration page does not display the attendee information. Aptify e-Business 5.5.2 updates the Product.ascx user control to ensure that the attendee information for the kit product is displayed on the Meeting Registration page as expected. (Issue 18747)
Configuration Procedures
This section contains procedures that can be run on your e-Business environment to configure specific functionality after you complete an upgrade to Aptify e-Business 5.5.2.
Configuring One-Way Cryptographic Hash
The one-way cryptographic hash function, introduced in this release, turns the password into a fixed string of digits, which makes it nearly impossible to derive the original password text from the string. Beginning with e-Business 5.5.2, new e-Business installations will use one-way hash encryption to secure Web User passwords by default.
However, customers who upgrade to this release must perform the following steps if they want to take advantage of the security benefits of one-way cryptographic hashing.
IMPORTANT!
- Backup your Aptify database before starting.
- Log in to Aptify as a user with system administrator permissions.
- Open the Web Users entity (Framework > Entities, then search for Web Users).
- Open the record for the PWD field.
- On the Security tab, clear the Encrypt Data option and click OK.
- Open the TemporaryPWD field.
- On the Security tab, clear the Encrypt Data option and click OK.
- Save the Web Users entity.
- Note that this will decrypt all of the Web User passwords in the database. This is only temporary until you reencrypt them with the one-way hash key.
- Open the PWD field again.
- On the Security tab, select the Encrypt Data option.
- In the Security Key field, enter E Business Login Key - One Way Hashing (this is the new one way hash key added by the e-Business 5.5.2 installation program).
- Click OK to save and close the Fields record.
- Open the TemporaryPWD field again.
- On the Security tab, select the Encrypt Data option.
- In the Security Key field, enter E Business Login Key - One Way Hashing.
- Click OK to save and close the Fields record.
- Click the Configuration > Attributes tab.
- Open the GetEbusinessPasswordHashKey attribute. This attribute identifies the key that you use for Web User password encryption.
- Update the Value to use the one-way hash key (E Business Login Key - One Way Hashing).
- Click OK to save and close the attribute.
- Save the Web Users entity.
- The Web User passwords will be encrypted using the one-way hash key. Once complete, you will not be able to retrieve these passwords.
- Close the Web Users entity when the entity save process is finished.
- In your e-Business site, confirm that you have updated your site's controls to leverage the new encryption functionality by adopting the e-Business 5.5.2 version of those controls or by applying the e-Business 5.5.2 updates to your existing controls. This includes the following controls:
- Login control (or the LoginSF4 control, if you are using Sitefinity)
- ForgotUID control
- ChangePassword control
- Profile control
- Open the web config file, Aptify_UC_Navigation.config, in a text editor. The default location for the file is c:\inetpub\wwwwroot\ebusiness.
- Confirm that the entry for the ForgotUID control includes the three new properties related to the Password Reset functionality. See Forgot Password Retrieve with 24-Hour Temporary Password Sent via Email for details.
- Save the Aptify_UC_Navigation.config file and close the text editor.
- Restart IIS to ensure that the new settings take effect on the e-Business site.
- Perform tests to confirm that existing Web Users can still log in to the e-Business site and that new Web Users can create profiles and set their passwords.
Configuring e-Business to Leverage Shopping Cart Improvements
These instructions apply to upgrades from e-Business 5.5 or earlier to e-Business 5.5.2. If you are already running e-Business 5.5.1, you can review your site's user controls to confirm that you have already implemented these shopping cart improvements.
In Aptify e-Business 5.5.1, the EbusinessShoppingCart.dll was updated to improve the performance of the overall shopping cart checkout process to address Issue 19159. To take advantage of the performance enhancements to the e-Business shopping cart, you must manually update several user controls on your website. Perform the procedures in the sections below to leverage the changes made to the EbusinessShoppingCart object.
- STEP 1 - Run the e-Business 5.5.2 Upgrader
- STEP 2 - Run the Object Repository Synchronizer to Sync e-Business Objects
- STEP 3 - Billing Control Changes
- STEP 4 - CartGrid User Control Changes
- STEP 5 - Product User Control Changes
- STEP 6 - ViewCart User Control Changes
- STEP 7 - MeetingRegistration User Control Changes
- STEP 8 - Verify the New Functionality
STEP 1 – Run the e-Business 5.5.2 Upgrader
If you have not already, run the e-Business 5.5.2 upgrader to install e-Business 5.5.2 schema to the database and update the e-Business objects in the Object Repository. See the Running the Object Repository Synchronizer for details.
STEP 2 – Run the Object Repository Synchronizer to Sync e-Business Objects
After the e-Business 5.5.2 updates are successfully applied to the database by the updater, run the Aptify Object Repository Synchronizer to download the updated e-Business objects to the e-Business Web site. See the Running the Object Repository Synchronizer for details.
To minimize the number of files in your e-Business site's Bin folder, choose the Specify a Sync Repository Objects Record option in the utility and select e-Business from the Object Name drop-down list (assuming you have not created your own Sync Repository Objects record for your site).
STEP 3 – Billing Control Changes
This step describes how to update the current version of the Billing Control so that it can interact with the e-Business 5.5.2 shopping cart. Modifications to the existing control are highlighted. Inline comments for clarification appear in blue – do not apply the blue comments to the code.
- Open the BillingControl.ascx.vb file from your web site in a text editor or in Visual Studio. Typically this control is located in the site's UserControls\Aptify_Product_Catalog folder.
- Add this line of code to the end of the import area section at the top of the file:
- Imports Aptify.Applications.OrderEntry
- Locate the Page_Load event in the file.
Comment out or remove the CheckOrderDetails() line and replace it with RefreshGrid(), as shown below:
Replace the following code:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'set control properties from XML file if needed SetProperties() If Not IsPostBack Then 'CheckOrderDetails() LoadControls() End If End Sub
With the following code:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'set control properties from XML file if needed SetProperties() If Not IsPostBack Then RefreshGrid() LoadControls() End If End Sub
- Locate the CheckOrderDetails() function.
In CheckOrderDetails(), replace this code:
Private Sub CheckOrderDetails() Try If ShoppingCart1.GetOrderObject(Session, Page.User, Application).SubTypes("OrderLines").Count > 0 Then_
With the following code:Private Sub CheckOrderDetails(ByVal oOrder As AptifyGenericEntityBase) Try If oOrder.SubTypes("OrderLines").Count > 0 Then
- Locate the LoadBillAddress() function.
In LoadBillAddress(), add the new parameter oOrder byVal and comment out the first two lines after the Try statement:
Private Sub LoadBillAddress(ByVal oOrder As AptifyGenericEntityBase) Try 'Dim oOrder As AptifyGenericEntityBase 'oOrder = CartGrid2.Cart.GetOrderObject(Session, Page.User, Application)
- Locate the LoadControls() function.
In LoadControls(), call CheckOrderDetails(oOrder) and LoadBillAddress(oOrder), passing in the Order object. The code should match the following:
Private Sub LoadControls() Dim oOrder As AptifyGenericEntityBase Try oOrder = ShoppingCart1.GetOrderObject(Session, Page.User, Application) CheckOrderDetails(oOrder) LoadCreditCardInfo(oOrder) LoadBillAddress(oOrder)
- Locate the ShowBillMeLater() function.
In ShowBillMeLater(), replace this code:
Private Sub ShowBillMeLater() Dim iPrevPaymentTypeID As Integer Dim iPOPaymentType As Integer = 0 Dim sError As String Dim oOrder As Aptify.Applications.OrderEntry.OrdersEntity Try If Not String.IsNullOrEmpty(AptifyApplication.GetEntityAttribute("Web Shopping Carts", "POPaymentTypeID")) Then iPOPaymentType = CInt(AptifyApplication.GetEntityAttribute("Web Shopping Carts", "POPaymentTypeID")) End If Dim dr As Data.DataRow = User1.CompanyDataRow CreditCard.UserCreditStatus = CInt(User1.GetValue("CreditStatusID")) CreditCard.UserCreditLimit = CLng(User1.GetValue("CreditLimit")) oOrder = ShoppingCart1.GetOrderObject(Session, Page.User, Application)
With the following code:Private Sub ShowBillMeLater(ByVal a_oOrder As AptifyGenericEntityBase) Dim iPrevPaymentTypeID As Integer Dim iPOPaymentType As Integer = 0 Dim sError As String Dim oOrder As Aptify.Applications.OrderEntry.OrdersEntity Try If Not String.IsNullOrEmpty(AptifyApplication.GetEntityAttribute("Web Shopping Carts", "POPaymentTypeID")) Then iPOPaymentType = CInt(AptifyApplication.GetEntityAttribute("Web Shopping Carts", "POPaymentTypeID")) End If Dim dr As Data.DataRow = User1.CompanyDataRow CreditCard.UserCreditStatus = CInt(User1.GetValue("CreditStatusID")) CreditCard.UserCreditLimit = CLng(User1.GetValue("CreditLimit")) oOrder = CType(a_oOrder, OrdersEntity)
- Locate the LoadCreditCardInfo() function.
In LoadCreditCardInfo(), update the ShowBillMeLater() call to pass in the Order object as a parameter:
Private Sub LoadCreditCardInfo(ByVal oOrder As AptifyGenericEntityBase) Try 'RashmiP, Issue 6781, 09/20/10, to show bill me later option button in credit card uc ShowBillMeLater(oOrder)
- Locate the cmdPlaceOrder_Click() event.
In cmdPlaceOrder_Click(), update the code so that it matches the following:
Private Sub cmdPlaceOrder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPlaceOrder.Click Dim lOrderID As Long, sError As String Dim oOrders As OrdersEntity oOrders=ShoppingCart1.GetOrderObject(Session, Page.User, Application) Try With oOrders
- Save and close BillingControl.ascx.vb.
STEP 4 – CartGrid User Control Changes
This step describes how to update the current version of the e-Business CartGrid Control so that it can interact with the e-Business 5.5.1 shopping cart. Modifications to the existing control are highlighted. Inline comments for clarification appear in blue – do not apply the blue comments to the code.
- Open the CartGrid.ascx.vb file from your web site in a text editor or in Visual Studio. Typically this control is located in the site's UserControls\Aptify_Product_Catalog folder.
- Locate the UpdateCart() function.
In UpdateCart(), add the highlighted code in the specified location to create the Order object for the shopping cart, pass it to the RemoveItem method of shopping cart, and then call the SaveCart Method at the end of method.
Create the Order object for the shopping cart by updating the code to match the following:
Public Sub UpdateCart() Dim i As Integer, iOffset As Integer = 0 Dim oOrder As AptifyGenericEntityBase oOrder = ShoppingCart1.GetOrderObject(Page.Session, Page.User, Page.Application) Try
Pass the Order object to the RemoveItem method of the shopping cart by updating the code to match the following:
Try Dim lblProductID As Label dQty = CDec(txtQuantity.Text) lblProductID = CType(grdMain.Rows.FindControl("lblProductID"), Label) If dQty = 0 Or chkRemove.Checked = True Then ShoppingCart1.RemoveItem(oOrder, i - iOffset) 'HP Issue#9144: updated the Offset removal based on the total actually removed provided by new property in ShoppingCart
Call the SaveCart method by updating the code to match the following:
Next ' update campaign code if necessary If ShoppingCart1.CampaignCodeID > 0 Then ShoppingCart1.SetOrderCampaign(ShoppingCart1.CampaignCodeName, Page.Session) End If Me.ShoppingCart = ShoppingCart1 SaveCart() Catch ex As Exception
The updated UpdateCart() function should now match the following:
Public Sub UpdateCart() Dim i As Integer, iOffset As Integer = 0 Dim oOrder As AptifyGenericEntityBase oOrder = ShoppingCart1.GetOrderObject(Page.Session, Page.User, Page.Application) Try lblError.Visible = False 'Navin Prasad Issue 11032 For i = 0 To grdMain.Rows.Count - 1 ' Obtain references to row's controls Dim txtQuantity As TextBox = CType(grdMain.Rows.FindControl("txtQuantity"), TextBox) Dim chkRemove As CheckBox = CType(grdMain.Rows.FindControl("chkRemove"), CheckBox) ' Wrap in try/catch block to catch errors in the event that someone types in ' an invalid value for quantity Dim dQty As Decimal Try Dim lblProductID As Label dQty = CDec(txtQuantity.Text) lblProductID = CType(grdMain.Rows.FindControl("lblProductID"), Label) If dQty = 0 Or chkRemove.Checked = True Then ShoppingCart1.RemoveItem(oOrder, i - iOffset) 'HP Issue#9144: updated the Offset removal based on the total actually removed provided by new property in ShoppingCart 'iOffset = iOffset + 1 ' offset tracks how many iOffset = iOffset + ShoppingCart1.TotalItemsRemovedByRemoveItem ' items removed Else 'HP Issue#9144: only update those rows which are not part of a kit and therefore their checkboxes visible 'ShoppingCart1.UpdateQuantity(i, dQty) If Not chkRemove.Visible = False Then ShoppingCart1.UpdateQuantity(i - iOffset, dQty) End If End If Catch lblError.Visible = True lblError.Text = "There has been a problem with one or more of your inputs." End Try Next ' update campaign code if necessary If ShoppingCart1.CampaignCodeID > 0 Then ShoppingCart1.SetOrderCampaign(ShoppingCart1.CampaignCodeName, Page.Session) End If Me.ShoppingCart = ShoppingCart1 SaveCart() Catch ex As Exception Aptify.Framework.ExceptionManagement.ExceptionManager.Publish(ex) End Try End Sub
Save and close CartGrid.ascx.vb.
STEP 5 - Product User Control Changes
This step describes how to update the current version of the e-Business Product Control so that it can interact with the e-Business 5.5.2 shopping cart. Modifications to the existing control are highlighted.
- Open the Product.ascx.vb file from your web site in a text editor or in Visual Studio. Typically this control is located in the site's UserControls\Aptify_Product_Catalog folder.
- Locate the SetProperties() function.
Sub SetProperties(), locate this line:
If String.IsNullOrEmpty(Me.QueryStringRecordIDParameter) Then Me.QueryStringRecordIDParameter = "ID"
Add End If after that line, so it reads:
If String.IsNullOrEmpty(Me.QueryStringRecordIDParameter) Then Me.QueryStringRecordIDParameter = "ID" End If
- Locate the lnkAddToCart_ServerClick event.
Replace the code for the lnkAddToCart_ServerClick event with the code shown below.
Private Sub lnkAddToCart_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkAddToCart.Click Dim sProductPage As String = "" Dim sOrderPage As String = "" Dim oOrder As OrdersEntity Dim bCombineLines As Boolean Dim iQty As Integer Dim lstProductID As List(Of Long) = Nothing Dim bFound As Boolean = False Dim iItemForUpdate As Integer = 0 Try '8/30/06 RJK - Temporarily make Housing Products unavailable. 'This was done because there were issues with Housing purchases not 'creating Housing Reservation Detail records. 'If Not IsNumeric(Request.QueryString("ID")) Then ' Throw New ArgumentException("Parameter must be numeric.", "ID") 'End If Dim strProductType As String = ShoppingCart1.GetProductType(Me.ProductID) If String.Compare(strProductType, "Housing", True) = 0 Then lblAdded.Text = "Housing Products are not supported in this build." lblAdded.Visible = True Else _If String.Compare(strProductType, "Meeting", True) = 0 OrElse __ String.Compare(strProductType, "Housing", True) = 0 Then bCombineLines = False Else bCombineLines = True End If If IsNumeric(txtQuantity.Text) Then iQty = CInt(txtQuantity.Text) Else lblAdded.Text = "Quantity must be numeric" lblAdded.Visible = True Exit Sub End If 'Added by Sandeep for performance Issue oOrder = ShoppingCart1.GetOrderObject(Page.Session, Page.User, Page.Application) lstProductID = ShoppingCart1.CreateProductIDList(oOrder) If lstProductID Is Nothing Then bFound = False iItemForUpdate = 0 Else If lstProductID.Contains(Me.ProductID) Then bFound = True For i As Integer = 0 To lstProductID.Count - 1 If lstProductID = Me.ProductID Then iItemForUpdate = i Exit For End If Next Else If lstProductID.Count = 1 Or lstProductID Is Nothing Then bFound = False iItemForUpdate = lstProductID.Count Else bFound = False iItemForUpdate = lstProductID.Count - 1 End If End If End If 'Anil Issue 14302 If ShoppingCart1.AddToCart(oOrder, Me.ProductID, Me.User1.PersonID, bFound, iItemForUpdate, bCombineLines, , iQty) Then lstProductID = ShoppingCart1.CreateProductIDList(oOrder) If ShoppingCart1.GetProductTypeWebPages(Me.ProductID, sProductPage, sOrderPage) Then 'oOrder = ShoppingCart1.GetOrderObject(Page.Session, Page.User, Page.Application) Session("ProductID") = Me.ProductID If Len(sOrderPage) > 0 Then ShoppingCart1.SaveCart(Page.Session) _Response.Redirect(sOrderPage & "?OL=" & __ oOrder.SubTypes("OrderLines").Count - 1) Else Me.SetTotalCartQty() Session("ProductID") = Nothing End If End If Session("ProductID") = Nothing lblAdded.Text = "Product Added to Cart" lblAdded.ForeColor = Drawing.Color.Blue lblAdded.Visible = True lnkViewCart.Visible = True ShoppingCart1.SaveCart(Page.Session) MyBase.Response.Redirect(GroupingContentsViewProductPage + "?ID=" + Me.ProductID.ToString + "&Val2=" + "Product Added to Cart", False) Else Session("ProductID") = Nothing lblAdded.ForeColor = Drawing.Color.Red lblAdded.Visible = True ''RashmiP, Issue 9511, 09/08/10 RemoveHandler lnkAddToCart.Click, AddressOf lnkAddToCart_ServerClick If ShoppingCart1.WebProdPreRequisiteErrMsg = String.Empty Then lblAdded.Text = "Unable to Add Product" Else lblAdded.Text = ShoppingCart1.WebProdPreRequisiteErrMsg End If lnkViewCart.Visible = False End If End If Catch ex As Exception Aptify.Framework.ExceptionManagement.ExceptionManager.Publish(ex) End Try End Sub
- Save and close Product.ascx.vb.
STEP 6 - ViewCart User Control Changes
This step describes how to update the current version of the e-Business ViewCart Control so that it can interact with the e-Business 5.5.2 shopping cart. Modifications to the existing control are highlighted.
- Open the ViewCart.ascx.vb file from your web site in a text editor or in Visual Studio. Typically this control is located in the site's UserControls\Aptify_Product_Catalog folder.
- Locate the RefreshGrid() function.
In RefreshGrid(), define sCurrencyFormat as a string before the WithCartGrid.Cart line:
Private Sub RefreshGrid() Try CartGrid.RefreshGrid() 'Navin Prasad Issue 11032 If CartGrid.Grid.Items.Count > 0 Then tblRowNoItems.Visible = False cmdUpdateCart.Visible = True cmdCheckOut.Visible = True cmdSaveCart.Visible = True Else tblRowNoItems.Visible = True cmdUpdateCart.Visible = False cmdCheckOut.Visible = False cmdSaveCart.Visible = False divTotals.Visible = False divCampaign.Visible = False 'divhr.Visible = False tblbuttons.Visible = False End If Dim sCurrencyFormat As String With CartGrid.Cart
Still within RefreshGrid() but below the With CartGrid.Cart line, call the GetCurrencyFormat function to assign a value to sCurrencyFormat and update the label definitions to use the variable rather than call the function each time. Change the code to match the following:
Dim sCurrencyFormat As String With CartGrid.Cart sCurrencyFormat = .GetCurrencyFormat(.CurrencyTypeID) lblSubTotal.Text = Format$(.SubTotal, sCurrencyFormat) lblShipping.Text = Format$(.ShippingAndHandlingCharges, sCurrencyFormat) lblTax.Text = Format$(.Tax, sCurrencyFormat) lblGrandTotal.Text = Format$(.GrandTotal, sCurrencyFormat)
Further down in the RefreshGrid() function, locate this line:
SavingMessage = SavingMessage.Replace("{0}", Format$(dSavings, .GetCurrencyFormat(.CurrencyTypeID)))
And replace it with this line:SavingMessage = SavingMessage.Replace("{0}", Format$(dSavings, sCurrencyFormat))
Below the SavingMessage line, locate this line:
lblTotalSavings.Text = "You have saved " + Format$(dSavings, .GetCurrencyFormat(.CurrencyTypeID)) + " in your shopping cart since you are a valued member!"
And replace it with this line:lblTotalSavings.Text = "You have saved " + Format$(dSavings, sCurrencyFormat) + " in your shopping cart since you are a valued member!"
- Save and close Product.ascx.vb.
STEP 7 - MeetingRegistration User Control Changes
This step describes how to update the current version of the e-Business MeetingRegistration Control so that it can interact with the e-Business 5.5.2 shopping cart. Modifications to the existing control are highlighted. Inline comments for clarification appear in blue – do not apply the blue comments to the code.
- Open the MeetingRegistration.ascx.vb file from your web site in a text editor or in Visual Studio. Typically this control is located in the site's UserControls\Aptify_Meetings folder.
- Locate the CleanUpSessions() function.
Update the function definition to add a new parameter for the Orders object, as shown below:
Private Sub CleanUpSessions(ByVal lProductID As Long, ByVal iLine As Integer, ByVal oOrder As OrdersEntity)
In the third line of the CleanUpSessions function, update the RemoveItems() call to use the oOrder parameter, as shown below:
ShoppingCart1.RemoveItem(oOrder, iLine)
- Locate the btnFinish_Click() event.
Update the event logic to create the order object and pass it to RemoveItem() by replacing the code with the following:
Protected Sub btnFinish_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFinish.Click Dim oOrder As Aptify.Applications.OrderEntry.OrdersEntity oOrder = ShoppingCart1.GetOrderObject(Page.Session, Page.User, Page.Application) If oOrder.SubTypes("OrderLines").Count > 1 Then ShoppingCart1.RemoveItem(oOrder, CInt(Request.QueryString("OL"))) ShoppingCart1.SaveCart() Me.RedirectUsingPropertyValues() Else ShoppingCart1.RemoveItem(oOrder, 0) ShoppingCart1.SaveCart() Me.RedirectUsingPropertyValues() End If End Sub
- Locate the CheckForConflict() function.
In CheckForConflict(), pass the order object as a parameter in two instances where the CleanUpSessions() method is called. For these two instances, replace this code:
CleanUpSessions(lOrigProductID, iLine)
With this code:CleanUpSessions(lOrigProductID, iLine, oOrder)
- Save and close MeetingRegistration.ascx.vb.
STEP 8 – Verify the New Functionality
After completing the modifications outlined above perform the necessary tests to confirm that the eBusiness 5.5.2 shopping cart behaves as expected on your existing e-Business website.
New and Modified Compiled Objects
This section lists the new and modified compiled objects in this and previous releases of Aptify.
Changes in e-Business 5.5.2
e-Business 5.5.2 modifies the following compiled assemblies:
- AptifyCMSIntegration.dll (5.5.2.1)
- AptifyEBusinessUser.dll (5.5.2.0)
- AptifyGenericEntity.dll (5.5.1.101 – only if Aptify 5.5.2 is not installed)
- AptifyGenericEntityBase.dll (5.5.1.100)
- AptifyMelissaDataWebServiceVerification.dll (5.5.2.1)
- AptifyOrdersEntity.dll (5.5.2.21 – only if Aptify 5.5.2 is not installed)
- AptifySecurityKey.dll (5.5.2.4)
- AptifySocialNetworkIntegration.dll (5.5.1.1)
- AptifyWebGlobal.dll (5.5.2.3)
- BaseUserControlAdvanced.dll (5.5.1.3)
- EBusinessLogin.dll (5.5.2.7)
- EBusinessShoppingCart.dll (5.5.2.2)
- EntityUserControlGenerator.dll (5.5.2.0)
- WebUserActivity.dll (5.5.2.0)
Note that the above only applies to changes between e-Business 5.5.1 and e-Business 5.5.2. For information on what changed in earlier versions, see the Changes in e-Business 5.5.1 section below.
Changes in e-Business 5.5.1
For the sake of references, the following sections describe what assemblies changed from e-Business 5.0 SP2 to e-Business 5.5.1:
e-Business 5.5 to e-Business 5.5.1
For reference, below is a list of e‐Business dlls that have been modified or added since e‐Business 5.5.
- AptifyEBusinessUser.dll(5.5.1.7)
- AptifyCMSIntegration.dll (5.5.1.0)
- AptifyCMSIntegrationGUI.dll (5.5.1.0) ‐ Smart Client only
- AptifyEktronCMSIntegration_86.dll (5.5.1.1)
- AptifyKnowledgeWebControls.dll (5.5.1.0)
- AptifyLinkedInIntegration.dll (5.5.1.5)
- AptifyMarketplaceListingsEntity.dll (5.5.1.1)
- AptifyMarketplaceListingsUI.dll (5.5.1.5) 0 Smart Client only
- AptifyWebGlobal(5.5.1.0)
- BaseUserControlAdvanced (5.5.1.2)
- EBusinessHttpModule (5.5.1.5)
- EBusinessLogin.dll (5.5.1.2)
- EBusinessShoppingCart.dll (5.5.1.18)
- EntityUserControlGenerator (5.5.1.2) ‐ Smart Client only
e-Business 5.0 SP3 to e-Business 5.5.1.1
For reference, below is a list of Aptify dlls that have been modified since e‐Business SP3 (and were not changed in 5.5 or 5.5.1). So, for upgrades from SP2/3 to 5.5.1, you should see these objects updated. For upgrades from to 5.5, you should already have these versions in the repository:
- AptifyEktronCMSIntegration_80235.dll (5.5.0.2)
- AptifyEktronCMSIntegration_85.dll (5.5.0.0)
- AptifyHttpHandler.dll (5.5.0.2)
- AptifyPersonSocialNetworkMismatchesLayout.dll (5.5.0.9) ‐ Smart client only
- AptifySocialNetworkIntegration.dll (5.5.0.16)
- AptifySocialNetworkProcessComponents.dll (5.5.0.6)
- EBusinessGlobal.dll (5.5.0.0)
- EBusinessHierarchyTree.dll (5.5.0.1)
e-Business 5.0 SP2 to e-Business 5.5.1
For reference, below is a list of Aptify dlls that have been modified since e‐Business SP2 (and were not changed in a later release). So, for upgrades from SP2 to 5.5.1, you should see these objects updated. For the other upgrade paths, you should already have these versions in the repository:
- AptifyEktronCMSIntegration_76.dll (5.0.2.3)
- AptifyEktronCMSIntegration_80.dll (5.0.2.3)
- AptifyHttpModule.dll (5.0.3.1)
- AptifyRSSFeed.dll (5.0.3.1)
- AptifyWebExclusionManager.dll(5.0.3.1)
- AptifyWebUtility.dll (5.0.3.1)
Copyright © 2014-2017 Aptify - Confidential and Proprietary