New: ValueDefinitionAttribute.StoreSessionOnly had been replaced by enumeration ValueDefinitionAttribute.Repository which indicate where the value is stored:
Database: stores in a column in the table.More Info: stores the name and value in a JSON column named More Info.Request: stores only for the current request.Session: stores in the user's session state.Application: stores in the application state.New: JSON table column MoreInfo replaces XML table column CustomProperties to store the custom properties in a name value collection.
New: PaymentMethod.MoreInfo and Email.MoreInfo have been created to store the custom properties from the inherited classes. For example, SecurePayPaymentMethod.MerchantID, OrderEmail.OrderStatus, etc.
New: A table column has been created for each custom property and the following system properties:
GatewayPaymentMethod.ReconciliationRequiredGatewayPaymentMethod.VerificationRequiredWithStoredPaymentMethodOrderItem.RegularPriceServiceBooking.AdditionalInformationNew: ClassDefinitionAttribute.BaseType returns one of the following:
New: JavaScript function to create a tabs on the client-side. To use set class="tabs" on the container element. The same element must have a child element of nav, to hold the table of contents, and one or more elements with an id for each content section. For example:
<div class="tabs">
<nav>
<ul>
<li><a href="#content-one"><span>Content Section One</span></a></li>
<li><a href="#content-two"><span>Content Section Two</span></a></li>
<li><a href="#content-three"><span>Content Section Three</span></a></li>
</ul>
</nav>
<div id="content-one">Content section one here...</div>
<div id="content-two">Content section two here...</div>
<div id="content-three">Content section three here...</div>
</div>
New: Definition inspector has been overhauled with a new look. You can also add a collection class or property directly via the inspector and it will add the table or column in the database if need be.
New: The dashboard shop now lists all products to easily add products to the cart without multiple roundtrips to the server to do so. A client-side search and filter by category have also been added to make it easy for the customer to find what they want fast.
New: ItemTypes.InheritsRank is a calculated column on the table used for sorting.
New: CustomDefinitionNamesStartWith now defaults to underscore if not provided.
New: ValueDefinitionAttribute.SQLDataType returns the data type required to store the property value in an SQL table column. For example, HTML = nvarchar(max), ID = int, Money = decimal(19,3), etc.
Fix: Error in MoneyDefinitionAttribute.FormatValue when round to value is whole number.
Fix: Error in EnumerationDefinitionAttribute.CompareValues when enumeration name passed.
Fix: GetCollection now throws an appropriate error if not found.
Fix: To output of ConvertSiteToXHTMLCompliant.
Fix: To the attributes of the following properties:
AutomatedTask.URLAutomatedTask.DurationCourseResult.CompletedOnEmail.FromEmailAddressEmail.ReplyEmailAddressEmail.MergeCollectionEmail.MergePropertyForRecipientEmail.MergeFilterExpressionEmail.MergeSortOrder.DiscountTaxRateOrder.FreightTaxRateOrderItem.TaxRatePayment.ProcessingFeeTaxRatePaymentMethod.CurrencyPaymentMethod.ProcessingFeePercentagePromotion.DiscountRateSubscription.AutoRenewDueTask.URLToRunTask.PercentageCompleteTaxRate.RateUser.PasswordLastUpdatedOn