Fix: Image required even though there was already one saved.
Fix: When the Website Temporarily Unavailable Page Name
was set to a page a continuous redirect would cause the website to crash.
New: Upgrade to security and user access.
Fix: New registered users would have to reset password when they returned.
New: User.OpenAsVCard
will download the user information in a vCard format for import into user's contact database.
New: User.MiddleNames
has been added.
Fix: By default Website.VisibleUsers
aka directory, cannot be viewed now. Website.VisibleUser(FileName)
can be used for directory lookups. For example, /directory/john-mitchell
.
Fix: ItemDefinition.DefaultValue
was disposing Application.User
and the like.
New: Upgrade to security and user access.
Fix: VisibleServiceTimes
view was generating the time part of filename as 12 hour clock.
New: Sitemap generator which also stores the public page content for fast loading when there is no user loggged in.
New: AllowFilterIndex
on the property definition. When set to false the system will add nofollow on links filtered by this property and noindex on collection views filtered by this property. The default is false, accept for Item.Tags
, Article.Category
, Article.Brand
, Article.Author
and User.Industry
.
New: Business.CanonicalURL
which returns the absolute path and parameters for the custom view of the object. For example, https://inology.au/blog/tag/email-hosting/?Page=2
.
New: CreateFilterMenu
on a property now creates links to canonical urls and sets nofollow when more than one filter is used or the property's AllowFilterIndex
is set to false.
Fix: Meta data noindex and nofollow have been set where appropriate.
Fix: Application.ArticleExists
execution speed has been greatly increased which means the loading of the home page has increased because it uses the function to determine which page is the home page.
Fix: The noscript tag is added to the HTML output for every page where the JavaScriptEnabled parameter has not been set.
Fix: The EndSessionOnComplete parameter now works with process path version 2.
Update: Defaults for Application.PoweredByWebsite
and Application.DeveloperWebsite
.
Fix: Extend max length to 1000 on Template.Title
and Template.Description
to allow for lengthy scripts.
Fix: Changed default sort order for services.
New: When a file name is created from a title, the ampersands are replaced with "and".
New: Merging collection items can now update all links and add permanent URL redirects for the merged items.
Fix: To update all links when renaming a file.
Fix: To URL redirects match and replace.
Fix: Filter expressions using like.
Fix: Phone number validator.
Update: Changed default sorting method for articles to [PublishingStatus],[PublishedOn] desc
and pages and trading items to [PublishingStatus],[FileName]
.
Update: Changed how URL Redirects work including the pattern matching and what to replace.
Fix: When an item is renamed it also creates a redirect for when used in a filter. For example, a tag named widget /products/tag/widget.
Fix: Error thrown when ItemDefinition.SelectionFilterPropertyName
is set and the filter property returned nothing.
Fix: When a menu item does not have a URL the title and onclick attributes are add to the span element.
Fix: To forms in collection view shows double info.
New: Memberships.FilterByGroup
and Memberships.FilterByMember
.
New: Article.PublishingStatus
added on database to enable sorting. The sort on articles now defaults to [PublishingStatus],[FileName]
.
Fix: Error when non-admin publishes an article.
Fix: User.AuthoredDocuments
name changed to User.AuthoredArticles
.
Fix: When new user option is selected in Website.SelectUser
it still goes to check for registration if that is the default. If admin is logged in and the email address is found in the database, the system automatically selects that user.
Fix: RSS feed not working on website.
Fix: Error adding a SecurePayPaymentMethod
.
Fix: XML output returning multiple declarations.
Fix: BusinessCollection.Import
.
Fix: BusinessCollection.ToHTML
not merging ItemTemplate element an article.
Fix: Styles updated to show item counts on filter menus.
Fix: Type not changing in definition inspector.
New: BusinessCollection.Import
can now merge matched rows giving preference to either the imported row or existing row.
New: BusinessCollection.Import
can now import from multiple line fields to one. If the property is of type MultipleLineText then the system will look for a column in the import ending in Line1, Line2, etc. For example, PostalAddressLine1, PostalAddressLine2 and PostalAddressLine3 will be imported into PostalAddress.
New: BusinessCollection.Import
can specify the date format being imported as one of the following:
New: Common.ConvertToDateTime(DateTimeText, GenericDateFormat) has been added to enable manual sorting within the parent group.
New: Group.Position has been added to enable manual sorting within the parent group.
New: All Articles menu item under content management.
New: Many functions on business objects have been modified to return self.
New: All object properties including application and collection now can specify where the Repository is.
Fix: Error when adding a promotion.
Fix: After adding a promotion it returns to the list.
Fix: An object's item and collection properties filter and sort attributes are no longer visible and cannot be edited by the user.
Fix: Group.GetActiveMembershipCount
returns an error when Group.MaximumMemberships
set.
Fix: The actual error when making a payment is now displayed correctly.
Fix: CollectionClassDefintion.GenerteHTML
merge expressions.
New: BusinessCollection.Import
will now except JSON and XML.
New: BusinessCollection.Import
new excepts two more parameters MatchItemBy
which except a unique column name and UpdateMatches
which specified whether to skip or update rows that match.
New: JSON and XML exports now include both the ID and FileName along with ToString in a sub-element for Item types. When an item's property is referenced (i.e. Country.Code) then the system will create a sub-element for it. When multiple are grouped together (i.e. Country,Country.Code,Country.Name) then they will be grouped in the same sub-elememt.
New: XML export format now uses the definition name as the element name and ID is a sub-element, not an attribute.
Fix: JSON export now has the correct file extension.
New: BusinessCollection.IsExistingItem
and BusinessCollection.Item
now except a dictionary of name value pairs. It will first look for FileName and if not available use ID.
New: BusinessCollection.FilterOnIDFileNameOrUniqueValues
now except a dictionary or array of dictionary of name value pairs. It will first look for FileName and if not available use ID.
New: Common.XMLToObject
converts xml to an array/dictionary the same format as Common.JSONToObject
.
Fix: JSON export now has the correct file extension.
Fix: Submit name in defintion inspector.
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.ReconciliationRequired
GatewayPaymentMethod.VerificationRequiredWithStoredPaymentMethod
OrderItem.RegularPrice
ServiceBooking.AdditionalInformation
New: 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.URL
AutomatedTask.Duration
CourseResult.CompletedOn
Email.FromEmailAddress
Email.ReplyEmailAddress
Email.MergeCollection
Email.MergePropertyForRecipient
Email.MergeFilterExpression
Email.MergeSort
Order.DiscountTaxRate
Order.FreightTaxRate
OrderItem.TaxRate
Payment.ProcessingFeeTaxRate
PaymentMethod.Currency
PaymentMethod.ProcessingFeePercentage
Promotion.DiscountRate
Subscription.AutoRenewDue
Task.URLToRun
Task.PercentageComplete
TaxRate.Rate
User.PasswordLastUpdatedOn
Fix: To pricing for selected or logged in user.
Fix: When loading the filter expressions, the filter is reset without unnecessary code.
Fix: Organisation.Region
was required in the database causing an error.
New: counter.js
function that shows a number incrementing or decrementing to a target value when visible in view port. To use set class="counter"
on an element and the inner text is the target value. Also can use these optional attributes:
data-start
is the starting value. Defaults to 0.data-incremental-pause
is the number of milliseconds to pause between increments. Defaults to 50.data-increments
is the number of increments to perform. Default is 40.data-locale
is the locale to use when formatting the number. Default is en-AU.data-format-options
are the options for formatting the number. Default is { style: 'decimal', minimumFractionDigits: 0, maximumFractionDigits: 0 }
.Fix: Menu item not showing as current when URL matched the current URL.
Fix: Parent group property not set when adding a sub group from that parent.
Fix: Processing boolean parameters of a method.
Fix: Display values when filtering a collection with in
operator.
Fix: Dashboard membership summary and order summary clickable totals.
Fix: Fix to checkout process returning an error due to invalid URL.
Fix: Fix to freight calculations based on delivery zones.
Fix: Fix when an item in the object is not found the system will check for a redirect. For example, if /blog/my-blog-post
was renamed to /blog/my-renamed-blog-post
.
Fix: Fix to function that determines if a member can renew automatically to a group.
Fix: Postmaster email address ignored when checking for bounced emails.
New: Membership.AutoRenew
now can be set to:
New: When an email is generated, prior to sending to the recipients, the system scans the HTML for images that need to be resized, copies and resizes them in the email folder and updates the link.
New: Property data type PhoneNumber
will check if number is compliant. Allows leading +
, 3 to 15 numbers, opening bracket (
with matching closing bracket )
, space and hyphen -
separators. For example, +61 7 5535 8942
, (07) 5535-8942
, etc.
New: The following property was created on the website object to return organisations visible to the current user.
VisibleOrganisations
with filename organisations
New: The system only retrieves required table rows when necessary. This can be overridden if you know most rows are going to be accessed, like menu items, and the system will return all so there are less requests to the database. To do this set CollectionDefinition.AlwaysFillWithoutFilters
.
Fix: The search control, clear filter and items per page now include nofollow so search engines don't index.
Fix: When processing an order and notifications, invoice, etc. failed to send the process would stop. Now it continues with a note added to order.
Fix: Error retrieving display value in filter on collection when filtered on a variable like [Today]
.
Fix: Error in GenerateCaptchaImage
.
New: ServiceSchedule.AvailableQuantity
and ServiceTime.AvailableQuantity
when blank default to Service.AvailableQuantity
.
Fix: Attachments can now be viewed without going via the primary object if allowed.
Fix: BusinessObject.GetHTMLBreadCrumbs
to show current object. Also, now will create links to the custom view by default if one exists.
Fix: Modified BusinessCollectionItem.ToString
for new items.
Fix: Canonical path for pages including home page.
Fix: Canonical path for collections.
Fix: Filter menu for items with sub-items such as categories and sub-categories.
New: ClassDefinitionAttribute.SubmitDisplayNameExpression
and MethodDefinitionAttribute.SubmitDisplayNameExpression
allow you to set the name of submit button. For example, login method submit button might say "Sign In".
Fix: Error when trying to cascade delete rows when the related table is a view.
Fix: When checking out from dashboard cart.
New: ValueDefinitionAttribute.FilterMenuGrouping
is used to group items in the filter menu. For example, grouping on Article.Issue
might be [IssueYear] desc
or grouping on User.Region
might be [CountryName], [StateName]
. Note: the group column names must exist on the table of the column filtering by. For example, CountryName and StateName must also exist on the Users table.
New: ValueDefinitionAttribute.FilterMenuSortAscending
is used to sort items in the filter menu. True = Ascending and False = Descending.
New: Add calculated property Article.IssueYear
which is used to group issues in filter menu.
Fix: EnumerationDefinitionAttribute.DefaultValue
produced an error when enumeration name like Now could be evaluated.
New: The following properties were created on the website and group objects to return published articles visible to the current user.
VisibleServiceTimes
with filename servicetimes
New: Filter functions on visible service times.
Upcoming
Past
FilterByCategory
FilterByCountry
FilterByState
FilterByRegion
New: When specifying users for a booking the system can now ask for additional information for each user such as Dietary Requirements. You can specify the name of that additional information in Service.BookingAdditionalInformation
.
New: CartItems.HasSubscriptions
and CartItem.IsSubscription
.
New: You can now set BusinessCollection.ItemsPerPage
to zero.
Fix: Breadcrumbs filter expression were showing the values instead of the formatted display text.
Fix: Membership.Subscription
set where possible and Membership.AutoRenew
set on.
Fix: Pages moved to templates have wrong item type.
Fix: Several speed issues when requesting a page.
Fix: User.Industry
was a readonly property.
Fix: Disposal of business object when processing a return value.
Fix: Articles.FilterByIssue
.
Fix: FilterExpression.ToString
.
Fix: ValueDefinitionAttribute.CreateFilterMenu
.
Fix: EnumerationDefinitionAttribute.DefaultValue
.
Fix: GenerateHTMLSearchControl
when using short-cut paths.
Fix: Styles for search-control.
Fix: Styling issues in CartItems.ConfirmOrder
.
Fix: Styling for readonly HTML control.