Update: Updated the Users.xls
script to add memberships to existing users that are not a member in any of the groups specified in the import.
Fix: Order.Complete
is now visible to the trading entity if the order has been paid and is incomplete.
New:Function Wrap(Start, Concatenator, Finish)
has been made available for VBScript.
Fix: Error applying trading item discounts when orders were over the maximum quantity specified for that discount.
Fix: When deleting an order and items the related booking was not updated.
New: Function ConvertDateToAge(Date, AsAt)
is made available for VBScript.
Update: Google Tag Manager generated code updated.
Fix: HTML editor not styling correctly.
Fix: Views using inheritance would get an error due to inherited tables not fully loaded.
New: Properties UpdateReleasePhase
and VersionReleasePhase
on the Application
. UpdateReleasePhase
specifies the release phase allowed when installing updates. VersionReleasePhase
is the release phase of the currently installed version. These properties replace IsBetaTestSite
and IsBetaVersion
. The release phases are:
New: Property DebugMode
on the Application
. When true will output debug logs and reference the original (or non-minified) scripts and stylesheets.
Fix: Mispelt property name CustomDefinitionNamesStartWith
.
New: Properties Async
and Defer
on TemplateScript
. When these properties are set to True an attribute of the same name is added to the script element when output to HTML.
New: Property Minify
on TemplateScript
and TemplateStylesheet
. When this property is set to True the systems checks for a file with the same name including ".min" after the file name. If the minified file does not exist or is older than the original file, a new minified file will be created. The minified file will be reference in the output HTML.
New: Base and backend scripts and stylesheets have been bundled, minified and referenced offsite from a common code library.
New: css3-mediaqueries.js
now only loads for IE9 and lower.
New: All scripts have been set to defer with the exception of css3-mediaqueries.js
and html5shiv.js
which only load on IE9 and lower.
New: JQuery core is now referenced from a CDN.
New: A location (i.e. France) can receive deliveries from multiple pickup outlets. To do this, include the location in multiple delivery zones (i.e. Europe from United Kingdom or Europe from Hong Kong). When the user selects a freight rate, the pickup outlet is determined by the delivery zone of that freight rate.
New: You can now see the order related to a service booking where applicable.
Fix: Orders processed with a payment term that does not require payment immediately still asked for payment.
New: Group.SelectSubscription
and ServiceTimes.BookNow
have 2 new hidden parameters ClearCartItems
and ProceedToCheckout
which both default to True, however can be modified via configuration settings.
New: BusinessCollectionItem.RawDataValue([Property])
get or sets the raw data in a table.
Fix: Purchase order delivery details now display pickup outlet address when not dropship.
Fix: When retrieving the pickup outlets for a delivery zone due to no state specified when region was.
Fix: Incorrect column name PaymentTerms.ActionOrderAfter
changed to PaymentTerms.ActionOrderWhen
.
Fix: Error when requesting a BusinessObject.PropertyValue
for an Item's Item. For example, OrderItem.PropertyValue("TradingItem.Supplier")
.
New: JavaScript toggler
function attributes data-off-selector
and data-on-selector
now can accept this
and parent
values.
Fix: Error in Application.ProcessPayment
.
New: When specifying users for a booking it now defaults to 2nd Attendee, 3rd Attendee, etc. for the first and last names, while the business name is set to the business name of the user booking.
Fix: Order completion was not executing when paid in full.
Fix: Error when returning from offsite payment method.
New: Toggler in base.js
now toggles off and on classes for separate selectors with data-off-selector
and data-on-selector
attributes.
New: Function Common.DateAddWorkDays(StartDate As DateTime, Days As Integer)
.
Fix: Error when displaying order status message.
New: Property PaymentTerm.ActionOrderWhen
determines when the order can be actioned for fulfillment (i.e. product dispatched, service booked or group subscribed). It can be one of the following:
Confirmed
DepositReceived
BalanceReceived
New: Property Order.Status
can be one of the following:
Confirmed
Actioned
Completed
New: Parameter Order.Complete.ActionThisOrder
specifies if the fulfillment process starts or not. It's default value is determined by Order.PaymentTerms.ActionOrderWhen
It is editable only by an administrator.
New: Can now set OtherPaymentMethod.Instructions
to nothing. If this property is nothing then the payment method will not be displayed in the payment instructions section of the invoice or order status message.
Fix: Updated configuration settings TradingItem.DefaultViewPropertyNames
and TradingItems.DefaultListColumnNames
.
Fix: Removed Video to Flash conversion.
Fix: Updated setup.aspx with new default servers.
New: Trading Item Discount Prices
have replace Special Price
, Bulk Price
and Member Price 1
to Member Price 5
. This now allows unlimited discount pricing on an item. For example, you may have a price for 10 items or more and another for 20 or more. You can also set a limit to the number of items at a particular discount. For example, gold class members may be allowed up to 2 for free.
New: Related Trading Items
can be used to list all the related products, etc. when viewing a products details.
New: Adding auto-height
to the class of a textarea will allow the height to auto-resize when data entered.
New: When setting a MultipleLineText
property's EditorLines
attribute to zero, the output html textarea will set auto-height
to the class.
Fix: If a LinkingForeignCollection
's LinkingProperty
has a SelectableValuesExpression
it is now executed and used when generating the control.
Fix: Error when opening Configure Components
.
New: New configurations setting CalendarFirstDayOfFinancialYear
.
New: Added TimePeriod.FinancialYear
which is useful for financial reporting purposes.
New: When a pickup outlet is logged in, they can now dispatch orders.
New: ServiceTime.Reschedule
to reschedule a time and send the rescheduled letter to users with reservations when applicable.
New: ServiceTime.Cancel
now asks if the user would like to send the cancellation letters to users with reservations.
New: New base.js function to set default values from a drop-down to adjacent input controls. For example, a drop down may have default date ranges like This Month, Last Month, This Financial Year, etc. and when selected will populate the 2 date input controls next to it with the appropriate values.
Fix: The configuration setting [Collection].ItemTypeName
was being ignored for custom collection definitions.
Fix: Could not insert a new row on a table with only an auto-generated ID column.
New: Now allows bookings on non-published services.
Fix: Calendar allowed past service times to be booked.
New: Payment options on a trading item and recurring payments have been replaced by payment terms on the order. This will allow the order to be paid over time. For example, in "12 monthly payment", "25% deposit with balance due 7 days prior to date required on" or "30 days".
New: The "Other Payment Method" (i.e. cash, cheque, direct deposit) is only selectable by the administrator. However, it will show up in the invoice footer with instructions on how to pay. Once a payment has been received via this method, the administrator can add the payment using this method for reconciliation purposes.
New: Layout changes to confirm order including payment terms.
New: Layout changes to invoice including payments paid/due and payment methods.
New: Layout changes to purchase order.
New: Layout changes to order complete message including payments paid/due and payment methods.
Fix: TotalPaymentReceived
, TotalPaymentUnconfirmed
, PaymentProcessingFee
and PaymentProcessingFeeTaxIncluded
are now displayed in the currency of the order, not the currency of payments.
Fix: Geolocation lookup adjusted to timeout after 3 seconds.
Fix: When a geolocation lookup fails when requesting UserCountry
or GetSelectablePickupOutletsNearDeliveryLocation
.
Fix: Method parameter values passed in a URL no longer conflicts with reserved names like PageType, Method, Collection, etc.
Fix: Updated the ODBC Excel Driver in Import Scripts.
Fix: Orders without deliverable items are now taxed on rates based on the licensee pickup location.
New: Calendar view now includes a month and year selector.
New: PayDock payment gateway now integrated for credit card payments.
Fix: When there are no payment methods, the invoice does not include a link to pay.
Fix: When paying for a service booking at a later date it will now default to the trading entity for the first attendee.
Fix: Errors returned from ZipMoney now displayed correctly.
Fix: Error on ServiceTime.GetAvailableQuantity
.
Fix: When redirecting to HTTPS from root URL, Default.aspx was included in the redirection.
New: CreditCardViaSecurePayPaymentMethod
now supports TLS 1.2.
New: Updated base.js so that attribute data-selector
will accept this
and parent
.
Fix: Updated base.css so to include the pointer cursor on <summary>
elements.
Fix: Billing details defaulting to last order billing details only when required.
Fix: Configuration settings for booking system updated.
New: Query parameters FilterExpression
and SortExpression
are availabe to filter and sort collections on expressions.
New: Function [BusinessCollection].ToHTML(HTMLToMerge, TopCount, Randomise, Page)
is available to merge HTML to a collection. The system looks for an HTML element with an ID of ItemTemplate
and will duplicate and merge the element with each item in the collection. The system also looks for another element with ID NoItemTemplate
and removes it if there are items otherwise leaves it and removes ItemTemplate
if there are no items.
New: Function DateToTodayFormat(DateToFormat, AsAt, AlwaysIncludeYear)
is available to format a date. For example, Today, Tomorrow, Yesterday, Mon 21 Aug, Tue 21 Aug 2018. As per example, it will display Today if same day as in AsAt
and leave the year of if same year as in AsAt
.
Fix: When calculating freight the total item price and weight are now based on deliverable items only.
Fix: User.ReferralBy
and User.ReferralWebsiteAddress
default values can now be changed via configuration settings.
New: You can now set a configuration setting named CustomDefintionNamesStartWith
. If a definition name for a business object, property or method starts with the value specified, the system will remove it from the display name generated. For example, a value of "BV" and a collection named BVGrades would have a display name of Grades.
New: Completed
option added property Status
on Service Time
. The Complete
method was also added, which will change the status but also mark Used
to true on all Service Bookings
where not set.
New: Service Times
can be added directly and the Finish Time
defaults to the Start Time
plus the Duration
specified in the Service
.
Fix: To base.js: Submit button in a control wrapped in a label would not work.
Fix: References to theinternetplatform.com and developer default URL now use HTTPS.
Fix: Google Map references now use HTTPS.
Fix: Reworded description and instructions for Configure Website - Domains.
Fix: Files robots.txt and sitemap.xml were not returning file not found when not available.
New: Can now view the Retrieval Status when requesting the Geolocation or Address with Google Geocode API.
Fix: Due to previous security enhancements the calendar could not be viewed.
Fix: Updated import script for Users.xls.
New: Service Times are now saved to the database and related to Service Bookings. A Service Time has a Status of Open, Closed or Cancelled and can be set by the administrator. When the Calendar
or List Times
is opened, any scheduled times matching the criteria are loaded and saved to the database. The schedules are removed for matching the criteria.
New: New property Maximum Time In Advance
on the Service. This is the amount of time in advance of the current time that service times will be generated from the service schedules.
New: New property Cancellation Time Required
on the Service. This is the amount of time prior to the start time that user cannot cancel a reservation.
New: New property Logged In User Credits
on the Service. If Allow Order Before Booking
then this will show the number of credits the logged in user has purchased and not used for that service.
New: When Cancel Times
on the Service is selected it now prompts to delete all times or only those without RSVPs.
Fix: When administrator logged in and guest checkout is enabled it goes to Select User.
Fix: Changes to who can view certain business object.
Fix: Updated Export for Xero to allow for guests.
New: eWay payment gateway now forces the use of TLS1.2 Security Protocol.
New: When an order is processed using guest checked out, the Trading Entity now displays Guest instead of nothing.
Fix: Order First and Last Names changed to not required.
Fix: ConvertTextToDuration
for negative durations.
Fix: Allow first and last names to be blank on the order billing details.
Fix: Remove old scheduling service status from administration menu.
New: Guest Checkout: when a user is checking out they do not need to create an account. If they would like to create an account while checking out they simply input a password. Guest checkout can be enabled/disabled by setting Allow Guest Checkout
in Configure Components.
New: Billing Details: when a user is checking out the system can now ask for billing details.
New: ZipMoney payment method has been integrated to take payments via buy now / pay later payment gateways: zippay.com.au and zipmoney.com.au.
New: When invoice shows a balance due the payment instructions includes a link to pay.
New: Notes property and Insert Note function on Orders.
New: Payment processing errors are recorded in notes on the order.
Fix: Redirect URLs comparison methods now ignores case.
Fix: Blocked several business objects from being viewed by the public.
Fix: Error on load when attempting to determine user culture code when the user's country can not be determined.
New: Enabled Fraud Guard on SecurePay payment gateway transactions.
Fix: Error when displaying invoice for an order to be picked up.
Fix: Error in TransactionException when no transaction number.
Fix: Start next automated transaction throwing error when finalising.
Fix: Modified the links to filters of article and directory views to tell search engines not to follow. This also helps when producing the sitemap for search engine submission.
Fix: Updated Search Engine Site Map Ping Service URLs.
Fix: Updated Blog Directory Ping Service URLs.
New: You can now select Google reCAPTCHA for the Human Verification Method. You can do this via Configure Form Validation. You will need to sign up for Google reCAPTCHA to get a site key and secret key which can be set in Configure Form Validation. Once configured, forms generated by the system will automatically add Google reCAPTCHA if needed. To manually add to a form add a merge field containing expression: Application.GenerateHTMLHumanVerificationControl(0)
.
New: Shared function created called Web.WebRequest(URL, Method, AcceptType, ContentType, Content, OtherHeaders, Timeout)
which minimized code throughout the system.
Fix: Process would crash without error when submitting a Trading Item. This was due to the relation to Auctions and the RoundToValue
on the definition for Auction.OpeningPrice
was set to 0.01. Although there is nothing wrong with this the run-time did not like it. A temporary work around was put in place using RoundToValueExpression
with same value as a string.
New: Changed the email notification for automated tasks to include the success of the run and a link to the result if results recorded.
Fix: When sending an email campaign an invalid email addresses would halt execution of the batch.
Fix: When Views were reloaded the existing view of the same name was getting an error when unloading.
New: Upgraded web.config targetFramework
to 4.6.1.
New: Added the ability to change the targetFramework
in the web.config when Application.InstallUpdates
is run.
New: New compilation using Visual Studio 2017.
New: Alipay payment gateway integration.
New: New Human Verification Method called Honey Pot.
New: A new URL parameter EndSessionOnComplete
will abandon the session once the request is complete. It has been implemented when running automated tasks.
New: New property added Application.ActiveSessionCount
which can be used to view how many sessions are currently active.
Fix: Will now only show payment methods for the currency the user has selected.
Fix: Removed unused Windows Service functions.
Fix: A method definition created from configuration file had an incorrect qualified name for the returns value.
Fix: A new base.js function to allow you to click on the 2nd and subsequent inputs in a control wrapped with a label.
New: A new Base.js function that detects a click on an element and toggles a class in another element. To acheive this do the following to the clickable element:
toggler
.data-selector
which contains a CSS selector pointing to the element(s) you want to toggle.data-toggle-class
which contains a CSS class you want to toggle (add if not there/remove if is).<span class="button toggler" data-selector="#subscription-form" data-toggle-class="show">Subscribe Now</span>
<span class="button toggler" data-selector="#subscription-form" data-toggle-class="show">Close</span>
New: A new method called Captch Equation for the Human Verification Code will display an equation in the Catcha image for the user to solve.
New: You can now specify multiple language sites. This should be used when duplicating sites for different cultures (language and/or location). It tells the search engines that the content in the other sites is duplicated for another culture. This way the search engines will not penalise you for having duplicate content. Also, visitors will be redirected to the appropriate site based on their default culture (language and current location). To do this follow these steps for every site:
Error: When filtering a collection with a boolean property.
New: New version of the HTML editor.
New: New base.css styles.
Fix: Error when loading the definition inpsector for a custom business collection item after a reset.
Fix: Error when Application.GetView
that inherits another business collection is reloaded.
New: Kosova added to Countries with a temporary ISO code of XK and currency EUR.
New: If an article file name is specified ending with a forward slash (for example, http://yourdomain.com/contact/
), it will be redirected without the ending forward slash (for example, http://yourdomain.com/contact
).
Fix: Services functions List Times
and Open As ICalendar
were not returning all times in some circumstances.
New: Now records the date/time a service booking is booked.
Fix: Open As ICalendar now has correct start and finish times based on the time zone.
Fix: Error in install updates for websites using cart items.
New: Can now set the base time zone for the system.
Fix: When re-emailing a campaign when Not Sent To Recipient For
was other than Ever.
Fix: Could not copy objects with a filename such as articles, categories, tags, industries and groups.
Fix: Digital items were not automatically sending once a client paid in full.
Fix: Problem with already scheduled automated tasks not running due to invalid parameters attribute.
New: You can now to send email campaigns to recipients again after a specified time period. For example, 1 year might be specified for an annual renewal notice.
New: Email campaigns are now sent in batches with an interval between each batch so that the server is not overloaded when sending large campaigns.
New: New scheduler created which runs on the web application which is intended to take over from the current Windows Service. For the scheduler to work, set the Application Pool Start Mode option to AlwaysRunning. If you cannot access this property set the Idle Timeout to zero or a high number, for example, 9800 minutes (7 days). If the application pool expires the application is ended and the cached schedule is removed and never called. Note: Keeping Session timeout to say 20 minutes will not affect this.
New: System-wide errors which have not been caught are now logged.
New: The system log is now output to CSV which can be loaded via spreadsheet and sorted, etc.
New: The payment method for Credit Card via MIGS Offsite's secure hash method was updated to SHA-256.
Fix: Searchable drop down was not aligning up with bottom of input box.
New: Application.GetView
has an additional parameter Inherits
which will allow you to create a view that inherits another Business Collection.
New: You can now specify an ID as the default value of an Item Definition.
Fix: Error when specify postcodes to regions in delivery zones.
Fix: Error placing order for Service Bookings.
New: Now adds meta tags (first
, prev
, next
and last
) for pagination in Directory and Article Views.
Fix: The ServiceBooking.SendConfirmationLetter
would only send when the administrator made the booking for the user.
New: Read-only property DeliveryNote.TrackingURL
generated from Order.DeliveryMethod.TrackingURL
and the TrackingCode
.
Fix: The SetDispatched
function will not ask for TrackingCode
if the Order.DeliveryMethod.TrackingURL
is not set.
Fix: The Available Quantity check returned zero for trading items with options even though the availability was set.
New: Added property FinishTime
to ServiceBooking
and defaulted to StartTime
plus Service.Duration
.
New: Added function OpenAsICalendar
to ServiceBooking
.
New: The following functions will not be executed in the process if AllowExecute
returns False. Also, a new parameter BCCMe
on each function will BCC the administrator if set to True.
DeliveryNote.SendNotification
Membership.SendApprovalNotification
Order.SendInvoice
Order.SendPurchaseOrder
Order.SendThankyouLetter
OrderItem.SendDigitalItem
Payment.SendReceipt
ServiceBooking.SendCancellationLetter
ServiceBooking.SendConfirmationLetter
User.SendActivationRequest
User.SendApprovalNotification
Fix: Delivery Country is now required by default in Request Order Details.
New: Function [Set Delivery Method Or Pickup Outlet]
will enable the client to recalculate the freight based on their selection, prior to checking out.
Fix: Was not finding the correct pickup outlet in some circumstances.
New: You can now create URL redirects for missing files under userfiles folder.
New: You can now create URL redirects for missing files via the content management system.
New: The system will ask if you would like to create a URL redirect when renaming a file such as articles and categories.
Fix: The user rates are now reset after Request Order Details in case the user changes the delivery country.
Fix: On first time setting the user rates with tax inclusive set to database the incorrect tax would be added to the user freight price.
New: Now the system sets the user freight and tax rates only when accessed instead of on load of the website. This allows for faster loading.
New: When the delivery destination is set the pick-up outlets are filtered to show only those in the country or within 1000km and also sorted by nearest to furthest.
Fix: Getting user geo location failed.
New: System configuration option called Show Tax Breakdown On Invoice. Setting Yes will show how much tax on each item. No will only show the total tax.
New: Added tax included on line items and totals on confirm order.
New: System configuration option for Tax Inclusive as follows:
New: Added tax included on line items and totals on tax invoice.
New: Removed freight per product as a system option.
Fix: When search engine robots loaded the website, setting the default user rates would return an error because their are no browser culture settings.
Fix: Rounded currency data to 2 decimal places.
Fix: Correction to country records with special characters.
Fix: HTTPS Everywhere was not working on short-cut URLs.
New: You can now set up Outlets that are either stores (where products are picked up and/or delivered from) or warehouses (where products are only delivered from). You can assign or create a user record as an outlet. By default the licensee user record is set as an outlet (warehouse). If you have one or more stores the visitor will be prompted to select a pickup location (or not) when checking out.
New: You can now set up Delivery Zones (from one pickup region to one or more destination regions). Freight Rates and Tax Rates can be set for each zone. The system will try to detect the region the visitor is at and will set the default freight rates and tax rates based on that region. From the shopping cart, before they check out, the client will be able to change the default region by selecting a country from a drop-down (and state, postcode if necessary to determine the region) which will update the default freight and tax rates – essentially giving them the correct price before proceeding to check out.
New: Freight Calculation Method is no longer system wide. It can be set on each delivery method.
New: Tracking URL can be set on each delivery method.
New: Freight based on weight is now calculated on kilograms instead of grams.
New: HTTPS Everywhere is now available. You must have a current SSL Certificate before setting this option. It can be set under System Configuration - Configure Website.
New: POP3 and SMTP ports now editable. They can be set under System Configuration - Configure Email.
New: The person booking services is added to the property ServiceBooking.User
for each attendee they book.
New: Executing a business object method by submitting a form using method="GET"
can now accept the parameter names in the URL. For example, a method with 2 parameters, Country and Postcode, would accept any of the following:
&Parameters=Australia,4220
&Country=Australia&Postcode=4220
&Country_Control=Australia&Postcode_Control=4220
Fix: Updated the HTML output from Application.DisplayVideo
for YouTube videos.
Fix: Author select field on articles now sorted by last and first name.
Fix: Sending of the delivery notification will now also be sent to administration.
Fix: Error with Google Tag Manager container snippet.
New: Add property Google Tag Manager Container ID
to Templates
. When a container ID is supplied, the Google Tag Manager container snippet is added into the HTML output when that template is used for displaying a page.
Fix: Updated the Google Analytics tracking snippet to latest version.
Fix: Updated the YouTube output code generated from Application.DisplayVideo
to use iframes.
New: A trading item (product, service or subscription) can have a digital item associated to it and when ordered, it is emailed to the trading entity. To do this you must create a page with output type of email and a file name in the format of digital-item-[trading item file name]
. For example, for a product named widget
the email page would be named digital-item-widget
.
New: Can now use mulitple attribute for file inputs in the Email Form. For example, <input type="file" multiple="multiple"/>
.
New: In freight rates when leaving Base Price or Price Per Unit blank will set to Order Freight Price to blank which will display POA - price on application.
New: Card holders name in SecurePay is not a required field but passed anyway.
Fix: Implemented additional response status checks when processing credit cards with SecurePay.
Fix: Implemented tighter security functionality when processing credit cards with SecurePay.
New: Expressions in the Title of a menu item by having the first letter an equals followed by the expression. For example, ="My Cart (" & CartItemsQuantity & ")"
.
New: A function CartItemsQuantity
added to the Application business object. Useful to display in menus as above.
Fix: An error occurred when an order placed but there were no payment methods set up.
Fix: Pages with a dot in the file name would include the dot in the body class attribute. Dots are now replaced with dashes. For example, <body class="cartitems.requestorderdetails">
now becomes <body class="cartitems-requestorderdetails">
.
Fix: Client side script was not validating required checkboxes.
Fix: System could not determine if JavaScript enabled on client browser when the site first loaded via a dynamic file name. For example, www.yourdomain.com/contact-us.
New: Use the function GenerateHTMLSelectMenu([Menu])
on the Application business object to generate a drop down for the menu object of ID passed.
Fix: The window overlay would appear on form submit when form invalid.
Fix: The form validator was not validating some controls correctly.
New: Adding the class disable-window-on-submit
to a form will, when submitted, cover the window with a semi-transparent overlay making it look as if disabled. In the center of the overlay is a spinning arrow indicating to the user the form is being processed.
Fix: View Port setting incorrect on some domains.
New: Added class ellipse
(in base.css) which turns an element into an ellipse shape.
Fix: Added missing styles for new Pick List control in base.css.
Fix: Some styling errors in base.css.
New: JQuery functions added in base.js as follows:
stick-left
, stick-right
, stick-top
and/or stick-bottom
classes to the sticky element.scroll-arrows
class to a scrollable element.toggle
class to a nav element.New: Styles added in base.css as follows:
scrollable-x
sets the element with horizontal scroll bars.scrollable-y
sets the element with vertical scroll bars.hide-scrollbar
hides the scroll bar while still being able to scroll.Fix: Some styling errors in base.css.
Fix: The licensee website address in the email template was adding the full path unnecessarily.
Fix: Credit Card Via SecurePay requires a Purchase Order No. This was not happening via Process Payment on the application.
Fix: When the links in the email template was generated via a merge field it did not include the full path.
New: Added "Delivery Notes" to the administrator's menu.
Fix: When the logo in the email template was generated via a merge field it did not include the full path.
New: "Open As iCalendar" has been added (to the Service Time object) which will allow you to add the event/class/etc to your calendar such as Outlook.
Fix: When a form was submitted with checkboxes selected and an error the form was not repopulating with the submitted data.
Fix: List articles were listing articles not accessible to current user.
Fix: When no groups are included in an email campaign the unsubscribe did not work. Now it will change the email status on the user to blocked.
Fix: Only the first click by a user on a link in an email is recorded.
New: Can now set a business object property to be calculated. On the property definition set the attribute Calculated to true. When a value is requested for a Calculated property the DefaultValueExpression is evaluated and returned.
New: Whenever an email is sent to a user, excluding those from an email campaign, a note is added to the user record stating that an email was sent with the subject.
Fix: Definition Inspector updated with new formatting and styles.
Fix: Properties of type GroupOfValues were getting an error when no property names supplied.
Fix: Was not formatting properties of type GroupOfValues when the Format attribute supplied.
Fix: When generating content, merging expressions is now performed prior to form controls being populated with current object data. This is necessary if the expression generates form controls.
Fix: When booking a service it now displays the start time(s) in the order item additional information.
Fix: GenerateHTMLControl on checkboxes did not generate a label when required. Also, removed required attribute which forces it to be checked.
Fix: Unknown User Initial Access Point when set was getting a type mismatch when loading from configuration settings.
New: The configuration setting for "Unknown User Try Login First" has been changed to "Unknown User Initial Access Point" with 3 options.
New: You can now dispatch part of an order.
Fix: Changed the category list to display the parent category name instead of "All" when used.
Fix: Added an option for label positioning before controls to the function output of GenerateHTMLForm and GenerateHTMLControl.
Fix: Added open graph meta information for the URL in the blog post and product templates.