Aptify 5.5.3 Release Notes

First published May, 2015.

This document provides an overview of the new features and resolved issues found in Aptify version 5.5.3. The content of this document is broken down into the following sections:

Important Notes and Issues

Support for Google Chrome on an Apple Mac Running OS X Accessing the Aptify Web Interface

With the release of Aptify 5.5.3, Aptify has conducted testing using Google Chrome on an Apple Mac running OS X to access the Aptify web interface and no compatibility issues have been identified. Please contact the Aptify Technical Support team if you run into any problems or have questions about using Aptify with this version of the browser. (Issue 20266)

Support for Company Only Orders

Currently in Aptify, all transactions for a company must be performed using a contact person (i.e., through a Person associated with that company). This poses a problem in situation where there is no contact person for a company. Aptify 5.5.3 provides the ability to save an order for a company with no contact person specified. For example, when a user creates an order for a membership product with purchase type of Company, the user is now able to specify just a company on the order without having to specify a person, too.  

The following functions are provided for company only orders in Aptify 5.5.3:

  • A new label clearly displays if an order is a company order or an individual order. This is based on the Bill To Company on the order. If a Bill To Company exists, then it is a Company order. If the order does not have a Bill To Company, then it is an Individual order. This label corresponds to the new OrderParty field and is set automatically based on the BillToCompanyID value.
  • New Order created from a Company or Person record should open as a Company or Person Order respectively
  • New Order wizard updated to support company orders
  • Ability to set preferred billing and shipping addresses for companies
  • Changes to flow downs for company orders. For details, see Understanding the Company Order Flow Downs.
  • Ability to place company orders for extended products
  • Ability to mark a payment as a company payment or an individual payment
  • Ability to set a billing contact person on a Company record
  • Ability to purchase membership subscriptions using company or individual orders
  • Billing Same as Shipping functionality is the same in company and individual orders
  • In company orders, addresses identified as the default addresses for companies and persons are used
  • Label on top of the Order form should not show (not specified) as a person 
  • Ability to change/specify BillTo and ShipTo Person on a company order
  • Ability to change/specify ShipTo Company on an individual order
  • ShipTo Email field is populated based on the order party and flowdowns
  • Order records cannot be saved unless a Bill To Person, Bill To Company, or both are provided
  • Order records cannot be saved unless a Ship To Person, Ship To Company, or both are provided
  • Person field on the Payment form is no longer a required field
  • A new label clearly displays if a payment is a company payment or an individual payment. This is based on the Company field on the payment. If a Company exists, then it is a Company payment. If the order does not have a Company, then it is an Individual payment. This label corresponds to the new PaymentParty field and is set automatically based on the CompanyID value.
  • Individual order information appears on three tabs in the Persons record: Orders, Quotations, and All Linked Orders. Orders displays all individual orders where this person is the Bill To Person where the order type is regular. Quotations displays all individual orders where this person is the Bill To Person. All Linked Orders displays displays orders where this person is the Bill To Person or Ship To Person (this displays individual and company orders).
  • Company order information appears on three tabs in the Company record: OrdersQuotations, and All Linked OrdersOrders displays all company orders where this company is the Bill To Company where the order type is regular. Quotations displays all company orders where this company is the Bill To Company. All Linked Orders displays displays company orders where this company is the Bill To Company or Ship To Company.
  • Existing orders and payments are labeled as individual or company orders/payments based on whether there is a value in the BillToCompanyID (for Orders) or CompanyID (for payments)

 

Implementation of Company Only Orders has changed the behavior of the order and subscription product functionality. Aptify recommends that customers with custom configurations that involve order and subscription processing test those configurations as part of the process of upgrading to version 5.5.3.

Note

The creation of company orders from an Advertising Insertion order is not supported in this release.

(Issues 9406, 10396, 18589, 20389, 20396, 20533, 20400, 20401, 20402, 20403, 20410, 20413, 20505, 20506, 20544, 20556, 20652, 20653, 20659, 20683, 20710, 20752, 20753, 20890, 20889, 20905, and 20923)

Adding a Relevancy Service and Suggested Tabs

Aptify 5.5.3 introduces a Relevancy service, which adds the infrastructure to Aptify for the collection of user interface usage data, and the ability to analyze that data to identify usage patterns for the users. The results of the analysis are used to automatically change how Aptify functionality is presented to the user, giving the user's most frequently used functions greater visibility.

Suggested Tabs is the first feature associated with the Relevancy service. The Machine Learning (ML) engine collects information each day for each user of your Aptify environment about the tabs they use on each form. That data is processed by the ML engine to determine which tabs are used most frequently by each user in each form. As a result, when a user opens a form, they will see up to four Suggested Tabs that link to the tabs that this user access most frequently in this form. The Suggested Tabs appear next to the tab menu drop-down list box on each form.

The Relevancy service is enabled by default when you install Aptify 5.5.3. It is only available in the Aptify web interface. The Relevancy service is comprised of the following:

  • Relevancy model
  • Relevancy engine
  • ML service
     

Use of the Relevancy service and its related services and features require the use of an application server to ensure that there is no impact to Aptify server system processing. The application server is used to create process flows that move the processing of the gathering of relevancy data off of the Aptify server.

If your organization does not want to use the Relevancy service and the Suggested Tabs feature, a system administrator can disable them by opening the external configuration file for Framework and changing the values of the following attributes from true to false:

  • Aptify.framework.configuration.instrumentation.monitor.entityInteractions
  • Aptify.framework.configuration.relevancy.tabs

 

Aptify 5.5.3 also updates the archive tool for the Suggested Tabs feature, adding the Process Flow Runs archive type. This type supports the archiving and deleting of Process Flow Runs and the Process Flow Run InputMap. The ML engine generates many process flow runs as it gathers information each day for each user in an Aptify environment. The ability to archive Process Flow Runs ensures that the number of process flow run records is controlled, so that system resources are not affected by the use of the ML engine. For more information on using the archive tool, see  Archiving Transactional Data.

 

Each Aptify user should be linked to an Employees and Persons record as the Suggested Tabs feature will not work properly without this relationship. For information on how to link users to entity records, see Creating User Accounts for new users and Editing User Accounts for existing users.

The Aptify 5.5.3 Setup Program deploys the scheduled task for the Suggested Tabs feature, but the corresponding Windows task is not created, even if a valid Application Server exists. Once the installation of the software is complete, an administrator must manually add the user name and password information in the scheduled task record, and save it so that the corresponding Windows task is created on the Application Server.

(Issues 19400, 19401, 19949, 21206, 21328, and 21544)

Aptify Setup Program Installs Microsoft .NET Framework version 4.5 

The Aptify setup program has been updated to install Microsoft .NET Framework version 4.5 as part of Aptify 5.5.3. This change affects the software requirements for running the following Aptify 5.5.3 software components:

  • Desktop client
  • Application server
  • e-Business server

With 5.5.3, each computer that runs the Aptify desktop application now requires .NET Framework 4.5. If not already installed on a computer, you can download the .NET Framework 4.5 installer here: https://www.microsoft.com/en-us/download/details.aspx?id=30653.

(Issues 20103, 20907, 20681, and 21004)

Create an Object Repository Object Record to Identify Aptify 5.5.3 Installation

After installation, Aptify 5.5.3 creates a text file in the object repository, called 553Installed, that indicates that version 5.5.3 has been installed. This file enables administrators to identify the installed version of Aptify. (Issue 21234)

Updates to Product Price Controller in Aptify Web Changes Product Price Functions

Aptify 5.5.3 includes extensive updates to the orders functionality for Aptify Web, particularly in the area of selecting product prices on orders (this area of functionality is referred to as the Product Price Controller).  However, the updates to the Product Price Controller change the Product Price functions to a great extent. Customers that have modified functions that interact with Product Price may find that Product Price is no longer being calculated correctly. Customers that are upgrading to 5.5.3 that experience issues related to Product Price should contact Aptify Support for further assistance. (Issue 20668) 

New U.S. ZIP Code and Congressional District Data in the ZIP Code Update Utility

 Aptify 5.5.3 provides a new set of U.S. ZIP code and Congressional District data, dated April 2015, in the ZIP code update utility. See Running the Update Utility for U.S. ZIP Codes for more information. (Issue 21495)

Changes to Documentation of Features and Issues in Release Notes

In prior releases of the Aptify release notes, it was assumed that any features and issues documented referred to changes in the Aptify Desktop client. When the Aptify web interface was added, this was still the case, where any web interface features and issues were addressed separately. Starting with the Aptify 5.5.3 release notes, the reader should assume that any feature or issue documented applies to both the Desktop client and the web interface, unless otherwise specified.

New Features (Aptify Framework)

The following new framework features have been included in Aptify 5.5.3:

Administrator/Developer

The following new administrator/developer features are included in Aptify 5.5.3:

Add SimpleOverlap and RelationCrossfeed Algorithms to AptifyML Service

Aptify 5.5.3 updates the Machine Learning (ML) service with the SimpleOverlap and RelationCrossfeed algorithms. These algorithms will allow for predictive modeling by enabling the compilation of similarity between users based on existing ML relations and crossfeeding weights from those relations between users based on their computed similarity. (Issue 20143)

Create a Class To Retrieve Data Relationships From Machine Learning Caches

Aptify 5.5.3 adds a class to the ML service that allows client access to retrieve data relationships generated by the ML engine. This is accomplished by updating an object with a relationships file, and adding a new object repository object that handles retrieving ML relationships from the cache. (Issue 19734)

Create a Machine Learning Plugin for Local Algorithms

Aptify 5.5.3 adds a plug-in to the ML service to implement the local ML algorithms. To accomplish this, the ML service is updated by adding several local ML algorithms and an ML Service plugin grouping them together, and adding metadata around the service. (Issue 19657)

Create Entity Validation Plugins for the Machine Learning Engine

Aptify 5.5.3 updates the ML service by creating entity validation plug-ins for the ML engine. The validation plug-ins are meant to ensure consistency between the various intricate dependencies in the metadata for machine learning. To accomplish this, unique indexes, entity plugins, some small data changes, and VB validation scripts were written for this. (Issue 20530)

Create Metadata For Machine Learning and Relevancy

Aptify 5.5.3 adds the entities necessary to support the ML service and the Relevancy Engine. The following entities are created in the ML service:

  • Machine Learing Entity Relations
  • Machine Learning Models
  • Multi-ML Model Cache
  • Machine Learning Entity Relations
  • Relevancy Contexts

In addition, this issue creates all views for these entities. (Issue 19658)

Create Metadata To Represent A Machine Learning Service

Aptify 5.5.3 creates entities to represent the ML service, including information about the code implementation of each specific service. This is accomplished by creating the Relevancy Application, Machine Learning Services entity, and Machine Learning Service Model Types entity. In addition, views that list all of the entity type are created for the two new entities. (Issue 19648)

Create Process Components and Flows for the Machine Learning Engine

Aptify 5.5.3 adds a process component, Run Machine Learning, that enables an application server to run the ML engine using a Process Flow. This is accomplished by updating an object and adding metadata. (Issue 19758)

Deploy Machine Learning Engine and Implement Relevancy for Form Tabs

Aptify 5.5.3 updates several objects, database objects, and metadata to deploy the ML engine, and to implement relevancy for the tabs found on Aptify forms. (Issue 19949)

Implement a Base Class for Machine Learning Service Plug-Ins

Aptify 5.5.3 introduces an abstract base class for ML service plug-ins. rather than an interface. (Issue 19631)

Implement a Base Class For Remote Machine Learning Services

Aptify 5.5.3 introduces a new database object, spGetRemoteMLServiceAuthInfo, to ease getting web service authorization information out of the database. The spGetRemoteMLServiceAuthInfo stored procedure takes the ID  of a Machine Learning model and returns the APIKey and Username for the model's Machine Learning service. This stored procedure is contained in the Aptify.Framework.MachineLearning.Services.ServiceBase object. (Issue 19982)

Application Server

The following new feature was added to the Application Server service as part of Aptify 5.5.3.

Application Server: Add Support for Executing Multiple Process Flow Runs Sequentially in a Thread

Currently in Aptify, the Application Server service executes one Process Flow Run record per thread. Aptify 5.5.3 updates the Application Server service by adding a new configuration file attribute, Aptify.Framework.BusinessLogic.ProcessPipeline.AptifyAsyncProcessor.RunsPerThread, which determines the number of Process Flow Run records that each Worker Thread will process before terminating. The default value for this attribute is 1. (Issue 20568)

Aptify SOA

The following new features were added to the Aptify service-oriented architecture (SOA) as part of Aptify 5.5.3.

Aptify SOA: Add Ability to Define SOA End Points Through Metadata

Currently, Aptify SOA does not provide a way to add new controller end points or modify existing controller end points. Aptify 5.5.3 updates the SOA to enable the ability to add and modify controller end points. This was accomplished by adding support for metadata defined end points, the authorization framework, and Service Application UI Parts. (Issue 20586) 

Aptify SOA: Add Ability to Turn Help Pages On and Off

Currently there is no setting in the Aptify SOA to enable or disable the help pages for controller end points. Allowing the help pages to be available when SOA is accessible through the public internet is a security concern. Aptify 5.5.3 updates the SOA by adding a setting that enables a user to enable or disable the help pages. This was accomplished by modifying HelpPageAreaRegistration to look for new web.config setting Aptify.Services.General.EnableHelp. (Issue 20491)

Aptify SOA: Add New Controller for Fetching Metadata Information About External Web Pages

Aptify 5.5.3 adds a SOA end point that can fetch metadata information about external web pages that cannot be loaded directly by browser applications. To accomplish this, Aptify added a controller, UrlMetadataController, for fetching metadata about external websites, added extension methods to the HttpRequest object to make working with query parameters easier, and added a CsQuery package for parsing HTML responses. (Issue 20492)

Aptify SOA: Add Route Debugging Tool for End Point Controllers

Currently there is no tool available to help with debugging routing issues to controller end points in Aptify SOA. Aptify 5.5.3 updates the SOA by adding a route debugging tool. Users can enable or disable this tool. This was accomplished by adding the tool into the Aptify.Services.Framework project, adding an Aptify.Services.General.EnableRouteDebugging setting to web.config, and updating the RouteDebuggerAreaRegistration to use the new setting. (Issue 20490)

Aptify SOA: Convert LegacyCreateUpdateDeleteRecordController to Metadata End Point

Aptify 5.5.3 introduces a new basic Create, Update, and Delete (CUD) end point by converting the LegacyCreateUpdateDeleteRecordController to a metadata controller. This is accomplished by reusing the existing endpoint logic in new object, Aptify.Services.Framework.BasicCreateReadUpdateDelete, and having the Legacy end point use that code. (Issue 20554)

Aptify SOA: Log Warning Error Message If No Metadata Endpoints are Found

Currently, if the Aptify SOA is configured incorrectly, it is possible for no metadata end points to be enabled. In Aptify 5.5.2, no error message is triggered when no metadata endpoints are found. Aptify 5.5.3 updates the SOA to log a warning message to the event viewer so the problem can be easily identified. This was accomplished by adding a new EventLogHelper class to the SOA project to write information and error messages to the Event Log, and updated the ServiceApplicationInformationCache to use the new EventLogHelper class. (Issue 20664)

Aptify SOA: Move DefaultScheme Error Message to Information Error Message

Currently, when SOA starts up, most instances log an error message about the DefaultScheme attribute not being found. This event is not actually an error, and is for informational purposes. Logging it as an error message can cause confusion. Aptify 5.5.3 updates the SOA system so that this message logged as an informational message. This was accomplished by changing the TokenValidationHandler constructor to not use ExceptionManager to publish the message about DefaultScheme not being set. (Issue 20665)

Aptify SOA: Remove Environment-Specific Items from Database

Currently, there are several environment-specific items in the Aptify database. The presence of these items causes difficulties when databases are migrated to different environments. Aptify 5.5.3 updates the SOA by removing the environment-specific settings from the database and places them in a new block, authentication, in the web.config file. The authentication block is nested within the configuration block in the web.config file. (Issue 20587)

Aptify SOA: Setting to Clear Response Content in the Case of an Error

When SOA experiences an error, security best practices dictate that the response should contain as little information as possible, so that the error cannot be exploited. However, this error information is useful in development environments where receiving all information possible is useful for diagnostics. Aptify 5.5.3 updates the SOA to provide a setting that can be used in production environments to hide error information. This was accomplished by adding a new setting to web.config, Aptify.Services.General.EnableErrorMessages. When this setting is not set or set to false, an HTTP status code greater than or equal to 400 will be translated into a 404 with no content. (Issue 20638)

Aptify Web Framework

The following new features were added to the Aptify Web framework as part of Aptify 5.5.3.

Add Alert Information to Aptify Web

Aptify 5.5.3 adds support for showing alerts in the Aptify web interface. It updates two objects, AptifyAlerts and Aptify.Services.Framework.Utilities, by adding a constructor to obtain alert information for a Generic Entity (GE). This Issue also updates the Aptify.Framework.GenericEntity JavaScript by adding alerts as part of the JSON constructed for a GE, and as a property on the client-side GE base class. (Issue 20726)

Allow Running JavaScript After MessageBox Opens

Currently in the Aptify web interface, callbacks that happen when a button is clicked and after the window closes can be specified for a messageBox. Aptify 5.5.3 updates the Aptify web interface framework to provide the ability to specify a callback that happen after the window opens and Aptify finishes loading it. (Issue 20338)

Aptify Web: Add API Support for Downloading a File from a URL with an Optional Local File Name

Aptify 5.5.3 updates the web interface to support a HTML5 mechanism for downloading files that does not require a window.open call. This mechanism also allows for specifying a local file name to save the file as, rather than always using the server file name. To accomplish this, the downloadFile method was added to the Aptify.framework.Utility JavaScript file. (Issue 20497)

Aptify Web: Add Utility Method to Parse URL Parameters

Currently in the Aptify web interface, there is no public utility method for parsing query string values out of a URL. Aptify 5.5.3 adds the getUrlParameter method to the Aptify.framework.Utility JavaScript file to provide a public utility method for parsing query string values out of a URL. (Issue 20493)

Aptify Web: Allow Fetching of UI Parts by Lookup Type from a Single End Point

Currently in the Aptify web interface, there are several end points that lookup UI Parts. These end points vary depending on what type of lookup identifier is used. Aptify 5.5.3 modifies an object to enable the UIPart service to accept a parameter that indicates how the part should be looked up. (Issue 20501)

Aptify Web: Allow for Using Cached Part Information on Browser Reload

Currently in the Aptify web interface, there can be an issue where the ability to add or remove applications does not work properly. Aptify 5.5.3 modifies two JavaScript files to provide a setting,Aptify.framework.configuration.authentication.useCachedPartsOnReconnect, that allows an application to specify whether cached part information can be used instead of calling the PartVersion service. (Issue 20500)

Aptify Web: Enable Script Control

Aptify 5.5.3 updates the web framework to enable a user to create or edit the contents of a script in the script control for the Pricing Rules entity using the Aptify web interface. (Issue 20590)

Aptify Web: Externalize Location of Third Party Scripts to a Single Variable

Currently in the Aptify web interface, users do not have the option to define a unique location for third party scripts. Aptify 5.5.3 adds a new setting, Aptify.framework.bootloader.configuration.thirdPartyScripts, to the Aptify.framework.utility and Aptify.framework.bootloader JavaScript files to enable users to specify the location of third party scripts. (Issue 20496)

Aptify Web: getViewData Should Allow a Single Number for Prompt Data Instead of Always Requiring a String

Currently, Aptify.framework.views.utility.getViewData only accepts values passed in string format. Aptify 5.5.3 updates Aptify.framework.views.utility.getViewData would allow a number to be passed for prompt data, and if this happens to improve usability for the developer. (Issue 20495)

Aptify Web Localization: Entity Display Name Should Use Culture String

Aptify 5.5.3 updates the web interface's framework to display an entity's name based on the defined culture string for a user's culture. An Entity's Name has a Display Culture String link that identifies what culture string to use. The Entity's culture string should be used when displaying the entity name anywhere in the Aptify web interface including the following locations:

  • Entity name in Applications list.
  • Entity name in entity browser (tab name and entity name heading on tab).
  • Entity name in Quick Search drop-down (for entities that are enabled for search).
  • Entity name in Global Search results list (for entities that are enabled for search).
  • Entity name in the caption when a new form is opened in modal form. For example, open a new Person Education sub-type record and open a new Companies record from the Institution field, the modal Companies form should have a localized caption in New Companies record.
  • For sub-types, the entity name that appears in the caption for sub-type records (such as Company Tax Exemption Records when opening a Tax Exempt sub-type record from a Companies record).
  • Entity names displayed in the Application Services dialog (to select services to show in the application list for a particular application).
  • Field label on a form.

  • Column heading in a List view.

  • All Field Names in View Properties (Filtering, Sorting, Grouping, etc.)

  • Field Names in Advanced Find dialog (Filters and column headings in results)

  • Show a form template part's Display Name based on the defined culture string for a user's culture whenever the form that contains that part is loaded.

(Issues 20418, 20419, and 20423)

Aptify Web: Methods to Fetch Spaces Data Should be Public, Separate from UI

Currently, the Aptify application programming interface (API) does not provide a way to fetch Spaces data without using the Aptify Web Spaces UI. Aptify 5.5.3 updates the web framework to separate the fetching of Spaces data from SOA by introducing a new name space, Aptify.applications.spaces, and updating the Aptify Spaces UI to call it. (Issue 20499)

Aptify Web: Provide an API Around the Boot Process

Currently in the Aptify web interface, there is no easy way to hook into the loading of the Aptify API in order to change settings before the API executes, or to include additional files. All pages that use the Aptify JavaScript API currently hard code the needed files and their order, which makes modifying those files cumbersome. Aptify 5.5.3 introduces API access to the boot process for the Aptify web interface. To accomplish this, the head.min JavaScript is updated to version 1.0.3, the Aptify.Framework.Utility JavaScript file is updated to look in the Aptify.framework.bootloader.configuration.thirdPartyScripts location for the SignalR JavaScript file. These changes isolate references to file locations to a single piece of the framework. In addition, the index.html and index-debug.html files were updated to use the new bootloader. (Issue 20503)

Aptify Web: Separate Core Utility Functions to a Separate File

Aptify 5.5.3 updates the web interface to load core Aptify utility functions without loading everything that is part of the Aptify.framework.utility JavaScript file. To accomplish this, some core, low level utility methods are moved into their own JavaScript file, Aptify.framework.utility.core. These methods do not reside in a new namespace. They are part of Aptify.framework.utility. In addition, the Aptify.framework.utility JavaScript file has been modified to merge existing methods in, so as to not overwrite them. (Issue 20502)

Aptify Web: Summary Forms: Address Display Should Use Label Line Format Like Label Preview

Aptify 5.5.3 adds Summary forms for Person and Company records to the Aptify web interface. This issue includes updates to metadata and a JavaScript file and to ensure that the address on the Summary form for the person or company is displayed in the same format as the Label Preview option (from the main record's address drop-down). (Issue 21141)

Aptify Web: Support for OK and New Functionality on Subtype Records

Currently in the Aptify web interface, users are unable to use the OK and New function to save and close a subtype record and open a new one in its place. Instead, users have to click OK and open a new subtype record through the command toolbar. Aptify 5.5.3 updates four JavaScript files to enable Aptify web interface users to use the OK and New function for subtype records. (Issue 16114)

Aptify Web: Toolbar Buttons Support Function To Change Appearance On Setup

Currently, most of the Aptify web interface toolbar buttons have static values for their text, icons, and tooltips. Aptify 5.5.3 updates the Aptify web interface framework to provide an option, setupCallback, to display dynamically information for the buttons tied to a record, such as an alerts button showing the number of alerts active on the record. This is accomplished by implementing the setupCallBack option for recordToolbar buttons. This function receives an object including the "ge" property, which holds the GE of the record, and returns an object. The properties of the object override any properties of the button that exist in the button's initial configuration. In addition, returning a property called "enabled", set to false, will disable the button. (Issue 20883)

Aptify Web: Upgrade jQuery to Version 1.11.1

Aptify 5.5.3 updates the jQuery JavaScript library to version 1.11.1. For more information, refer to the jQuery website:

https://jquery.com/

(Issue 20535)

Aptify Web: Version Number Should Be External From Minified JavaScript File

Currently, the JavaScript API version number is not external from the minified JavaScript file. Aptify 5.5.3 updates the web framework so that the JavaScript API version number is external from the minified Javascript file to support the new bootloader by enabling the use of the version number to reference the minified files, since the minified file names have the version number in them. This is accomplished by moving the Aptify.framework.configuration.versionNumber from the internal framework configuration JavaScript file to the external one. (Issue 20498)

Create an Entity Record Interaction Monitor

As part of the Machine Learning (ML) service, usage data from the Aptify web interface is gathered for analysis. Aptify 5.5.3 adds a new class, Aptify.framework.utility.instrumentation.UIMonitor, that monitors user interactions and gathers data for the ML service. This feature also updates the Entity Interaction entity with entity metadata, and updates related segments of routeData. (Issue 19404)

Create a Search Interaction Monitor

As part of the ML service, search relevancy data from the Aptify web interface is needed. Aptify 5.5.3 updates new class, Aptify.framework.utility.instrumentation.UIMonitor, to log searchbox interactions.This feature also updates the Search Interactions entity with a new group permission, Users. (Issue 19422)

Enable Instrumentation in Aptify Web

Aptify 5.5.3 updates the default setting for the Aptify.framework.configuration.instrumentation.monitor flag to true so that the instrumentation data is available by default. The ML service requires the instrumentation data for its analysis. (Issue 20341)

Generate HTML5 Web UI Part Metadata Items When Filter Rules Records Are Saved

Currently, when filter rules are changed in the Aptify web interface, the Filter Rules UI Part metadata item is not generated automatically. Aptify 5.5.3 updates the process component and process flow for generating HTML5 Web UI Part Metadata Items metadata to support generating metadata for a selection of UI Part Metadata Items based on IDs or Names. The updated Process Flow is used in an Event Handler on Filter Rules' AfterSave method to automatically generate the metadata after updating a Filter Rules record.. (Issue 20265)

Generate HTML5 Web UI Part Metadata Items When Filter Rule Types Records Are Saved

Currently, when filter rule types are changed in the Aptify web interface, the Filter Rules UI Part metadata item is not generated automatically. Aptify 5.5.3 adds a new event handler, AfterSave Event, to the Filter Rules Types entity. This event handler runs the Generate HTML5 UI Part Metadata Items process flow, which generates the Filter Rules UI Part Metadata Items metadata and adds it to the Text field in the UI Part record. (Issue 20415)

Optimize getEntityObject When Multiple Requests for an Entity Record Are In Progress

Currently in the Aptify web interface, the call to getEnttyObject is an asynchronous call to retrieve the record information from the server, if on-line, or from the browser cache if off-line. While that call is in progress, subsequent calls for that same Entity record can be made and each requests the information from the server. Aptify 5.5.3 updates a JavaScript file to provide an optimization that tracks the in-progress requests. Now, before making the server request, a check is made for in-progress requests. If a request for the same Entity record is in-progress, another server request is not made, and a callBack is added to the queue of in-progress requests. When the server request returns, callBacks for that Entity record are processed.(Issue 20457)

Provide Overridable Method Called After Product is Added to Order

Aptify 5.5.3 updates the Aptify Web JavaScript API to provide a method that can be overridden to improve the ease of configuring what happens after a product (Order Line) is added to an Order. (Issue 20432)

Web: Show "Display Alert On Load" Alerts When Form Template Loads

Aptify 5.5.3 updates the web interface framework to check whether the generic entity has any alerts when a form template loads, and immediately display a pop-up window containing any alerts that are from an Alert Type where Display Alert On Load is true. (Issue 20870)

Aptify Web Interface

The following new features were added to the Aptify Web interface as part of Aptify 5.5.3.

Ability to Send Messages Through the Twilio SMS API

Aptify 5.5.3 updates the Aptify web interface to support the ability to send messages through the Twilio SMS API. (Issue 20515)

Aptify Web: Generic Import Wizard

Aptify 5.5.3 updates the Aptify framework and import systems to support the running of the Generic Import Wizard in the Aptify web interface. This accomplished with the following updates:

  • Synchronization of import objects with the SOA bin during Aptify web setup.
  • Added web-specific fields to the Import Run entity.
  • Created a process component to perform import on an Import Runs record.
  • Implements a new form template to enable the Import Runs form to be used in the web interface.
  • Updated JavaScript and object files to support ability to customize field mapping and define a logic string.

For more information on using the General Import Wizard, see Running the Generic Import Wizard. (Issue 18415, 17808, 20450, 20549, 20550, 20551)

Aptify Web: Instant Messaging Support

Aptify 5.5.3 updates the Aptify web interface to include support for instant messaging between two Aptify web interface users logged in to the same Aptify environment. An Aptify Messenger session is activated from the Messenger button in the Aptify web interface toolbar. Opening an Aptify Messenger session enables an Aptify web user to have a instant message chat with another on-line Aptify web user. For more information, see Using the Aptify Messenger(Issue 18110)

Aptify Web: Video Messaging Support

Aptify 5.5.3 updates the Aptify web interface to include support for video messaging between two Aptify web interface users logged in to the same Aptify environment. Video messaging is activated from an active Aptify Messenger session by clicking the Video Chat button. Clicking the Video Chat button enables an Aptify web user to have a video chat with another Aptify web user, provided both users have web cameras. For more information, see Using the Aptify Messenger(Issues 18111, 20607)

CO_Aptify Web: Allow a User to Edit/Change the Ship To or Bill To Person/Company on a Shipped Order

Aptify 5.5.2 added the ability for an Aptify Desktop client user to change the Ship To or Bill To Person or Company on a shipped order. Aptify 5.5.3 updates the web interface to allow a web interface user to change the Ship To or Bill To Person or Company on a shipped order. (Issue 19433)

Load Record Template Feature

In previous versions of Aptify, you can create a Record Template, and then create new records populated with data from the Record Template, all using the Aptify Desktop client. Aptify 5.5.3 updates the Framework application to give users the ability to create new records populated with Record Template data in the Aptify Web interface. However, the creation of the Record Template still must be done in the Desktop client. (Issue 20471

Support Dashboard Button Bar for Run Process Flow Action Type in Aptify Web

In previous versions of the Aptify Web interface, the Dashboard Button bar did not contain the Run Process Flow action type that is available in the Desktop client. Aptify 5.5.3 updates the web interface version of the Dashboard Button bar to include the Run Process Flow action type. See About the Dashboard Components Form.  (Issue 16625 and 20472)

Usability: Summary Forms for Certain Entities

Aptify 5.5.3 updates the Aptify web interface to provide Summary forms for Person and Company records. The Summary forms provide a single-page overview of the information contained in a Person or Company record. The Summary forms provide a timeline of the association between the person or company and your organization. 

 

Person Record Summary Example

Person Record Summary Example

Company Record Summary Example

Company Record Summary Example

 

The Summary forms include the following information for each Person and Company record:

  • A photo, if one is available
  • Contact information
  • Membership status
  • Key demographics
  • Notes and latest updates for the record
  • Membership timeline of activities
  • Composite Engagement Score (CES) score 
  • Actions, including:
    • Sending messages
    • Creating orders
    • Adding contact logs
    • Adding memberships
    • Editing details
       

This feature also adds the Is Container field to the Form Components form to enable a form component to be identified as a container component, and modifies the Form Template Part form to make the Sub Template field active when the Type field is set to Container. In addition, the Form Template Generation logic is modified to generate sub-templates for container form components. See Creating Form Components and Creating Form Template Parts for more information.

The Summary forms appear for Persons and Companies records by default. The Summary forms can be disabled by a system administrator setting the SupportsSummaryTemplate attribute to 0 in the Configuration > Attributes tab of the Persons and Companies entities. See Disabling the Summary Forms for Persons and Companies

(Issue 19971, 20273, 20274, 20601, 20602, 20604, 20690, and 20692) 

Aptify Web Setup

The following new feature was added to the Aptify Web setup program as part of Aptify 5.5.3.

Aptify Web Setup: Offer Option in Aptify Web Setup to Specify Host Name (to Set Different URL)

Currently in the Aptify Web Server setup program, it is assumed that the URL of the installation matches the server name. This does not allow the flexibility to change to a URL that is not server-centric which limits the ability to move applications between servers, or load balance. Aptify 5.5.3 updates the web server setup program by adding the option to specify the host name during the setup, to ensure that the URL used to access the Aptify web interface can be modified to a value that does not use the web server name. (Issue 20654)

Form Template Administration

The following new form template feature was added to the Framework application as part of Aptify 5.5.3.

Add Support for Current Person and Current Employee on Form Template Filter Rules (Context-based Form Templates)

In previous versions of Aptify, Form Templates can be filtered based on the currently logged in User's Users record and the Groups record based on the User's Primary Group.  Users can also be linked to a Persons record via UserEntityRelations, which is a standard practice in Aptify Web.  Users are also typically linked to an Employees record.  Aptify 5.5.3 updates the Form Template service so that it is possible to select the Form Template to display based on information from the Persons record or Employees record of the currently logged in User. Aptify updated the Form Template Filter Rules Type to include entries for the Persons and Employees Entities.  Aptify Web and the Desktop client were also updated to populate the Filter Rules Engine with the appropriate Persons and/or Employees generic entities. (Issue 20405)

Context-Based Form Templates in Aptify Web

Aptify 5.5.3 updates the Aptify service-oriented architecture (SOA) and Aptify web interface to support context-based Form Templates which are implemented with Filter Rules. For more information about the implementation of context-based Form Templates in the Aptify web interface, see About Forms and Records in the Web Interface. (Issue 16417)

Improve UI/UX for Form Template Part Bindings

Aptify 5.5.3 updates the Form Template Part Bindings to improve the user experience by changing elements of the user interface. To accomplish this, the Form Template Part Bindings was modified to show the Values subtype on the General tab instead of a separate tab, and the Form Template Part Binding Values was modified to clarify what the various fields actually do. (Issue 20754)

Framework

The following new features were added to the Framework application as part of Aptify 5.5.3.

Add Alternate Base View Support for AptifyExportToExcelProcessComponent

The AptifyExportToExcelProcessComponent was introduced in Aptify 5.5.2, and it enables a user to generate a single Excel spreadsheet with multiple worksheets using the Excel Integration wizard. However, this process component could not be used for exporting data from alternate base views. Aptify 5.5.3 adds the ability for a user to generate a single Excel spreadsheet with multiple worksheets when exporting alternate base views. For more information about using the Excel Integration Wizard, see Using the Excel Integration Wizard. (Issue 19792)

Add Support to Set Default Entity Card

Aptify 5.5.3 updates the Framework application to add the ability to identify a default entity card, if multiple entity cards have been created on same entity for different purposes. This is implemented by adding two new input properties, UseDefaultCard and entityCardName. The user can update these properties to identify a default entity card and a specific card name to be displayed. (Issue 20334)

Add User Defined Type Support In Database Objects

Aptify 5.5.3 introduces the ability to define User Defined Types, including Table Types used for passing table-valued parameters to stored procedures and functions. To implement this ability, the Database Objects Entity object and the Viewer Form were updated to support User Defined Types, including Table Types. (Issue 19854)

Changes to Framework Function displayEntityRecordDialog

In Aptify 5.5.3, the Framework function displayEntityRecordDialog was updated, adding two properties to it. The first property, FormTemplateID enables the user to specify a custom form template to be used to populate a new record. The second property, ReadOnly, enables the user to specify whether they want a new record form to open in read-only mode. (Issue 20332)

Entities: Update Joined Virtual Fields to Support Links to Entities Referenced in the Joined Entity

Aptify 5.5.3 updates the Entities Views so that the Join Foreign Key drop-down list in Virtual Field tab of the Fields record also displays fields that are linked to entities that exist in the joined entity. This affects the process of creating a Joined Virtual Field in the Entities Viewer. In the Entities Viewer, once a user has selected a value in the Joined Entity field, the Join Foreign Key drop-down list is populated with fields in the current entity that are linked to the selected joined entity and fields that are linked to entities in the joined entity. For more information on joined virtual fields, see Joined Virtual Field(Issue 20023)

Hide the System Level Persons Records

Aptify 5.5.3 implements system-level Persons records that are not generally visible to users, and are only for use by Aptify. The system-level Persons records are used for internal processing for such features as Company orders and Aptify web interface functionality. (Issue 20453)

Aptify 5.5.3 updates the Framework application to give the user the ability to make the Custom Links button invisible. The user can use a new property, IsCustomLinkRequired, to hide the button, if desired. (Issue 20467)

Improve Concurrency of Alert Manager

Currently, when firing an Entity Event, the Alert Manager is called by the Data Control component in the Aptify Desktop client, and the Event Fire component in the Aptify web interface. On a web server that is executing Entity Object load and save operations concurrently, there will be many Entity Events fired.  Under heavy load, the Alert Manager SQL queries can time out or cause other problems with the database connection manager. Aptify 5.5.3 updates the Alert Manager and Alert Manager Cache to make it more efficient and scalable. All Active Alert Types are loaded from the database on the first call, while future calls will load specific Alert Types from an in-memory cache. The Alert Manager is fired when loading Entity records in the Aptify Desktop client. It is also fired for each Entity Event (Event Definitions), that occurs in the business layer when loading an Entity record, and when saving an Entity record. Finally, the Alert Manager is fired from the AptifyPollingAlerts Process Component. (Issue 20251)

ListDetail: Update Indexes (Optimization)

Aptify 5.5.3 optimizes the indexes for the ListDetail table to increase the speed of query execution when this table contains thousands (or millions) of rows. To do this, the following changes were made: 

  • Dropped three indexes (IDX_ListDetail_LISTID, IDX_ListDetail_2_RecordID, and IDX_ListDetail_3_RecordIDSt) from the ListDetail table, if they exist. 
  • Created an index on the ListDetail table for ListID, EntityID and RecordID. This index is used when looking for a specific record in the list.
  • Created an Index on the ListDetail table for ListID and Sequence. This index is used when looking for all the records within a list and when determining the next sequence value to use.

(Issue 20250)

Metadata Wizard: Support Start and Run Process Flow Start Mode in Desktop Client

 In Aptify 5.5.2, users of the Aptify Desktop client had only one start mode, Start Form, available in the Metadata Wizard. The Aptify Web interface implementation of the Metadata Wizard included two additional start modes, Start and Run Process Flow and Run Process Flow. Aptify 5.5.3 updates the Metadata Wizard in the Aptify Desktop client to include these two start modes, and makes the Start Form start mode the default value. For more information on using the Metadata Wizard, see Administering Metadata Wizards(Issue 20182)

Money Fields to be Right-Aligned for Subtype Controls

In Aptify 5.5.3, the Framework service was updated to ensure that Money fields tied to a Currency Type field in the entity are right-aligned within subtype grids. This generic fix also applies for the existing subtypes controls as well. If the field is money or small money and it supports the multiple currency options, the text aligns on the right side of the subtype grids. (Issue 20887)

Provide a Configuration File Attribute to Control Alert Manager on Entity Events

When an entity event is triggered, the Alert Manager is loaded to check for any alert types tied to the current event definition.  If one or more exists, those alert types are processed. There is an issue with Alert Manager causing performance problems on a web server with heavy load, even though there are no alert types defined for any event definitions. Aptify 5.5.3 updates the Framework application to add an attribute, Aptify.Framework.BusinessLogic.ProcessPipeline.AptifyEventFire.ProcessAlertsOnEntityEvents, to the Aptify Shell.exe.config file that enables an administrator to turn off the Alert Manager when entity events are triggered. When the attribute value is set to true, the Alert Manager is loaded and checks for alert types. When the attribute value is set to false, the Alert Manager is not loaded.  The default value for the attribute is true, which is the same system behavior as previous releases. (Issue 20247)

SubType Should Load a Specific Form Template

Aptify 5.5.3 updates the Framework application to add support in the subtype grid to load the subtype record with the specific Form Template. (Issue 20469)

Update the Code to Pass in the TransactionID for the Payments Save Operation to the Orders Save Operation

Sometimes in Aptify Point of Sale (POS) and Aptify, there appears to be a problem within the Order Save process where it’s attempting to use a TransactionID that is no longer valid. An explanation for this problem is that the Payment Save and Order Save operations are not passing the Transaction ID. Aptify 5.5.3 updates two objects to pass in the TransactionID for the Payments Save operation to the Orders Save operation. (Issue 20679)

Updates to the Entities List View

Aptify 5.5.3 contains an enhanced version of the Entities List View. The enhancements include:

  • Give the ability to add a button to the Entities List View toolbar that performs a function defined by the user.
  • Added a new input property, HideColumns, which gives the user the ability in the Aptify web interface to hide specific columns during loading of the view.
  • Added a new input property, HiddenFilter, which can be used to insert additional filtering on the data to be displayed in the view on the web interface.

See the About the Visual Designer Entity List View for more information on the input properties. (Issues 20326, 20327, and 20468)

Setup Program

The following new feature was added to the Setup program as part of Aptify 5.5.3.

5.5.3 Web Setup Should Install Necessary Crystal Reports Version and Provide Information Via a Message Box for Crystal Report Installer Failure

The Aptify Web interface setup program runs a Crystal Reports installer that adds the DLL files necessary for running Crystal Reports through the web interface. In the Aptify 5.5.2 Web interface setup program, if the setup fails to install these DLL files for some reason, there is no indication to the user that it failed. Aptify 5.5.3 adds an installer for Crystal Reports for Visual Studio 2010 to the web interface setup program. In addition, the web interface setup program can detect the failure of a Crystal Reports installation and display an error message to inform the user. (Issue 20133)

Viewing System

The following new features were added to the Viewing System as part of Aptify 5.5.3. 

Aptify Web: In Place Edit Support for SubTypes

Aptify 5.5.3 updates the Viewing System in the Aptify web interface to all in-place editing for fields in a subtype record. This is accomplished by adding an In Place Editing button to subtype records. Clicking the button opens the fields in the subtype record to editing. (Issue 18048)

Viewing System: Add Ability to Populate Prompt View's Drop Down List Using a SQL Statement

Aptify 5.5.3 updates the Viewing System to allow a user to dynamically populate the drop-down list in a Prompted view. This is accomplished by giving the user the ability to select the Drop Down (SQL Query) option in the Prompt wizard. The ability to select the Drop Down (SQL Query) option is available to all users. See Creating a Drop Down (SQL Query) Prompt View for more information. The View Prompt Query service was added to the Web Services application to enable administrators to create view prompt queries that contain the SQL that is used to identify the content type to be populated in the drop down prompt list. See Creating a View Prompt Query(Issue 7410) 

New Features (Core Business Applications)

The following new Aptify Core Business Application features have been included in Aptify 5.5.3: 

Accounting

The following new feature was added to the Accounting system as part of Aptify 5.5.3.

Aptify Web: Export GL Batches to Export File

In previous releases of the Aptify web interface, users were unable to export General Ledger (GL) batches. Aptify 5.5.3 adds the ability for Aptify web interface users to export GL batches from the Batch wizard. To do this, two objects and the web user interface (UI) part code were updated. For more information, see About Accounting and Financial Systems in the Web Interface. For the exporting of GL batches to work as expected, the web.config file must specify a folder path for insert attachments uploads. Without the upload folder path defined, the Batch wizard will fail. 

 

Note

This item is one of several features to support the GL Batch process in Aptify Web but does not represent the entire GL Batch process implementation. The GL Batch wizard is not available in Aptify Web 5.5.3. It will be available in the next release.

 

(Issue 20104)

Campaigns

The following new feature was added to the Campaigns system as part of Aptify 5.5.3.

Aptify Web: Implement Campaign List Builder Wizard

Aptify 5.5.3 implements the Campaign List Builder wizard as a metadata wizard that can be run from the Aptify web interface. (Issue 17941)

Customer and Member Management

The following new feature was added to the Customer and Member Management system as part of Aptify 5.5.3.

Add Clustered Index on ID for Persons

In 5.5.1, the Clustered Index on ID option was added to many entities to improve system performance, but it was not added to the Persons entity. Aptify 5.5.3 updates the Persons entity to add the Clustered Index on ID option on the Indexes tab.  (Issue 15142)

Meeting Management

The following new feature was added to the Meeting Management system as part of Aptify 5.5.3.

Aptify Web: Meeting Close Wizard (AKA Close Meeting Wizard) Support

Aptify 5.5.3 updates the Aptify web interface system to support the use of the Meeting Close wizard in the web interface. For more information on support of Meetings functionality in the Aptify web interface, see About Meeting Management in the Web Interface. (Issue 15830)

Orders

The following new features were added to the Orders system as part of Aptify 5.5.3.

 Aptify Web: Standing Order Fulfillment Wizard Support

In previous releases of the Aptify web interface, the Standing Order Fulfillment wizard was unsupported. Aptify 5.5.3 updates metadata and process flows in the Aptify web interface to provide support for the ability to use the Standing Order Fulfillment wizard . (Issue 19207)

Aptify Web: Support for Payment Refund Wizard

In previous releases of the Aptify web interface, the Payment Refund wizard was unsupported. Aptify 5.5.3 adds the ability to run the Payment Refund wizard using the Aptify web interface. For more information see the "Payment Refund Wizard" section of the Aptify 5.5.1 Release Notes. (Issues 17813, 20657, and 20658)

CO_Orders: Create Product Pricing Hierarchy Workflow Document

The Aptify documentation was updated in this release to include a topic that describes the Aptify product pricing model. See Understanding the Aptify Pricing Model. (Issue 9919)

Products

The following new feature was added to the Products system as part of Aptify 5.5.3.

Add Photo Field To Products Form

Aptify 5.5.3 updates the Products service by adding a photo field to the Products form. This allows a user to associate a photo with a Product record. (Issue 16858)

New Features (Add-On Applications)

The following new features for Aptify add-on applications have been included in Aptify 5.5.3: 

Education Management System

Note

The new features in this section are only applicable for organizations that have the Aptify Education Management System add-on application for Aptify 5.5.3.  

Aptify Web: Support Close Meeting From a Class Record

In Aptify 5.5.2 support for the Close Meeting wizard was added to the Aptify web interface. However, that did not include the ability to open the Close Meeting wizard from a Class record. Aptify 5.5.3 updates the web interface to support the ability to open the Close Meeting wizard from a Class record. (Issue 20968)

New Features (e-Business Support)

The following new features that support Aptify e-Business have been included in Aptify 5.5.3: 

Survey Management

The following new features were added to the Survey Management application as part of Aptify 5.5.3.

Aptify Web: Survey Management: New Dashboard

Currently in the Aptify web interface, the default dashboard for Survey Management found in the Aptify Desktop client cannot be displayed. Aptify 5.5.3 updates the schema, database objects, and metadata to ensure that an Aptify web interface dashboard for Survey Management can be displayed. The new Survey Management web interface dashboard displays the following information:

  • Top area of dashboard shows the In Progress/Planning Surveys list view (owned by sa)
  • Bottom area of dashboard shows the Responses Last 30 Days chart view.
  • New Survey Results shared folder (owned by sa) that has three views:
    • Survey Results (drill down) -- drill down view for chart
    • Survey Results by Question (Chart) -- prompt view to select a survey -- prompt prepopulated with list of survey names based on new ViewPromptQuery and Service Data Object.
    • Results for a Survey (List) -- prompt view to select a survey -- prompt prepopulated with list of survey names based on new ViewPromptQuery and Service Data Object.

(Issue 20778

Survey Management: Create Default Chart View of Survey Results

Currently in Aptify, there is no direct link between the default chart view on the results panel of a survey. Aptify 5.5.3 adds metadata to the Survey Management application to add a new Form Template part for a Chart View, which provides the ability to link directly between the results panel of a survey and the default chart view. (Issue 20544)

Survey Management: Drill Down Functionality to Chart View of Survey Results

Currently in Aptify, users cannot drill down into the chart view of survey results. Aptify 5.5.3 adds metadata to the Survey Management application to add the ability for users to drill down into the chart view of survey results. (Issue 20545)

Survey Management: Improve/Expand Survey Reporting and Data Analysis Capabilities

Aptify 5.5.3 updates the Surveys system to improve the reporting and data analysis functionality available to users. This is accomplished by adding the following capabilities:

  • Default list of views for survey results is available as a shortcut on the result panel of the Survey Panel view
  • Multiple base view available that is created out of questions, answers, and results so that appropriate data can be displayed in the survey report
  • Adds a New Survey wizard for the Aptify web interface.
  • Survey Panel view changes, including:
    • Ability to insert a question in-between questions
    • Answer logic record insertion using the panel view
    • Links to survey results and survey result rendering on right-hand side
    • Ability to drill-down in charts
    • Panel view is now the default Survey view
    • Text boxes are disabled when a survey is locked
    • Tree view of question list
    • In a Survey Results record, the Survey Export wizard can be launched from a button in the Results Details tab.

(Issues 6788, 20542, 20543, 20689 and 20581)

Survey Management: Survey Module Support on Aptify Web

Currently, the Aptify web interface does not support the Survey module. Aptify 5.5.3 updates the Surveys system to include the ability to use the Survey Module in the web interface. This feature includes the following Survey module functions:

  • Records for the following entities can be created or modified using the Aptify web interface:

    • Answers

    • Survey Capture Modes

    • Survey Categories

    • Survey Delivery Types

    • Survey Participants

    • Survey Results

    • Survey Status

    • Survey Style Sheets

    • Survey Tracking Types

    • Question Branches

    • Surveys (Question Trees)

    • Question Types

    • Questions 

    • Staging Survey
       

  • Icons are available for all services under the Survey application
  • Surveys created in the Aptify web interface can be viewed in Aptify e-Business.
  • Panel view is available for surveys in the Aptify web interface.
  • Panel view can be used to edit survey details in the Aptify web interface.
  • Ability to create a question branch that is triggered by a particular response to a given question.
  • Survey is open for editing when it has a status of Planning. When in any other status (Closed, In-Progress, or Complete), the survey is locked for editing, and can be accessed in read-only mode.

  • Questions can be viewed in read-only mode when a survey has a status of Closed, In-Progress, or Complete, and open for editing when a survey has a status of Planning.

  • Questions can be added in between two questions in an existing survey.
  • Questions and question details can be added, edited, or deleted using the Panel view.
  • When a question is added to a staging Survey record, the question is visible in the Panel view once the record is saved.

  • Status of a open new survey is Planning.
  • Answer logic can be added to a survey from the  Insert Answer Logic button in the Panel view.
  • When a new survey is completed in the wizard, the user is notified with this message: Survey created successfully
  • Survey results can be exported to Excel in the Aptify web interface.
  • Survey can be resorted

(Issues 20192, 20440, 20441, 20446, 20448, 20456, 20464, 20531, 20579, 20580, 20642, 20620, 20704, 20705, and 20886)

Resolved Issues (Aptify Framework)

The following framework related issues have been resolved in the Aptify 5.5.3:

Administrator and Developer Resolved Issues

The following issues were resolved in the Administrator and Developer areas as part of Aptify 5.5.3.

Aggregate Entity Interaction Data For All Users Without a Person Association

Currently in Aptify, there is an issue in the Relevancy service where the entity interaction data is created for everyone that interacts with records using the Aptify web interface, and a user is not linked to a Person record, the Person ID is 0 for the entity interaction. Aptify 5.5.3 updates the Relevancy service to ensure the aggregation of data such as a PersonID being set to 0. (Issue 21335)

Aptify Web: Suppress Error Logging When Creating Search Interaction Records or Turn Search Interaction Records Off

Currently in the Aptify web interface, there is an issue where occasionally when a user opens records from the Search tab, a Search Interaction record is not created and an exception is logged. Aptify 5.5.3 updates two JavaScript files by creating separate switches for Search Interactions and Entity Interactions monitoring, and turned Search Interactions monitoring off to ensure that in this scenario, a Search Interaction record is created as expected. (Issue 21333)

Aptify SOA

The following issues were resolved in the Aptify service-oriented architecture (SOA) as part of Aptify 5.5.3. 

BasicGenericEntity SaveData Endpoint Breaks for Subtypes

Currently in the Aptify SOA, there is an issue where subtypes cannot be sent through the SaveData mode of the BasicGenericEntity endpoint. This is problematic because this endpoint is common in SOA-based integrations. Aptify 5.5.3 updates a .CS file in an object to ensure that the SaveData mode in the BasicGenericEntity endpoint works as expected. (Issue 21371)

Numerous Unable to Validate Token Errors Logged In Event Viewer on Web Server

Currently in the Aptify SOA, there is an issue where numerous errors related to tokens are logged in the event viewer on the Aptify web server. These errors are not impacting Aptfy web server system performance, but they are filling up the error logs, and that can make troubleshooting difficult. Aptify 5.5.3 updates an object to eliminate this error. (Issue 20284)

SOA Cannot Process Requests with a Null Cookie Value

Currently in the Aptify SOA, an error is generated when a service request with a cookie set to no value is not processed. Aptify 5.5.3 updates the services framework so that indexing into the values collection is not performed if the cookie is empty. In addition, to address a security risk, the HTTP handler is updated to reject a service request immediately, if translating the inbound request generates errors, instead of continuing to process the service request. (Issue 21396)

SOA: Mark Web Services Entities as Framework Entities

Aptify 5.5.3 updates all of the entities and subtypes under the Web Services application, marking them as framework level entities. (Issue 20673)

SOA: Minor Bug Fixes to Metadata End Points

Currently in the Aptify SOA, there are several minor issues that are related to the metadata end points. Aptify 5.5.3 updates nine objects and metadata to make the following changes:

  • ServiceRequestContext changes:
    • RequestParameters is now a case insensitive dictionary by default (to align with ASP.NET), but there is a web.config setting Aptify.Services.Controllers.CaseSensitiveQueryParameters to turn this off (to align with the HTTP specification).
    • MiscProperties is now automatically created for every request.
    • ServiceParameters is now case insensitive.

  • Caching Policies are only applied if the status code is 200.
  • Caching Policies now correctly apply the Public and MaxAge headers.
  • ResponseContent has a new setContentType function
  • new FileContent class
  • StringContent now sets encoding on Content Type header if it has been supplied.
  • TimeCachePolicyProvider will set the Vary header based on metadata attributes in the Caching Policy Record, and we default Vary to Accept-Encoding, Origin for our Year based policy. This can be controlled with a Vary property subtype.
  • Response process no longer errors if an invalid mime type is given. In this case an information message is logged and the mime type is set to application/octet-stream.

(Issue 20963)

SOA: Optional Routes Do Not Work for Metadata Controllers

Currently in the Aptify SOA, there is an issue where optional routes for new end points are not working for metadata controllers. The Authentication end point has an optional part defined, but it works only because it is always passed in service requests. Aptify 5.5.3 updates the ControllersEntity to generate RegEx objects with case insensitive options to ensure that in this scenario, optional routes for new end points work as expected. (Issue 20738)

SOA: Route Detection Is Case Sensitive

Currently in the Aptify SOA, route detection for metadata end points is case sensitive. This is counter to the HTTP specification, as URL paths are not case sensitive. Aptify 5.5.3 modifies the Service Applications entity plugin to return the RegEx objects with the case insensitive option set. (Issue 20739)

SOA: ServiceRequestContext Does Not Have Post Data and is Missing Content Headers

Currently in the Aptify SOA, there is an issue where when a service request comes in through a metadata endpoint, the context object does not have any POST data that is sent, and any content specific headers are missing from the header collection (such as the request content-type). Aptify 5.5.3 updates two objects, Aptify.Services.Framework and Aptify.Services.Framework.Endpoints, to ensure that in this scenario, the context object is populated with the expected data. (Issue 20682)

SOA: Setup Needs to Manually Create New Application Event Source

Currently in Aptify SOA, there is an issue where some environments do not allow ASP.NET to create application event sources. Aptify 5.5.3 updates the Setup program code to create a new application event source, AptifyServicesMessage, under the Application Windows Log. This is done by creating the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\AptifyServicesMessage

(Issue 20697)

Temporary Fields Created On the Server Do Not Appear On the Client

Currently in Aptify SOA, there is an issue where temporary fields created in a generic entity (GE) object while on the server side are not included in the changes sent to the client side, making these changes unavailable on the client side. Aptify 5.5.3 updates SOA to ensure that all temporary fields created on the server are now included in the changes sent to the client, unless they are prefixed with _x_. Temporary fields on the server that are prefixed with _x_ are fields that should not be shared with the client side object. (Issue 18739)

Aptify Web Framework

The following issues were resolved in the Aptify Web framework as part of Aptify 5.5.3.

AptifyComboBox: Support IndexOf Property

Currently in the Aptify web interface, the AptifyComboBox does not support the IndexOf property. This is required for code efficiency. Aptify 5.5.3 updates an object to add the IndexOf property in AptifyComboBox. (Issue 20746)

Aptify Web: Add to List Selection Grid Overlapping UI Problem

In the web interface in Aptify 5.5.2, there is an issue where the Add to List selection grid does not display correctly, where it overlaps with the Add to List dialog box. Aptify 5.5.3 updates the Aptify.framework.application.UI JavaScript file to ensure that the Add to List selection grid displays without overlapping the Add to List dialog box.  (Issue 21404)

Aptify Web: All the Sub Menu Options Under Meeting Info > Meeting Tab Is not Displayed

Currently in the Aptify web interface, there is an issue where on a class record associated with a course type of Meeting, the sub menu options under the Meeting Info > Meeting tab are not fully displayed. The sub menu options, Attendees, Cancellations, and Registration Details, are not displayed under the Registrations menu option due to a lack of space in the browser window. Aptify 5.5.3 updates two css and a JavaScript file to ensure that in this scenario, the footer and all menus are visible as expected. (Issue 21230)

Aptify Web: API Does Not Allow Caller to Specify Whether User Change Should Refresh Page

Currently in the Aptify web interface, there is an issue where during authentication the API detects that the user who has just authenticated is different from the one in local storage cache, the API always refreshes the browser. This is not always the desired behavior. The application should be allowed to specify what happens in this scenario. Aptify 5.5.3 updates two JavaScript files by adding a new setting, Aptify.framework.configuration.authentication.reloadOnUserChange, to allow control of this behavior. (Issue 20246)

Aptify Web: API Resets Application After Logon When Using Web User Authentication

Currently in the Aptify web interface, there is an issue where when an HTML5 application performs Web User authentication, using the same user for authentication in the API results in the application being reset every other time this is performed. Aptify 5.5.3 updates a JavaScipt file to ensure that in this scenario, the authentication process does not cause the application to be reset. (Issue 20245)

Aptify Web: Blank Page Appears On Order Cancellation Wizard For The Original Order Paid Through a Credit Card

Currently in the Aptify web interface, there is an issue where when a user cancels an order for any credit card available in Merchant Account for which a payment is not captured, a blank page appears. Aptify 5.5.3 update two JavaScript files and an object to ensure that when this scenario occurs, a blank page does not appear. (Issue 20222)

Aptify Web: Clicking Multiple Times on a Record Link Creates Many Menu Tabs and Drop Downs

Currently in the Aptify web interface, there is an issue where when a user clicks multiple times on a linked record, multiple drop downs or tabs are displayed, one for each time the link was clicked. Aptify 5.5.3 updates a JavaScript file to ensure that in this scenario, a single drop down or tab is displayed, as expected. (Issue 20513)

Aptify Web: Contact Log/Task Created Through Spaces Does Not Parse Links Correctly

Currently in the Aptify web interface, there is an issue where when a user creates a follow-up contact log or creates a task through Spaces actions, the Reason field (contact logs) or Description field (task record) is populated with the information entered on the Spaces thread, and a link of any type is inserted in the Spaces thread, the link is not parsed in user friendly format. For example, a Record link appears as "@[<entity name>:<Record ID]" in the field. Aptify updates metadata by changing the field component from Multi-Line Text Field to HTML Text Field to ensure that in this scenario, the link is presented in a user friendly format. (Issue 16988)

Aptify Web: Date Calendar Control Always Defaults to Current Date

Currently in the web interface, the calendar control for a date field always opens the current date, and not the date that is entered in the field. Aptify 5.5.3 updates the web interface framework so that when a date field is opened in the web interface, the date entered in the field is displayed. (Issue 19626)

Aptify Web: Enabling Field Level Security May Cause Advanced Find Feature to Break

Currently in the web interface, there is an issue where when field-level security is enabled for an entity, a user who does not have read access to that entity field accesses that entity, and the user attempts to use the Advanced Find feature by clicking Find button at the end of a field. In the Advanced Find dialog box, the user can see the entity field that she/or should not be able to see in the Fields drop-down, and when the user clicks the Find button, an error is logged in the exception log and search results are not returned. Aptify 5.5.3 updates an object and a JavaScript file in the web interface framework to ensure that users who do not have read access to an entity field cannot see that field in the Advanced Find dialog box, and that the Advanced Find feature works as expected. (Issue 18201)

Aptify Web: Entity Level Search Box Does Not Work When Field Level Security Enabled

Currently in the web interface, there is an issue where when field-level security is enabled for an entity, and a user attempts to search for that entity using the entity-level search box, the spinning wheel is displayed, and search results are not returned. Aptify 5.5.3 updates an object to support field-level security for the entity-level search box. (Issue 19702)

Aptify Web: Exception is Logged When Text Is Removed From Text box

Currently in the web interface, there is an issue where when a user enters text in a field and deletes that text from that field, an exception is logged. Aptify updates a framework object by adding null handling, so that in this scenario text can be deleted from a field without causing an exception. (Issue 20729)

Aptify Web Filter Rule Does Not Evaluate DateTime Field Values Correctly

Currently in the Aptify web interface, the date and time field values for Filter Rules does not work as expected. This is due to an error in the Filter Rule's DateTime evaluation logic, where when processing a DateTime field, the logic is not setting the value from the Entity object, leaving the value as undefined. Aptify updates two JavaScript files to ensure that the date and time field values for Filter Rules work as expected. In addition, these files updated the date parsing of Filter Rule Items and the GE Date Values, ensuring that the timezone offset is removed from both dates before a comparison, and support for the hh:mm time format. (Issue 20268)

Aptify Web: Global Search Box Does Not Work When Field Level Security Enabled

Currently in the web interface, there is an issue where when field-level security is enabled for an entity, and a user attempts to search for that entity using the Quick Search, the spinning wheel is displayed, and search results are not returned. Aptify 5.5.3 updates an object to support field-level security for the Quick Search. (Issue 19703)

Aptify Web: Height Problem with SubType First Load

Currently in the web interface, there is an issue where the SubType field is not displayed with the correct height as per the container when it is first loaded. Aptify 5.5.3 updates the Aptify.Framework.DataControls.UI JavaScript file to ensure that this scenario no longer occurs. (Issue 20474)

Aptify Web: Merging Two Records Creates Two Record History Entries

Currently in the Aptify web interface, there is an issue where when a user merges two record, two record history entries are created, when only one is expected. Aptify 5.5.3 adds logic in an object to ensure that in this scenario, only one record history entry is created, as expected. (Issue 19059)

Aptify Web: On Cloning, the Record Data is Missed for Some of the Fields

Currently in the Aptify web interface there is an issue where when a Person, Company, or Product record is cloned, some of the record data is missing in the cloned record. Aptify 5.5.3 updates the web interface framework to ensure that when a record is cloned, all of the record data is present in the cloned record. (Issue 17827)

Aptify Web: Optimize Calls to Get UI Parts Text in JavaScript API

Currently in the Aptify web interface, during calls to get the Text for a UI Parts record, either by ID or Name, the JavaScript API functions that retrieve the text from a UI Part record do not track whether or not a call to retrieve the text from the server is already in progress for that UI Part. This design can result in multiple server calls being made for the same UI Parts Text. Aptify 5.5.3 updates the JavaScript API functions, Aptify.framework.utility.cache.getUIPartText and Aptify.framework.utility.cache.getUIPartTextByName, that retrieve the Text of the UI Part to be aware of server calls already in progress and hook up subsequent calls to be processed when the original server call returns. This results in fewer server calls in this scenario. (Issue 21431)

Aptify Web Quick Search/Universal Search Can Return Duplicate Records in Search Results

Currently in the Aptify web interface, there is an issue where using the Quick Search or Universal Search can return a record more than once in the same results. This is due to a lack of filtering for duplicate results when the searches from various entities that use search stored procedures are aggregated. For example, during a search the Persons search stored procedure searches the Persons Indexed View, and the Addresses linked to the Person's Main Address is searched. If the search term matches a record on both Persons and Addresses, the record appears twice in the result. 

Aptify 5.5.3 updates database objects so that the Persons, Companies, and Attachments search stored procedures filter out any multiple results. When a search term hits on multiple criteria, the search rank will be updated with the sum of the individual hits, increasing the search rank for the record in the results.  (Issue 20916)

Aptify Web: Record History Shows Incorrect Time For Date Updated Column

Currently in the Aptify web interface, there is an issue where the Record History form displays the incorrect time in the Date Updated column. The time displayed is five hours behind the actual time the record was created or updated. Aptify 5.5.3 updates a JavaScript file in the web interface to ensure that in the Record History form, the Date Updated column displays the correct time the record was created or updated. (Issue 20716)

Aptify Web Site is not Browsable on iPad

Currently, there is an issue where sometimes when an iPad is used to run the Aptify web interface, the Aptify web site is unable to loaded. Aptify 5.5.3 updates two JavaScript files to ensure that the Aptify web site displays properly when an iPad is used to run the Aptify web interface. (Issues 21668)

Aptify Web/SOA: Possible Invalid JSON for Entity Record's Topic Codes, Attachments, and Alerts (Double Quotes)

Currently in the Aptify web interface, when an Entity record is retrieved in Aptify service oriented architecture (SOA), topic codes, attachments, and alerts information are converted to JavaScript Object Notation (JSON) and are appended to the JSON data for the Entity record. The text values for topic codes, attachments, and alerts are not marked-up to ensure valid JSON. There is an issue where in this scenario, when an Entity record has a topic code name, attachment name, description, or alert that contains invalid JSON characters like double-quotes ("), tab, linefeed or carriage return, the Entity record's JSON is invalid, and it needs to be updated to ensure that the text values are properly marked-up for JSON. Aptify 5.5.3 includes an update to ensure that JSON data for the Entity record is properly marked up in this scenario. (Issue 20990)

Aptify Web: Sub-Type Control Should Resize As Needed to Fill Available Area

Currently in the Aptify web interface, there is an issue where the windows for sub-types, such as GL Entries, are not automatically resizing to fill the available space. Aptify 5.5.3 updates CSS and JavaScript files to ensure that when a sub-type is displayed in the web interface, the window resizes to fit the content as expected. (Issue 19791)

Aptify Web: Support Calculated Virtual Fields

Currently in the Aptify web interface, bit fields that are virtual fields with a virtual field type of Calculated are not supported, and the related the check boxes are not displayed. The Aptify Desktop client uses simple bit (SQL Data Type) calculated fields to indicate various attributes. Aptify 5.5.3 updates a JavaScript file to parse boolean values for bit fields, so that the web interface can support bit fields that are calculated virtual fields, and display the related check boxes. (Issue 20884)

Bill To Address is Replaced With Bill To Persons Address on Order Refresh or Reopen After Saving

Currently in the Aptify web interface, there is an issue where the Bill To Address in an Order record is being replaced with the Bill To Persons Address from that Order after the record has been saved by a user and the user refreshes or reopens this Order record. Aptify 5.5.3 updates a JavaScript file to ensure that in this scenario, the Bill To Persons Address in an Order record does not change. (Issue 21420)

Check Box Component is not Working Properly for Virtual Fields

Currently in the Aptify web interface, the Check Box component can be edited, if it is bound to a Virtual field. Aptify 5.5.3 updates the Aptify Web framework to ensure that the Check Box component is disabled when it is bound to a Virtual field, (Issue 20331)

Companies Search May Return Unexpected Results

Currently in the Aptify web interface, there is an issue where searching for a company name returns results that do not have any of the search terms in the Name, website of Companies or Line 1, City of Address entities. Aptify 5.5.3 updates the spSearchConfigurationShell_FullText_Companies stored procedure by changing the alias of the Join field when searching for a match against an address to ensure that searches for a company name returns results as expected. (Issue 21671)

Correct the SQL for spLinkBoxLookup

Currently in the Aptify web interface, there is an issue where the spLinkBoxLookup stored procedure is failing to execute due to errors in the associated SQL. Aptify 5.5.3 updates the spLinkBoxLookup stored procedure to ensure that it works as expected. (Issue 20539)

Crystal Reports Not Working With Logged In User Context Instead Taking App Pool User

Currently in the Aptify web interface, there is an issue where Crystal Reports is not working with the logged in user context, instead it is always taking the App Pool user. This can affect the ability of a user to run a recently created report. Aptify 5.5.3 updates the Crystal Reports View CS file to ensure that in this scenario, the logged in user context is used, as expected. (Issue 20996)

Custom Metadata Based Configurations May Not Work In Aptify Web

Currently in the Aptify web interface, there is an issue where metadata-based configurations (plug-ins) sometimes do not work when they were inherited from stock Aptify plug-ins, and additional logic is written on top of the existing logic. Aptify 5.5.3 updates the Aptify web framework to ensure that metadata-based entity plug-ins and layouts are supported. To accomplish this, two objects and two JavaScript files are updated and database objects are updated. (Issue 21482)

Div or Subtype May Have Multiple Entries in DOM

Currently in the Aptify web interface, there is an issue where when a div or sub-type is opened multiple times by a user, multiple entries of that div or sub-type are created in the Document Object Model (DOM) is created. Aptify 5.5.3 updates 33 JavaScript files to call the destroy method to remove the HTML Elements associated with the dialog object for the div or sub-type. (Issue 20476)

Entity Fails to Save When Virtual Field Is Added for a Link to Service Data Objects

Currently in the Aptify web interface, there is an issue where when a user creates an entity with a linked field that contains a virtual field, the entity cannot be saved. Aptify 5.5.3 updates an object by adding logic that creates a foreign key from the current entity, which enables an entity with a virtual field to be saved as expected. (Issue 20714)

Error While Creating Product Price of Base Price Type in Rule-Based Process Flow Code

In Aptify 5.5.2, there is an issue in the web interface where when a user creates a product price of the base price type in a rule-based process flow code, an error is logged. Aptify 5.5.3 updates an object by adding a condition that checks that ProductPrices has a value set, to ensure that in this scenario, the creation of a product price in a rule-based process flow code works as expected. (Issue 21151)

In Link Box Component, Hyperlink Enabled Option Is Not Implemented

Currently, the Hyperlink Enabled option is not available for the Link Box component in the Aptify web interface. Aptify 5.5.3 updates the Aptify Web framework so that the Hyperlink Enabled option is available for use on the Link Box component. (Issue 20330)

Merge View Dependencies Dialog Locks Up Session

Currently in the Aptify web interface, there is an issue where when a user opens the merge tool, and a View Dependencies record is selected for merging, the session locks up (a blank dialog box with no data displays). This is due to an exception generated in a framework file. Aptify 5.5.3 updates a JavaScript file to ensure that in this scenario, a View Dependencies record can be merged as expected. (Issue 20774)

Opening Record from Wizard using entityObject

Currently in the Aptify web interface, there is an issue where when a user completes the running of a wizard, the related record type has to be opened manually. Aptify updates two CS files and two JavaScript files so that the entityObject is used to ensure that related record type is opened automatically once a user completes the running of a wizard. (Issue 20487)

Placement Issues for Radio Buttons When They Are Placed in Group Box Control

Currently in the Aptify web interface, there is an issue where when a user adds radio buttons in the Group Box control, the placement of buttons and labels on the form is not correct. Aptify 5.5.3 updates a JavaScript file by adding spacing between the labels of radio buttons to ensure that in this scenario, the placement of buttons and labels on a form is as expected. (Issue 20647)

Review and Remove Unnecessary JS Files from the Script Folder in Aptify Web Installed Path

Currently in the Aptify web interface, there is an issue where when an administrator views content of the Script folder in the Aptify web installed path, there are several unnecessary JavaScript files, such as AptifyHours, AptifyCashControlBatches, AptifyProducts, and AptifyPersons. Aptify 5.5.3 updates the Setup creation process to ensure that all JavaScript files identified as unnecessary to the functioning of the Aptify web interface are not added to the Script folder during the web server Setup process. (Issue 21343)

Space Threads Database Performance Optimizations

Currently in the Aptify web interface, when more than 1,000 Spaces threads have been created, the Spaces User Interface fails to load Space threads. This is due to a timeout occurring when the SQL executes to return the Spaces threads for the User's Feed. Aptify 5.5.3 updates the Space Threads entity, database objects, and setup program to improve the performance of the system when retrieving Space Threads records.  (Issue 20663)

Text Values With an A and Umlaut Mark Do Not Render Correctly When Entered in Web

Currently in the Aptify web interface, there is an issue where when a user enters text that includes a letter with an umlaut mark above it in a text box, the character does not display as expected. For example, the text "Währinger Gürtel" displays incorrectly as "W�hringer G�rtel". Aptify 5.5.3 updates methods in a JavaScript file to ensure that the web interface is able to display non-ASCII characters correctly in text boxes. (Issue 20340)

Topic Code Changes Made in Aptify Web are Not Saved to Desktop Client

Currently in Aptify there is an issue where changes made to Topic Codes in Persons records made in the Aptify web interface do not appear in the same records when opened in the Aptify Desktop client. Changes to topic codes in Persons records made in the web interface can be viewed in the web interface. Aptify 5.5.3 updates two .CS files in an object to ensure that this scenario does not occur. (Issue 21302)

UI Part Metadata Items Generator Process May Take Longer Than Expected

Currently the Generate UI Part Metadata Items process flow may take longer to execute than expected when a user makes a change to a record in the system. This occurs when the Event Handler that calls the process flow attempts to limit which metadata items are generated. However, the UIPartMetadataItemSelection input property is not configured properly so all UI Part Metadata Items are generated. Aptify 5.5.3 updates the Event Handler in the UI Part Metadata Items entity to correctly set the UIPartMetadataItemSelection source to ListOfUIPartMetadataItemIDs. (Issue 21145)

UI Problems Related to Photo Fields

Currently in the Aptify web interface, there is an issue where when a user updates or adds an image to a Product or Person record, the full size version of the image is displayed briefly before the image is updated in the record. Aptify 5.5.3 updates a CSS file, metadata, and a UI file to ensure that in this scenario, the image update works as expected. (Issue 20742)

Form Template Administration

The following issue was resolved in the Form Template Administration area as part of Aptify 5.5.3.

Aptify Web: Show Alerts Button on Form Template Toolbars

Currently in the Aptify web interface, the ability to view alerts for Form Templates is not available. Aptify 5.5.3 updates a JavaScript file to add the following to support the showing of alerts for Form Templates:

  • Alerts button that appears on all Form Templates. 
  • Text and tooltip of the Alerts button display the number of active alerts, when there are active alerts.
  • Alerts button is disabled when there are no alerts, and the tooltip displays "No Active Alerts".
  • When the Alerts button is clicked, a dialog box opens showing all the active alerts with their types and messages. 

 

Note

The alert types information is cached in memory to improve performance. Whenever a user makes changes to the existing alert types, the services application pool needs to be recycled to force the modified alert types to be loaded from the database.  

To enable user permission allotments to be reflected in alerts, Microsoft IIS needs to be reset and the application pool needs to be restarted.

 (Issue 20869)

Framework

The following issues were resolved in the Framework application as part of Aptify 5.5.3.

Allow Null Values for Person Links In Search Interaction Entity

Currently, the Search Interaction entity in the Machine Learning application has a required field, PersonID, that does not allow null values. Aptify 5.5.3 updates the metadata for Search Interactions entity record to ensure that the PersonID field allows null values, and is not a required field. (Issue 21237)

Export to Excel Generates Errors When Selecting Records From View on a Form

Currently, if a user selects record from a List view on a form (i.e., the Persons tab on Companies record), and then selects the Export to Excel option, an error may be generated. Exporting to Excel for selected records fails for most List views on a form, and it does not work at all for List views that are ViewID based (adds a second WHERE clause) or for SQL-based temporary views that are aliased. However, if all records are exported, the export to Excel works as expected. Aptify 5.5.3 updates an object file and updates meta data to ensure that users can select records from a List view and export them to Excel, and the export works as expected. (Issue 11645)

 

This fix only applies to the Aptify Desktop client.

Fix Handling of Arbitrary Types in Process Flow Runs

Currently in the Process Pipeline application there is an issue where there is an error in the way objects passed in to process flow runs were being type-checked and deserialized. Aptify 5.5.3 updates the Process Flow Engine by changing the Type.GetType call to ignore case and not throw exceptions on failure, which is necessary for non-object types like LONG that are passed without full type qualification. (Issue 21198)

If Parentheses are Available in Filter View Properties, Then in the Shared View the Filter Logic Is Cleared Out

Currently in Aptify, if the filter properties of a view are updated to include parentheses, and this view is shared with other users, the filter logic is cleared out when the shared view is opened. Aptify 5.5.3 updates the Aptify Framework application to ensure that the shared view in this scenario maintains the filter logic in place prior to the view being shared. (Issue 20541) 

Improve Entity Field Security Key (Encryption) Changes

One-Way Hash Security Key support was added in Aptify 5.5.2, and there are several encryption changes to Entity Fields that are not processed correctly, where changing from One-Way Hash to a symmetric encryption key fails to decrypt the values correctly. The Entity Field logic was not properly separating the old encryption settings (for decryption) and new encryption settings.  Aptify 5.5.3 updates the Aptify Security Key object by updating the code to correctly track both old and new settings. Note that it is not possible to retrieve the actual value from a field that has been encrypted with a one-way hash. If you are changing from a Security Key that is a one-way hash, the values are lost in the decryption, by design. In addition, the retrieval of SecurityKeyAttribute values has been optimized by incorporating the Attributes into the Security Key Cache, an in-memory cache. (Issue 21486)

In-Bound Control Should Not be Refreshed on Save

Currently, when the Disable GE data transfer component is set to true, the associated control is updated from the generic entity or is refreshed. Aptify 5.5.3 updates the control to ensure that when this component is set to true, the associated control is not updated from the generic entity or is refreshed. (Issue 20473)

Incorrect SQL Statement Generated For More Than 9 View Filters With Optimize Sub-Queries Option Selected

Currently, the Advanced SQL tab has no SQL statement for views with more than 9 filter conditions, the Optimize Sub-Queries option selected, and any of the filter logic is enclosed in parenthesis. This generates a silent error, The Index value provided was outside the range of the collection., which is logged to the Session Exception. Aptify 5.5.3 updates an object file to ensure that the correct SQL statement is generated in this scenario. (Issue 14188)

One Way Hash Problems with First Operation and with Multi-threaded Operations

In Aptify 5.5.2, there is an issue with the One-Way Hash Encryption functionality that is available with Aptify's Security Key Entity Field Encryption, where the first Hash executed with the one-way hash for a given Security Key is incorrect. There is also an issue where one-way hash operations running in a multi-threaded environment like a web server (e-Business and Aptify SOA) or Application Server can fail when more than one operation is attempting to hash with the same provider. Aptify 5.5.3 updates the Aptify Security Key object to address these issues. To resolve the incorrect Security Key issue, the object is updated by trimming the Security Key Value retrieved from the database before it is added to the cache and then returned to the caller. Previously, the cache value was trimmed but the original call received the untrimmed value. Different key values resulted in different hash values. To resolve the multi-threading issue, the cryptography object used to compute the hash is instantiated in a different way, using the object's Create method, and a new instance is retrieved for each hash operation. With these changes, hashing works in a multi-threaded environment and there is no need for locking blocks of code, which improves concurrency in a multi-threaded environment. (Issue 21472)

Persons Merge Produces Silent Error Related to Read Access Due to vwEntityInteractions

Currently in Aptify there is an issue where when a user runs a Person merge process, two silent errors are logged in the session exception. This is due to users not having read access to vwEntityInteractions. Aptify 5.5.3 updates metadata for Entity Interactions and Search Interactions to ensure that in this scenario, silent errors are not logged. (Issue 20639)

Problem with Add To List Functionality

Currently in the Aptify web interface, a user may be unable to add records to a list if there are a large number of system generated lists already in the database. Aptify 5.5.3 addresses this scenario by updating metadata to add a filter condition on the All Lists For AddToList view to exclude system-generated lists (which are created when running reports in Aptify). (Issue 21357

SubType Logic Changes From Index-Based to UniqueID-Based

Currently in Aptify there is an issue where environments that use filtered SubTypes that can show the same data in two separate SubType grids. This is due to the use of index-based identification for SubType records. Aptify 5.5.3 updates the SubTypes framework to use a unique identifier instead of an index for all operations to ensure that the expected SubType data displays correctly. (Issue 20328)

Support Dynamic Refresh Of The Most Recently Used Control's Content

In Aptify 5.5, when a record is created or updated, or a view is executed, the Most Recently Used (MRU) control on a dashboard is updated dynamically to show the updates. Currently in Aptify, when the same activities are performed, the MRU control on a dashboard is not updated dynamically. The MRU control needs to be refreshed manually to see the updated list. Toggling between Records and Views tabs also refreshes the list. Aptify 5.5.3 updates two objects to ensure that the MRU control on a dashboard displays created or updated records and executed views as expected. (Issue 20081)

Tab Menu Has Been Converted to Component

Currently in Aptify, the Tab menu is only available for records, and cannot be used on components. Aptify 5.5.3 updates a JavaScript file to address the need for the Tab menu on components by converting it to a component, which enables it to be used in any other component. (Issue 20329)

Update DataAction (SQLDataServices) to Allow Data Operation to be Excluded From a Transaction

Currently in Aptify, there is an issue where due to the system turning on "CanUseDefaultTransaction" in DataAction by default, it is possible that data operations that pass in a TransactionID of empty string ("") will be included in the default transaction. Some SQL operations will fail if they are executed inside a transaction. Aptify 5.5.3 updates an object to ensure that the operation will not be included in a transaction. To accomplish this, the DataAction methods that accept TransactionID are updated to support a new value, NoTransaction. When the TransactionID parameter is set to NoTransaction, the SQL that is executed will not participate in a transaction, even if CanUseDefaultTransaction is turned on and a Default Transaction is in progress. (Issue 19973)

Update Melissa Data International Address Verification Code

Currently in Aptify there is an issue where a user with a valid MelissaData license is unable to check international addresses. Aptify 5.5.3 updates the Melissa Data Web Service object file to ensure that users can check international addresses as expected. (Issue 20138)

Update Users Entity Object to Ensure that AddLogin Process Does Not Execute Inside a Database Transaction

Currently in Aptify, there is an issue where when the AddLogin process in the Users Entity object is triggered during the Save process, it fails if it is included in a transaction. The Users Entity object does not include the AddLogin process in a transaction, but it is possible that it could be triggered from another process that is already in a transaction. When a Default Transaction is in progress and the CanUseDefaultTransaction attribute is true, which is the default value, the operation could be included in the Default Transaction. If that happens, the operation fails. Aptify 5.5.3 updates an object to ensure that this scenario cannot occur. This is accomplished by updating the AddLogin logic to ensure that the database operation is not included in a transaction, and updated the AddLogin method to use the DataAction's support for NoTransaction value in TransactionID so that the AddLogin operation is included in the Default Transaction. (Issue 19975)

Messaging

The following issues were resolved in the Messaging areas as part of Aptify 5.5.3.

Aptify Web: Bulk Messaging Preview Generates an Error

Currently in the Aptify web interface, there is an error such that when Bulk Messaging is run through an Orders view and the Preview button is clicked, an error appears and the preview does not load. Aptify 5.5.3 updates the web interface by adding logic to select the Email field based on the Message source selected for bulk messaging. This logic always selects the first Email field in the Message Source records. This issue is applicable to the Aptify Web interface only. (Issue 19370)

Aptify Web: Insert Part Functionality Does Not Work

Currently in the Aptify web interface, there is an error where the ability to insert a part does not work in the Messaging dialog. A user can click the Add Part button in the Messaging dialog, the wait indicator displays, and an error is logged. Aptify 5.5.3 updates the Bulk Messaging Parts view to ensure the ability to insert a part in the Messaging dialog works as expected. This issue is applicable to the Aptify Web interface only.(Issue 20555)

Aptify Web: Message Not Sent To BCC and CC

Currently in the Aptify web interface, there is an error such that when a user adds a BCC or CC address (either Static or Field) and sends the message, the message is sent to the To addresses, but not the BCC or CC addresses. The Message Runs record does not indicate any errors, but in the Message tab, the BCC and CC fields are not populated. Aptify 5.5.3 updates an object to ensure that messages are sent to BCC and CC addresses as expected. This issue is applicable to the Aptify Web interface only. (Issue 20125

Bulk Messaging: Review Reports Functionality for Aptify Web

In Aptify 5.5.2, a Report tab was implemented in the web interface for Messaging to send reports with a message. However, this feature currently does not work as expected. When the message is sent with the report attached, it does not get delivered, though it does appear on the Reports tab of the Message Runs record. Also, when a user selects a report to be sent with a message, the user is only permitted to select another report, but there is no way to clear the selected report. Aptify 5.5.3 updates two JavaScript files in the Reports Wizard object to add the 32-bit version of Crystal Reports, code to allow a user to clear a selected report, and remove Paging. These changes ensure that in this scenario, the ability to deliver a message with a report attached works as expected. This issue is applicable to the Aptify Web interface only. (Issue 20062)

Messaging: Execute Generate Report Step Only When There Is A Report Attached With An Email Message

Currently in the Bulk Messaging feature, the Send Message Run With Report Option process flow is used to control the sending report attachments in emails. This process flow has a Generate Report step that is responsible for attaching the report to the email message. However, this step is executed irrespective of whether the email message has an attachment. Aptify 5.5.3 updates the Send Message Run With Report Option process flow to only execute the Generate Report step when the message has at least one report that needs to be run. (Issue 19711)

Process Pipeline 

The following issues were resolved in the Process Pipeline functionality as part of Aptify 5.5.3.

Aptify Desktop: CRM.resources Exceptions Are Logged When Adding Components to Process Flow

Currently in the Aptify Desktop client, there is an issue where when a user inserts a component into a new process flow, Unable to locate the object,CRM.resources silent exceptions are logged. This is caused by a missing object repository file, resource.ico.  Aptify 5.5.3 restores the resource.ico file to the object repository to ensure that in this scenario, silent exceptions are not logged. (Issue 19931)

Improve Error Logging of Create Message Runs Record Process Component

In Aptify there is an issue with the usability of the information provided in the error logging when the Create Message Runs Record process component fails to create a record. This process is part of the create, read, update, delete (CRUD) component that is automatically generated when an entity is saved. Aptify 5.5.3 updates an object to improve the usability of the error log provided in this scenario. The error log now indicates that a future time was specified for the Message Run, but the Message System is not configured for the creation of Scheduled Tasks. (Issue 20451)

Scheduling a View from Aptify Web Fails To Create Windows Task On the Application Server

Currently in the Aptify web interface, there is an issue where when a user schedules a view in an environment with an application server, a scheduled task record is created in Aptify, but a matching Windows task is not created on the application server. Aptify 5.5.3 updates a JavaScript file and the Aptify Views entity object to ensure that in this scenario, a matching Windows task is created on the application server, as expected. (Issue 21129)

Timeout Error When Sending Messages Using a Scheduled Task

Currently in Aptify there is a issue where when messages are being sent using a scheduled task, a timeout exception is generated when the query has a large number of transactions. Aptify 5.5.3 creates a new stored procedure, spGetScheduledTasks, and a new non-clustered index, IX_ScheduledTask_ProcessFlowID, to break down the query into multiple steps to increase efficiency. (Issue 19239)

Product Maintenance

The following issues were resolved in the Product Maintenance application as part of Aptify 5.5.3.

Aptify Web: Cannot Create/Modify Pricing Rule Record

Currently in the Aptify web interface, the ability to create or modify a Pricing Rule record is not supported. Aptify 5.5.3 updates a JavaScript file in the web interface, which enables the ability to create and modify Pricing Rule records. (Issue 15920)

Some Stock Products Cannot be Added to the Orderline on the Web

Currently in the Aptify web interface, there is an issue where some of the existing products cannot be added to an orderline. When this issue occurs, a message prompt is received similar to the following:

 

Unable to add the Product to the Order:Product is outside the available sales date range based on the current Order Date

 

It appears that in these instances, the Aptify web interface does not send requests to the backend for these products, and the error message is generated. Aptify 5.5.3 updates a JavaScript file to ensure that in this scenario, existing products are able to be added to an orderline as expected. (Issue 21538)

Setup Program

The following issues were resolved in the Setup program as part of Aptify 5.5.3.

Add Appropriate Permissions To Preferred Communication Methods Entity

Currently in Aptify, the SA user has create, read, updated, and delete (CRUD) permissions for the Preferred Communications Methods entity, while the Administrators group has read access to this entity. A side effect of this is that when the Aptify setup is run by a user other than the SA, the Setup program can fail to create the Sample Space Persons record, and in turn, Spaces records. Aptify 5.5.3 updates the Setup program to give CRUD permissions to the Preferred Communications Methods entity to ensure that Spaces records are created as expected. (Issue 20257)

Aptify Web: Provide Description For Metadata Added by Web Server Setup for GA Issues

The Aptify web interface has added metadata (views, database objects, entities, Process Flows, records etc.) that drives the functionality in the HTML5 web application. However, not all of the metadata has an appropriate description. Aptify 5.5.3 updates the web interface metadata, adding the appropriate description to these items to explain the functionality. In some cases, the descriptions include information about not modifying the records or to be careful when modifying the records, since it could interfere with the functionality. (Issue 18040)

Update SOA Group Permissions and Entity Plugins to Follow Best Practices

Currently in Aptify, the service oriented architecture (SOA) group permissions and location of the entity plugins do not conform with best practices. Aptify 5.5.3 updates metadata in the Setup program to follow best practices for SOA group permissions and the location of entity plugins. The permissions for the following entities are updated to include create, read, updated, and delete (CRUD) permissions for the AptifySOAAppPoolGroup: 

  • Service Applications
  • Authorization Plugins
  • Caching Policies
  • Controller Configuration Collections
  • Controllers
  • Http Methods
  • Controller Configurations
  • Service Application UI Parts
  • Service Process Flows
  • Service Data Objects

The following entity plugins now reside in the Services package instead of the CRM package of the Object Repository:

  • Service Applications
  • Authorization Plugins
  • Caching Policies
  • Controller Configuration Collections
  • Controllers

(Issue 20660)

Spaces

The following issues were resolved in the Aptify web interface Spaces function as part of Aptify 5.5.3.

Aptify Web: Remove AccessControlList Linked Field from Spaces Entity

Currently in the Aptify web interface, the Spaces entity contains a linked field to the Access Control List (ACL) ID. Aptify 5.5.3 changes how ACLs are implemented in the web interface, and these changes eliminate the need for this linked field. To remove the field from the Spaces entity, four database objects were deleted, and two were updated. (Issue 21353)

Person Information Is Cached Under Spaces

Currently in the Aptify web interface, there is an issue where the person information displayed under Spaces is cached. If the person link changes in the corresponding user record for some reason, the old person information continues to appear and the records are created under the old person until the browser cache is cleared. Aptify 5.5.3 updates a JavaScript by adding code to always fetch fresh personData, to ensure that this scenario does not occur. (Issue 20161)

Viewing System

The following issues were resolved in the Viewing System as part of Aptify 5.5.3.

Adding Parenthesis To Filters In Advanced Filter Logic May De-Optimize The Sub Query

The Aptify viewing system provides an option to optimize sub-queries, which are generated when filters are added based on a related service. However, there is an issue where when the addition of parenthesis in the filters causes sub-query results that are not optimized. Aptify 5.5.3 updates an object to ensure that in this scenario, the sub-query results are optimized as expected. (Issue 20243)

Aptify Web: Chart Views: Support Messaging On Drill Down Views

Currently in the Aptify web interface, the ability to send messages on drill down views opened from a Chart view is not supported. Aptify 5.5.3 updates a JavaScript file to support messaging on drill down views opened from the chart view. (Issue 19056)

Aptify Web: Improve User Experience When Working With NOT Filter Logic

Currently in the Aptify web interface, the NOT filter logic is difficult to use, and in complex views, there is no easy way to add them. For example, it is difficult to construct filter logic such as 1 AND 2 AND NOT (3 AND 4). Clicking on the NOT icon always adds the NOT filter for the filter line where it was clicked and is within the parenthesis. Aptify 5.5.3 updates a JavaScript and a CSS file to improved the usability of the NOT filter logic in the web interface, so that it can be set at the top, group, and individual levels. This enables the filter to be used in more complex view filtering statements. (Issue 20248)

Aptify Web: Map Views in a Dashboard Should Expand to Fill Available Space

In the Aptify web interface, if a dashboard contains multiple collapsible dashboard parts and a user collapses all parts but a Map View part, the map view does not expand to fill the entire space. Aptify 5.5.3 updates the web interface to ensure that in this scenario, the map view behaves as expected. (Issue 19830)

Aptify Web: Page Control Not Visible on a Chart's Drill Down View Tab

Currently in the Aptify web interface, there is an issue where when a user drills down to an ELV in a section of a chart view, the page control at the bottom of the Drill Down tab is not visible. The user can see the page control when browser's zoom is changed to 90 percent. Aptify 5.5.3 updates the web interface to resize drill down charts so that in this scenario the page control is visible as expected. (Issue 19021)

Aptify Web: Prompted Chart View Drill Down Does Not Work

Currently in the Aptify web interface, there is an issue when when a user creates a prompted pie chart view, the drill down does not load, and no exception is logged. The same scenario applies to a bar chart view as well. Aptify 5.5.3 updates JavaScript and CSS files to ensure that the drill down functionality for the pie chart and bar chart views work as expected. (Issue 19008)

Aptify Web: Prompted View May Cause System to Become Unresponsive for User and Other Users

Currently in the Aptify web interface, when a user is working with a prompted view that contains a large amount of data (that is data that is not cache automated based on the current settings), the view can become unresponsive when the user pages to records that have not yet loaded.This issue occurs when the prompt data is not sent to the server. Aptify 5.5.3 updates a JavaScript file to ensure that the prompt data is added in the call, which ensures that the data in this scenario displays as expected. (Issue 20771)

Aptify Web: Refresh Button Not Available For Chart View

Currently in the Aptify web interface, there is no option available to refresh chart view data. Aptify 5.5.3 updates a JavaScript file to add a Refresh button on chart views, which enables a user to refresh chart data. (Issue 16934)

Aptify Web: Remove Preview Pane Option From View's More Option

Currently in the Aptify web interface, the Preview Pane option available for a list view is not working as expected. Aptify 5.5.3 updates a JavaScript file to remove the Preview Pane option from the More drop-down list, disable the Show Preview Pane and Preview Template options in the list view configuration, and the Preview button from the List view toolbar. The Preview Pane option will be reviewed for inclusion in a future release.  (Issue 20762)

Aptify Web: Support View ID Of Chart View Type As A Drill Down View On A Chart View

Currently for chart views in the Aptify web interface, a view of any type can be specified as a drill down (through the Display tab). However, the drill down view always loads as a list view with columns in random sequence. Aptify 5.5.3 updates two JavaScript files to ensure that in this scenario, if a view is specified under the Display tab and the view type is a chart view, a user can drill down, and the Drill Down tab displays the view in the same format as the original chart view. The results are filtered based on the section of the chart clicked. (Issue 20261)

Aptify Web: Support View ID Of List View Type As A Drill Down View On A Chart View

Currently for chart views in the Aptify web interface, a view of any type can be specified as a drill down (through the Display tab). However, the drill down view always loads as a list view with columns in random sequence. Aptify 5.5.3 updates two JavaScript files to ensure that in this scenario, if a view is specified under the Display tab and the view type is a list view, a user can drill down, and the Drill Down tab displays the view in the desired format of the specified drill down list view. The results are filtered based on the section of the chart clicked. (Issue 20260)

Aptify Web: UI Issues in Chart View Properties

Currently in the Aptify web interface, there is an issue where the fields in the Primary and Secondary sub-tabs are not displaying completely until a user expands the view properties window. Aptify 5.5.3 updates a CSS file to ensure that the fields in the Primary and Secondary sub-tabs of the chart view properties are displaying as expected. (Issue 20043)

Aptify Web: Views (Card/Calendar/Chart) Are Not Opening Properly When They are Already Loaded and Up Front in Active Tab

Currently in the Aptify web interface, there is an issue were when card, calendar, and chart views have been opened, loaded, and are up front in the active tab, opening these views from another location results in a blank view being displayed. Aptify 5.5.3 updates a JavaScript file to ensure that in this scenario, the card, calendar, and chart views display as expected. (Issue 19622)

Aptify Web: While Changing the Summary Function on View Properties Chart View is Not Loaded

Currently in the Aptify web interface, when a user attempts to change the summary function on a chart view, the chart view does not display. Aptify 5.5.3 updates a JavaScript file to ensure that in this scenario, the chart view displays as expected. (Issue 20538

Base Views: Multiple Base View Between View May Fail to Run

Currently in the Viewing System there is an issue where when a user creates a view using an alternate base view, and the view includes a calculated or standard in-table date field, creating a filter using the Between operator can cause the view to fail. Aptify 5.5.3 updates an object to ensure that a view in this scenario works as expected. (Issue 16740)

Chart View Does Not Load When Group By Data Contains Special Characters

Currently in Aptify, there is an issue where when the answer for a survey contains a special character (e.g., /,%,( ), ', &,",?), the user is unable to drill down in a Chart view drill down and an error is thrown. Aptify 5.5.3 updates two .CS files, a JavaScript file, and two objects to ensure that in this scenario, the use of special characters in a drill down options is supported, and the Chart view drill down works as expected. (Issue 21403

Problems in Prompt View Date Filtering for Aptify Web

In Aptify 5.5.2, there is an issue in the web interface where the date filters for view properties are not working correctly. Scenarios include Prompt views based on date filters are not displaying the date value filter, prompt dialog not appearing when a user attempts to create a date prompt filter, and the date icon and Prompt button taking too long to display, with the Prompt button not functioning after it displays. Aptify 5.5.3 updates a JavaScript file by adding a condition to set the prompt view string to filter on loading the view settings from the entity view, when prompt view is filtering on a date value. (Issue 21327)

Records With Non-US Address Do Not Appear On a Map View

Currently in the Aptify web interface, there is an issue where Map views for addresses that are located outside of the United States are unable to be displayed. Aptify 5.5.3 updates an object file, a JavaScript file, and metadata to ensure that Map views can be displayed for addresses outside of the United States. This is accomplished by modifying the existing logic to fetch latitude and longitude information using the Google Geocoding API for those records for which latitude and longitude information are not in the database. In addition, the logic now optionally passes the country name and to make a lookup for the  CountryCodeID and PostalCode fields on EntityMetadata instead of ViewMetadata. (Issue 19163)

Spelling Errors In Warning Message for Find Feature in Aptify Web

Currently in the Aptify web interface, there are spelling errors in the warning message that is displayed when a user accesses the Find feature from Link box Search button, the user specifies filters to restrict the data returned, and a filter field is blanked out. Aptify 5.5.3 updates a JavaScript file to update the warning message displayed in this scenario, correcting the spelling errors. (Issue 21397)

SQL Generated Twice for the Default AND Behavior

Currently in Aptify, there is an issue where sometimes after the creation of a new view, the SQL in the Advanced (SQL) tab is generated twice for the default AND behavior. Aptify 5.5.3 updates the Aptify Views Entity object to ensure that in this scenario, the SQL is generated once. (Issue 20656)

Resolved Issues (Core Business Applications)

The following core Aptify Business Application issues have been resolved in the Aptify 5.5.3:

Accounting

The following issue was resolved in the Accounting system as part of Aptify 5.5.3.

Delete Trigger Is Not Declared on truUpdateCashCtrlBatchDet

Currently, after a user creates a Cash Control Batch record, and then modifies one of the records by deleting one of the customer's cash records, the total for that Cash Control Batch record does not update accordingly in a view. Aptify 5.5.3 updates the SQL text for the trUpdateCashCtrlBatchDet database object to ensure that the Case Control Batch record information is updated as expected in this scenario. (Issue 20053)

 

This fix only applies to the Aptify Desktop client, as the Cash Control Batch component is not supported in the Aptify web interface in Version 5.5.3.

Business Applications

The following issues were resolved in the Business Applications as part of Aptify 5.5.3.

Aptify Web: If Group By and Display As Are Same Drill Down Does Not Work for a Chart View

Currently in the Aptify web interface, there is an issue where when a user creates a Chart view and the values match in the Group By and Display As fields in the Chart > Grouping > Primary Grouping tab of the Create View window, the user is unable drill down in the view and an exception is logged. Aptify 5.5.3 updates a JavaScript file to ensure that in this scenario, the drill down works as expected. (Issue 21456)

Concurrency: Quotation Order Save Process Creates a Deadlock When Multiple Users Try to Save Orders at Same Time

Since Aptify 5.5.1, there is an issue that can occur when several quotation orders are being saved concurrently on multiple systems using unique users. As a result, some or one of the orders may receive a Deadlock error and the Save operation fails. Aptify 5.5.3 updates five stored procedures and two triggers to ensure that in this scenario, the quotation orders can be saved as expected. In addition, Aptify recommends that system administrators consider enabling SQL Server Snapshot Isolation to further address concurrency deadlock issues if they occur on your system. See Enabling SQL Server Snapshot Isolation for more information about SQL Server snapshot isolation, and steps for enabling this function. (Issues 21395 and 21533)

Customer and Member Management

The following issues were resolved in the Customer and Member Management system as part of Aptify 5.5.3.

Member Type Form: "Yes" option for Is Member Drop Down Cannot be Selected or Displayed in Aptify Web

Currently in the Aptify web interface, there is an issue where the Yes option in the Is Member drop-down list found in a Member Type record cannot be displayed or selected. Aptify 5.5.3 updates the Aptify web interface so that the Is Member field is now an option with a check box, allowing this option to be selected in a Member Type record. (Issue 16561)

Saved Payment Method Record Cannot be Created or Modified from Aptify Web

Currently in the Aptify web interface, a Saved Payment Method record cannot be created or modified from an Order form. Aptify 5.5.3 updates the Aptify web interface so that a Saved Payment Method record can be created or modified from an Order form. (Issue 16643

Expos

The following issues were resolved in the Expos system as part of Aptify 5.5.3.

Aptify Web: Booth Surcharge Is not Correctly Added to the Order Total

Currently in Aptify an error occurs when a user adds an Expo product with a booth that has a surcharge in the Aptify web interface, where the order total does not reflect the surcharge amount correctly. At times the surcharge is calculated, but it is not the correct amount, and sometimes the surcharge is not calculated in the overall order total at all. This scenario also logs an undefined error, "Cannot read property "isContainskitsubproductOrderline". Aptify 5.5.3 updates the surcharge amount calculation code in the Expo system for products having booths compared in code and sets the updated price, so that the booth surcharge is added to the order total as expected. (Issue 19793)

With Aptify Web 5.5.3, the booth surcharge is calculated correctly when adding a booth that includes a surcharge to a new order. For existing orders, you can change the booth as long as the surcharge amount is the same between the two booths. The surcharge amount may not recalculate correctly when modifying a booth on a saved order (in the Taken status). If you need to modify a saved Taken expo order, Aptify recommends that 5.5.3 users use the desktop client to modify the order.

Message About Booth Surcharge Appears Inappropriately When Selecting Booth On a Shipped Order

Aptify provides the ability to select a booth after the order has been shipped. Once the booth is selected, the Expos system requires that the order line pricing must remain the same. An error can occur in this situation, where upon selecting a booth with no surcharge after the order has shipped, a message box appears indicating that a booth with $0.00 surcharge has been selected. Aptify 5.5.3 updates the Expos system such that when this scenario occurs, no message box displays. (Issue 20240)

Meeting and Housing Management

The following issues were resolved in the Meeting and Housing Management system as part of Aptify 5.5.3.

Aptify Web: Support Education Units for Class of Type Meeting

Currently in the Aptify web interface, an error can occur such that education units allocated to a Meeting class type cannot be saved. When a new education unit record is created and saved, the record is not saved, and an error is not displayed. Aptify 5.5.3 updates an object to ensure that an Aptify web interface user can save education unit records with a Meeting class type. (Issue 20743)

Aptify Web: Various Issues With New Meeting Wizard

Currently in the Aptify web interface, there are several issues with the New Meeting wizard, including: 1) Edit selected record function is not working as expected, 2) Meeting Management application returns an invalid exception during an Unselect session operation, and 3) User is unable to clone a meeting a second time. Aptify 5.5.3 updates the New Meeting wizard to ensure that the wizard works as expected, and that these scenarios do not occur   (Issue 18393)

Aptify Web: When Three Different Users Try to Save the Order for Meeting Product, for Two Users Timeout Error is Thrown

Currently in the Aptify web interface, there is an issue where when three different users try to save the order for a meeting product, a timeout error is thrown for two of the users, Aptify 5.5.3 updates the Meeting Management application to ensure that when three different users try to save the order for a meeting product, the saving process works as expected. (Issue 18493)

Education Units Record Not Created When Registration Status is Changed Directly From Meeting Registration Record

Currently in Aptify, when creating a meeting order, education units can be automatically added to the order line if a Meeting product is configured with an education units sub type record. When the registration status for the meeting is changed to Attended, the appropriate top level Education units are created and if the meeting is linked to a class, the corresponding Class Registration record's status changes to Passed. However, an error can occur when the registration status is changed to Attended directly from Meeting Registration record, where education unit records are not being created, and the corresponding Class Registration record, if available, is updated to a status of Passed. Aptify 5.5.3 updates two objects and adds new database objects to ensure that educations records are created when the registration status in the Meeting Registration record is changed to Attended.

Note that with this update, Aptify will generate the appropriate Education Units/Certifications when a user changes the Meeting Registration's status from the Order Line, using the Close Meeting wizard, or directly from the Meeting Registration record. For classes that use a meeting (i.e., meeting/class integration), Aptify will generate the appropriate Education Units/Certifications when a user changes the registration's status from the Order Line, using the Close Meeting wizard, or directly from the Class Registration record, but not directly from the corresponding Meeting Registration record. Aptify is tracking the need to generate Education Units from a Meeting Registration record tied to a class as an issue for resolution in the next release. (Issue 16784)

Max Registrations Can Be Exceeded When Converting Quotation To A Regular Order

Currently in Aptify, when the Max Registration threshold is set for a Meeting product, an error can occur when the Max Registration value is reached and a quotation order (that was created prior to the threshold being reached) is being converted to a regular order, causing the threshold to be exceeded. At this time, the message warning the user that the Attendee will be placed on wait list does not appear, and the person is added as a Registrant there by causing over registration. In addition, orders for individuals on the wait list cannot be shipped. Aptify 5.5.3 updates several objects to ensure that the waiting list message is sent as expected, and that the person is not added as a Registrant. Also, by creating a new entity attribute for the Orders entity (AllowShippingWaitListOrders) and setting it to 1, an organization can now ship orders for individuals on the wait list so revenue can be recognized.  Note that shipping wait listed orders will result in negative inventory for the meeting product, and this only works if the meeting product has the Calculate COGS box unchecked (which is the system default setting).  (Issue 20223)

Note

Before enabling AllowShippingWaitListOrders, please consider the following side effect: Once a user ships a meeting on the Wait list, the meeting status can be changed to Registered, even when the registration count exceeds the space available. So, once the user ships the Waiting registration (or class registration), the meeting status can be changed to Registered manually in the Meeting Registration or Order records to change that person to registered even when there is no space available in the meeting or class. Also, a user can change the class registration status from Pending to Registered, which flips the meeting registration status to Registered, even when there is no available space in the class. So, depending on how users update registration status, you may see situations where the number of registrants or attendees exceeds the maximum number of registrations on the meeting.

Meeting Close Wizard Support for Meeting Class Product

Currently in the Aptify web interface, there is an issue where when a user attempts to run the Close Meeting wizard from the Meeting Info tab of a Meeting Class product, an error is logged and the registration status of the attendees does not change. Aptify 5.5.3 updates two JavaScript files to ensure that the Close Meeting wizard works as expected. (Issue 20613)

New Meeting Wizard Should Handle Blank Offer Start Date

The Offer State Date field in the Meeting Hotels form is required by default. However, the Meeting Hotels form can be modified to remove the requirement for Offer State Date field, leaving the field blank. Currently, the New Meeting wizard has an issue where the wizard fails when it attempts to copy Meeting Hotel records that have a blank offer start date. Aptify 5.5.3 updates an object to handle blank values for the Offer State Date field. (Issue 20509)

Registration Error When Converting Quotation to a Regular for Meeting/Class Product

Currently in Aptify, an issue exists where when a user converts a quotation order to a regular order for a Meeting/Class product, a registration error is logged. Aptify 5.5.3 updates an object to ensure that a registration error is not generated in this scenario, and that the order is modified as expected. This update also ensures that manually changing the status to Pending for Classes that use the Class and General product types results in a registration error. (Issue 20561)

Typo in Code for New Meeting Wizard

Currently in Aptify, there is an issue where when a user runs the New Meeting wizard when the Organization ID field is required. This issue is caused by a spelling error in the process component that handles the update of the Product fields. The code to get the value of the Category ID field misspells the name of the field, and as a result the data is not found and the New Meeting wizard fails with a Blank Organization is required error. Aptify 5.5.3 updates an object by correcting the spelling of the field, ensuring that in this scenario, the New Meeting wizard does not fail. (Issue 20874)

Orders

The following issues were resolved in the Orders system as part of Aptify 5.5.3. 

Aptify Desktop: Message for Backorder Is Not Displayed Correctly

Currently in the Aptify Desktop, there is an issue where when a user changes an order type from regular to backorder, the message displayed in the dialog box contains an extra "&" special character (appearing as "The &Order Type"). Aptify 5.5.3 updates the OrderControls object to ensure that in this scenario, the message displayed is correct. (Issue 21312)

Aptify Web: Credit Card and Reference Expiration Dates Do Not Clear Out if Payment Types on SPM Record Are Modified

Currently in the Aptify web interface, there is an issue where when a user modifies the Payment types on a Saved Payment Record (SPM), the credit card and reference expiration dates 
do not clear out. Aptify 5.5.3 updates the Aptify.Applications.PaymentInformation.UI and Aptify.Framework.DataControls.UI JavaScript files to ensure that this scenario does not occur. (Issue 21262)

Aptify Web: Order Cancellation Wizard Does Not Consider Refund Shipping Flag

Currently in the Aptify web interface, there is an issue where when a user attempts to cancel a shipped order, and the Refund Shipping option is selected in the Order Cancellation wizard, the order balance is incorrectly calculated. This is due to the Order Cancellation wizard not acting on the value of the Refund Shipping option. Aptify 5.5.3 updates the Order Cancellation wizard object to ensure that the ability to cancel the shipping and handling charges for an order is supported in the Aptify web interface. (Issue 21146)

Aptify Web: Order Line Field Assumes Extended Products Are Meetings

Currently in the Aptify web interface, there is an issue where the content of the Description column in the Order Line indicates that all extended products are meetings by including space for the AttendeeID field. Aptify 5.5.3 updates two JavaScript files to ensure that the content of the Description column in the Order Line accurately reflects the type of extended products present. (Issue 19421)

Aptify Web: Show Cancellation Fee Products Feature Not Available 

Currently in the Aptify web interface, the Order Cancellation wizard does not provide the ability to show/hide Cancellation Fee Products using a button, and use the related functions, as is available in the Aptify Desktop client. Aptify 5.5.3 updates JavaScript files, schema, and metadata to enable the Show/Hide Cancellation Fee button and its related functions in the web interface. (Issue 16744)

Aptify Web: Support for One Dollar Authorization

Currently in the Aptify web interface, there is an issue where an organization is unable to set the NoZDASupport entity attribute in the Payments entity to a value of 1, to start using a $1.00 authorization and void model to retrieve a credit card reference transaction, rather than a $0.00 authorization. This issue applies to credit card reference transactions when there is a requirement to obtain an authorization number without charging any amount (the reference number should be captured for later use, since the credit card number cannot be saved in the database). Zero dollar or one dollar authorizations are used in quotation orders, saved payment methods, and marketplace listings. Aptify 5.5.3 updates the payments functionality to ensure that when a user sets the NoZDASupport attribute to 1, the user should see a $1.00 authorization and $1.00 void transactions any time the system retrieves a reference number without making an actual authorization. (Issue 20206)

Cannot Create an Orders Base View With OrderType as Field

Currently in Aptify, there is an issue where a user cannot create a base view of orders when the Order Type is one of the fields in the base view. The Orders entity cannot be saved, the base view does not get created, and an error is logged. Aptify 5.5.3 updates an object to ensure that a base view of orders can be created when the Order Type is one of the fields in the base view.  (Issue 20524)

Cannot Save an Order That Has Been Modified Without Opening the Order Again

Currently in Aptify, there is an issue where when a user is modifying an order and tries to ship it, a dialog box displays stating that the order cannot be saved order because it has already been changed by another process, and that the order should be reopened to refresh it with the latest information. Aptify 5.5.3 updates an object to ensure that an order can be modified without having to open the order again. If the two users are shipping the same order from different sessions, the Orders system does not generate double GL entries. (Issue 20083)

Comments From Original Order May Sometimes Not Carry Over To Cancellation Order

Currently in Aptify, there is an issue with the Order Cancellation wizard, where when the wizard is run, sometimes the comments entered on the original order do not carry over to the cancellation order. This is caused by the field size for the comments being too small, so lengthy comments are not being copied to the cancellation order. Aptify 5.5.3 updates the object file for the wizard to ensure that all comments are copied from the original order to the cancellation order. (Issue 17666)

Incorrect PO Payment Type May Be Picked By Order Cancellation Wizard When System Contains Multiple Purchase Orders

In Aptify 5.5.2 and earlier, when an organization has multiple Purchase Order payment type records, the Order Cancellation wizard does not always pick the correct one when keeping the refund on account. Aptify 5.5.3 updates the SQL in the spGetPurchaseOrderID stored procedure to ensure that results are always returned in same order. The spGetPurchaseOrderID stored procedure is responsible for retrieving the purchase order to use for cancellations and the Meeting Transfer wizard. By default, the stored procedure does not pick the Payment Type of Purchase Order Type with the lowest ID. (Issue 20276)

Improve Thread Safety of PaymentTypeCache and ShipmentTypeCache

Currently in Aptify, there is an issue where when using the Aptify Point of Sale (POS) add-on application with multiple users, and the first orders posted simultaneously on multiple iPads, exceptions from the PaymentTypeCache and ShipmentTypeCache are logged. This is due to PaymentTypeCache and ShipmentTypeCache having areas that are not fully thread safe. Aptify 5.5.3 updates two objects to ensure that in this scenario, the first orders sent no longer raise exceptions in the PaymentTypeCache and ShipmentTypeCache. (Issue 21512)

Initial Payment For $0 Prepayment Product Fails to Generate Payment Records

In Aptify 5.5.2 and earlier, there is an issue where adding an initial payment for an order for a $0.00 product, payment records showing the negative balance are not generated when the order is shipped. The  Payment record must be created by hand to address the error. Aptify 5.5.3 updates an object file to have the Orders system check whether a product has a $0.00 price and an initial payment amount, and if the value is greater or less than zero, a Payment record is generated. (Issue 20444

Orders: Ship Type On Orders Gets Reset When Opened From Another Orders Form

Currently in Aptify, there is an error that occurs when Orders has been configured to use multiple shipment types and an Order record is open, and a user uses the Find button on the menu to open an existing Order record that uses a different shipment type from the other open Order record, the user receives a dialog box asking whether they would like to change the shipment type of this order, with Yes and No options. Selecting either option results in the shipment type of the second Order record being changed to match the shipment type used in the first Order record. Aptify 5.5.3 updates two objects and metadata to ensure that if this scenario occurs, that dialog box does not open and the shipment type of the second Order record remains the same. (Issue 17567)

 

Note

If the user opens an Order record using the Find button, and changes the shipment type, the warning dialog box does not appear, and the shipment type updates. 

Orders: Tax Calculation Support When Shipping/Handling Charges Are Included in Tax in Aptify Web

Currently in the Aptify web interface, the Charges Include Tax option on the Shipment Type Matrix form is not supported. This option enables the shipping and handling charges to be included in the taxes on an order, Aptify 5.5.3 contains updates that enable the use of this option in the Aptify web interface. (Issue 16215)

Orders Tax Calculation Where Product Price Includes Tax Amount in Aptify Web

Currently in the Aptify web interface, there is an issue where when the product price amount already includes tax amount, the tax amount is not correctly calculated. Aptify 5.5.3 updates the Product Price function, so the correct values are now available. A JavaScript file was updated to add logic to skip the set value while applying the server changes. (Issue 16056)

Reference Transaction Saved as Payment Method for Persons When Using Company SPM

Currently in Aptify there is an issue where when a reference transaction is saved as a Company Save Payment Method (SPM), the information is stored as a Persons SPM in the Persons record of the person on the order, instead of as a Company SPM in the Company record for the company on the order. Aptify 5.5.3 updates an object and the database objects to ensure that when a reference transaction is saved as a Company SPM, the information is stored as a Company SPM in the Company record for the company on the order.

 

Note

 This update only applies to the Aptify Desktop client, as adding SPMs from an Order was not supported for the Aptify web interface until this release.

Refund Payment Wizard Produces Error When The Date Format is Not the U.S. Format

Currently in Aptify, there is an issue with the Payment Refund wizard, where when running the wizard, if the computer is set to use the dd/mm/yyyy date format, the refund is not allowed, and errors are logged. Aptify 5.5.3 updates the Refund Payment wizard to support the use of the dd/mm/yyyy date format, so that the wizard allows the payment to be refunded as expected. (Issue 19814)

 

Note

 This update only applies to the Aptify Desktop client, as the Refund Payment wizard was not supported for use the Aptify web interface until this release.

Saved Payment Method Record Saved Successfully for Invalid Credit Card Number in Aptify Web

Currently in the Aptify web interface, there is an issue where a user is able to successfully save a Saved Payment Method record with an invalid credit card number. An attempt to save an invalid credit card number should result in a validation message similar to the following “The credit card number you entered does not match the payment type you selected, Visa. Please select a different Payment Type.”. Aptify 5.5.3 updates an object to ensure that this scenario does not occur. (Issue 21358)

Standing Order Fulfillment: Any Exception Occurring During Standing Order Fulfillment Wizard Run Should be Logged as Web Exception

Currently in Aptify, there is an issue with the Standing Order Fulfillment wizard, where any exception that occurs while the wizard is running generates an error that informs the user that the wizard has failed and that they should review the event log for details. This does not give enough visibility to the exception. Aptify 5.5.3 updates the Standing Order Fulfillment wizard such that any exception that occurs while the wizard is running results in an error that informs the user that the wizard has failed that that they should contact a system administrator for details. (Issue 20612)

Unable to Refund the Payment in Specific Scenario

Currently in Aptify there this an issue with the Payment Refund wizard where the wizard only shows orders or gives the ability to refund a payment when the order balance is less than 0. When this occurs, a dialog box displays stating that the selected payment does not have an order, and that they should choose a different payment number.  Aptify 5.5.3 modifies the Payment Refund wizard by updating the spGetOrdersRelatedtoPayment stored procedure to add a Union clause to also include the order to which the payment is applied, which ensures that the wizard refunds the payment as expected. (Issue 20301)

Products

The following issues were resolved in the Products application as part of Aptify 5.5.3.

Aptify Web: Filter Rule Is Not Applied And No Prerequisites Validation Message Displays for Product Prerequisites

Currently in the Aptify web interface, there is an issue where when a user adds an order for a product with purchase requirements, and the order does not meet those requirements, an error message is not displayed. The filtering is being applied, but saving this order a second time does result in the issuing of the Unable to add the Product to the Order: The order does not meet the purchase requirements for this product. See the product for information on its prerequisites error message. Aptify 5.5.3 updates the Products application by modifying three objects, modifying two JavaScript files, and adds three fields in a view for the Desktop client. (Issue 15994)

Aptify Web: Outstanding Problems in Kit Product

Currently in the Aptify web interface, Kit Products are not supported. Aptify 5.5.3 updates the web interface so that Kit Products with a product types of Kit and Product Group are supported. (Issue 16007)

Product List Not Shown for the Select Product Category Under Hierarchy Tab of the Product

Currently in Aptify there is an issue where product details may not appear in the product list view area for the Hierarchy tab on stack database. Aptify 5.5.3 addresses this scenario by updating the metadata for the VirtualField tab in the Products entity. (Issue 21416)

Subscriptions and Membership

The following issues were resolved in the Subscriptions and Membership system as part of Aptify 5.5.3.

Aptify Desktop: Problem Found Related to Subscription Start Date for a Succession Product

Currently in the Aptify Desktop client, there is an issue where when the membership for a subscription product with succession set for a calendar year is renewed after the specified grace period, the start date of the subscription product is incorrect, where it follows on from the end of their expired subscription, despite that it was renewed after the expiration of the grace period. The start date should be the same as the order date. Aptify 5.5.3 updates two objects to ensure that when this scenario occurs, the start date of the subscription is the same as the order date. (Issue 20459)

Aptify Web: Full Discount On Partial Membership/Subscription Causes a One Cent Credit

Currently in the Aptify web interface, an error can occur where when a partial membership or subscription product is ordered with 100% discount, the order balance is (-$0.01) instead of the expected $0.00 . In addition, this error can cause other order lines to have the same with 1 cent credit, if the membership product exists in the order line. Aptify 5.5.3 updates a JavaScript file to ensure that the order balance is calculated correctly in this scenario. (Issue 20412)

Aptify Web Subscription Renewal Wizard: Implement Desktop Check Boxes from 5.5.2

In Aptify 5.5.2, check boxes for two new options, Is Identify Contact Person and Is Group Subscriptions, were added to the Aptify Desktop client version of the Subscription Renewal wizard, but were not available in the Aptify web interface version. Aptify 5.5.3 updates an object, two form templates, an entity, and a process flow to add these options to the Subscription Renewal wizard. (Issue 20518)

Aptify Web: Succession Membership Dues Product Functionality Not Working

Currently in the Aptify web interface, there is an issue where the Succession Membership Dues Product functionality does not work as expected, where the Succession Products are not being added to the order line, or are added to the order line, but the quantity is incorrectly prorated. Aptify 5.5.3 updates two objects, one JavaScript file, and two CS files so that the Succession Membership Dues Product functionality works as expected. (Issue 17687)

Chapter Renewal Behavior Is Incorrect When Set to Restart With New Subscriptions

Currently in Aptify, there is an issue that occurs when a user attempts to renew a chapter subscriptions product that is configured to restart with new subscription, where a new Subscription record is not created, even after the expiration of the grace period specified in the product. After the renewal, the purchase is associated with the original subscription, instead of a new Subscription record. Aptify 5.5.3 updates an object to ensure that a new Subscription record is created as expected in this scenario. (Issue 20910)

Chapter Subscription Product Shows Incorrect Start Date For Multiple Order Lines

Currently in Aptify, there is an issue where when an order with two items for the same subscription product for different chapters, the quantity of the second subscription product is not being automatically prorated to the appropriate remaining portion of the year, and the order date is set as the start date. Aptify 5.5.3 updates four objects to ensure that when this scenario occur, subscription quantities are prorated as expected, and the correct start date is shown. (Issue 20736)

Closest Chapter Is Not Picked in the Order Line Record

Currently in Aptify, there is an issue where when a user adds a membership product order for a Person record with a default closest chapter already defined, the Chapter field in the order line does not display the assigned default closest chapter. Aptify 5.5.3 updates the spFindClosestChapter stored procedure by filtering null distance values, which ensures that the assigned default closest chapter is displayed as expected in the order line. (Issue 20719)

Full Discount On Partial Membership/Subscription Causes One Cent Credit

Currently in the Aptify Desktop client, an error can occur where when a partial membership or subscription product is ordered with 100% discount, the order balance is (-$0.01) instead of the expected $0.00 . In addition, this error can cause other order lines to have the same with 1 cent credit, if the membership product exists in the order line. Aptify 5.5.3 updates the calculation script in the OrderLines entity to ensure that the order balance is calculated correctly in this scenario. (Issue 20198)

Prorate Behavior Not Calculated Correctly for Chapter Subscriptions

Currently in Aptify, there is an issue where when an order with two items for a subscription product for different chapters, with succession set for a calendar year is renewed after the specified grace period, the quantity of the subscription product is not being automatically prorated to the appropriate remaining portion of the year. In addition, the proration calculation is incorrect when the subscriptions products for different chapters is entered in two separate orders. Aptify 5.5.3 updates the Product Price Controller and related JavaScript files to ensure that when these scenarios occur, subscription quantities are prorated as expected. (Issue 20514)

Proration Does Not Happen on a Renewal of a Succession Product After the Specified Days

Currently in Aptify, there is an issue where when the membership for a subscription product with succession set for a calendar year is renewed after the specified grace period, the quantity of the subscription product is not being automatically prorated to the appropriate remaining portion of the year. For example, if a person renews a student membership after the subscription ends, the Individual Membership should start as a new subscription and the quantity should be prorated based on the percentage of the calendar year that remains. Currently, the renewal start date is correct. but the quantity is incorrect. Aptify 5.5.3 updates the subscription date object to ensure that when this scenario occurs, subscription quantities are prorated as expected. (Issue 20947)

Quantity Is Not Prorated When Subscription Is Configured With Prorate Behavior

Currently in the Aptify web interface, there is an issue where when a subscription product is setup with Prorate Behavior, the quantity added to the order line is not prorated when the Order Date does not coincide with the Start Date specified in the product. For example, if the Calendar Year Start Date on a monthly subscription product is the first of January, and an order is placed on the first of April, the product quantity should be 0.75, but it displays as 1. When the user saves this order, the process fails, informing the user that the price information has changed. If the user resaves the order, the save is successful, but the order totals and quantity is still not correct due to a data refresh issue. Once that order is closed and reopened, the order totals and quantity are correct. Aptify 5.5.3 updates two JavaScript files and an the Product Price Controller in an object to ensure that in this scenario, subscription quantities are prorated as expected. (Issue 19144)

Start Date for Multiple Chapters Is Not Getting Calculated Correctly

Currently in Aptify there is an issue where when an order is created that has multiple chapters ordering the same subscription product, the subscription start date for these chapters is different. Aptify 5.5.3 updates two objects to ensure that the subscription start date for the products in this scenario are set for the same day, as expected. (Issue 20272)

Subscription Renewals Do Not Work for Chapter Subscriptions

Currently in Aptify there is an issue where subscription renewals do not work properly for chapter subscriptions that set the Chapter ID. Since the Chapter ID is not set in the stored procedures that are used to process the subscriptions, the renewals are mishandled, such as renewing a subscriber at the first year membership discount rate in the second year. Aptify 5.5.3 updates an object and metadata to ensure that the subscription renewals work as expected for chapter subscriptions that set the Chapter ID. (Issue 17720)

Subscription Start Date Is Incorrect When a Chapter Assignment Rule Is Linked

Currently in Aptify there is an issue where when a user ships an order with a chapter membership product in the order line for a Person record and creates a second order for that Person record. This results in the chapter subscription start date displaying the incorrect date, showing the beginning of the current month, instead of renewing the previous subscription and showing the beginning of the next month (the subscription should be pro-rated for the current month, assuming there is no previous subscription). Aptify 5.5.3 updates four objects by modifying the logic to consider the Chapter ID to calculate the date on a chapter subscription renewal. (Issue 20734)

Succession Rule Does Not Trigger the Correct Quantity on an Order Line

Currently in Aptify, there is an issue where when the membership for a subscription product with succession set for a calendar year is renewed after the specified grace period, the quantity of the subscription product is not being automatically prorated to the appropriate remaining portion of the year. Currently, the start date is correct. but the quantity is incorrect. Aptify 5.5.3 updates two objects and metadata to ensure that when this scenario occurs, subscription quantities are prorated as expected. (Issue 20504)

Resolved Issues (Add-On Applications)

The following issues with Aptify add-on applications have been resolved in the Aptify 5.5.3:

 

Aptify add-on applications require a separate license to use in your Aptify environment. See Licensing Aptify Products.

 

Education Management System

Note

The issues resolved in this section are only applicable for organizations that have the Aptify Education Management System add-on application for Aptify 5.5.3.  

Aptify Web: Auto-Populate Class Information on Order Line When Registering for a Class

In Aptify 5.5.2, the ability to auto-populate class information on an order line when a user is registering for a class was added to the Aptify Desktop client, but not to the web interface. Aptify 5.5.3 updates the web interface such that class information is auto-populated on the order line when a user is registering for a class. (Issue 18166)

Aptify Web Order: Education/Certification Unit Record Creation and Flow Down Issue

Currently in the Aptify web interface, when a meeting product with an education unit or certificate type is added to an Order record, the education or certification unit information does not display in the order line. This occurs because the education or certification unit data is not flowing down to the order line. Aptify 5.5.3 updates the web interface such that the education and certification unit information displays in the order line. (Issue 15993)

Aptify Web: Support Meeting/Class Integration

Currently in the Aptify web interface, users are unable to create a new class that uses Meeting/Class integration, which can be done on the Aptify Desktop client. Aptify 5.5.3 updates the Aptify web interface so that a user can create a class that integrates with a meeting. Once that class is created, a user can create an order for that meeting, and have it generate a class registration for the class automatically. The changing status of the Class Registration updates the status of the corresponding Meeting Registration. (Issue 19842)

Education Units Record Date Earned Is Not Respected

In Aptify 5.5.1, an issue exists where the pass date for a completed class changes to the current date when a class registration status is changed to pass at a future date. (Note that only occurs if an order has multiple order lines for meeting products.) Aptify 5.5.3 updates an object to ensure that the original pass date for a class is not modified in this scenario. (Issues 20237 and 21481)

Non-Generated Database Object Table Changes

Below is a list of non-generated Database Objects that are new to 5.5.3 or have been modified due to changes made with the release of Aptify 5.5.3. If your organization has modified objects from any of the database objects below while retaining the name of the original database object, additional modification will be necessary to integrate any changes made with upgrading to Aptify 5.5.3.

 

Note to Developers

If your organization has directly altered any of the objects below, those alterations will be overwritten when the core object is replaced during the upgrade process. If a modification to the functionality of a core database object is required, a copy of the core object should be created with a unique name. The modified functionality may then be implemented in the copied object. Again, the existing object itself should not be modified; developers should create a copy of the object using a different name if different functionality is required. See Best Practices When Developing for Aptify for more details. 



Database Object Name

AuthContextTable
BigIntTable
DistanceFromInKilometersTable2
fnCheckIsSystemPerson
fnCountDurationsByThreshold
fnGetContextValue
fnGetDurationProportionsByThreshold
fnGetEducationUnitCount
fnGetInverseTimeElapsedRelations
fnGetSpaceThreadPriority
OriginTargetDatetimeTable
OriginTargetTimespanTable
spChangeOrdLine
spEntityRecordExistsInList
spFindClosestChapter
spGetAllActiveAlertTypes
spGetAllActiveUsersForAptifyMessenger
spGetAllEntityMetadata
spGetAllSpaceAutoLinks
spGetAnswerLogicBranch
spGetAvailableSpacesForUser
spGetCompaniesLatestNoteOrtUpdate
spGetCompaniesTimelineActivities
spGetCompanyAccountSummary
spGetCompanyPreferredAddressIDandPhoneID
spGetCompanySummaryDynamicData
spGetCurrentUserFormTemplatesRanked
spGetCurrentUserTypes
spGetEntityUIPartsText
spGetEntityUIPartsTextWithFilter
spGetHTML5WebMetadataCultureStringsByCulture
spGetMLModelMetadata
spGetMLModelParameterData
spGetModelIDForRelationship
spGetOrderInfoForPayment
spGetOrdersRelatedtoPayment
spGetPaymentInformationPaymentTypeFormTemplates
spGetPersonAccess
spGetPersonAccountSummary
spGetPersonsLatestNoteOrtUpdate
spGetPersonSummaryDynamicData
spGetProcessComponentsAndResults
spGetPurchaseOrderID
spGetQuestionAnswers
spGetQuestionTreesAndQuestions
spGetRemoteMLServiceAuthInfo
spGetScheduledTasks
spGetSurveyQuestionReportingType
spGetSurveyReportingPossibleAnswersForQuestions
spGetSurveyReportingQuestionsForSurvey
spGetUIPartsAndChildren
spGetUserFavoritesAndGroups
spGetUserSpaceSubscriptions
spIsMLRelationshipCached
spLinkBoxLookup
spLookupSpaceLink
spMaintainEntityMostRecentlyUsedList              
spPersonIDAndNameForCompany
spSearchConfigurationShell_FullText_Attachments
spSearchConfigurationShell_FullText_Companies
spSearchConfigurationShell_FullText_Persons
spUpdateInvLocCount
spUpdateMeetingTotals
spUpdateProdInv
spUpdateProductInventory
spUpdateWeightedModelCache
spViewsScheduledAttributeValues
trUpdateCashCtrlBatchDet
trUpdateOrderDetail
trUpdateProduct
trUpdateSpaceThread
vwCompaniesTimelineActivities
vwCompaniesTLActivity
vwContactLogTLActivity
vwEntityTabRelevancyFeatureset
vwLockedQuestionTrees
vwMembershipsTLActivity
vwMLCachedWeightRelationships
vwOrdersTLActivity
vwPaymentButtonOrdersVirtual
vwPersonEvents
vwPersonsAccessingEntityTabsRelevancyAugmentedByPersonsToPersonsByCommonEntityTabsFeatureSet
vwPersonsTLActivity
vwPersonsToPersonsByCommonEntityTabsFeatureSet
vwQueBranchAnsBranch
vwSecurityKeyAttributes
vwSubscriptionsTLActivity
vwSurveyResultsBaseView
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.