Full Release Notes
BACKLOG
|
Validation for Module Names |
New feature to prevent the creation of custom modules with duplicate names.
Screenshots: |
|
Enhanced Export Logic for Orders |
The Order Export feature has been enhanced to provide more detailed information and greater control over the data being exported. The new capabilities include:
Screenshots: |
|
New System Page: reset-password-result |
A new system page for Added {
"form_alias": "reset-password",
"error": 0,
"errormessages": [],
"formtype": "System"
}
Screenshots: When we enter the same password reset link for the second time: |
|
Add |
1) Add It should contain protocol and domain (save that domain that was used by the site visitor at the time the email sending was scheduled). List of emails:
2) Provide toolboxes ( https://prnt.sc/ru2bmo) to all emails with the list of variables that are accessible on this object in liquid context for:
Screenshots: |
|
New Component for Booking Subscriptions |
Add new component tag for Bookings. The Pattern: {% component type:"booking_subscriptions",
viewType:"[[viewType]]", object:"[[object]]", currentMemberOnly:
[[currentMemberOnly]], filterBy:"[[filterBy]]", filterValue:"[[filterValue]]",
filterCondition:"[[filterCondition]]", collectionVariable:"",
layout:"", sortBy:"", sortOrder:"", limit:"[[limit]]",
offset:"[[offset]]" %}
Single tag item context is described below. viewType == list {
"formId": 0,
"memberId": 0,
"id": 0,
"formName": "",
"EventName": "",
"Allocation": 0,
"Price": "",
"dateSubmission": ""
}
viewType == detail {
"formId": 0,
"memberId": 0,
"fields": [
{
"name": "",
"alias": "",
"value": "",
"type": ""
}
],
"id": 0,
"formName": "",
"EventName": "",
"Allocation": 0,
"Price": "",
"dateSubmission": ""
}
Default virtual layout:
<ul>
{% for item in this.items %}
<li>
<strong>{{item.formName}}</strong>
<span>Date Submission: {{item.dateSubmission | format_date: "dddd, MMMM dd, yyyy"}}</span>
</li>
{% endfor %}
</ul>
The new component will be added here: https://prnt.sc/wqRi_L8xLv9o Screenshots: |
|
Improvement to the ‘Setup Analytics’ file input |
If a Service Account Key File has already been uploaded, the file input will be filled with asterisks to indicate that a file is present. A "Delete" button will now be visible. Clicking this button will trigger a confirmation popup: "Are you sure you want to remove this file?" If the user clicks "Ok," the file data will be removed from the Google Analytics configuration in the database. If a new file is uploaded and submitted with the setup analytics form, it will replace the old one. If no file is submitted with the form, the existing file data in the Google Analytics configuration will not be removed. DESIGN: https://invis.io/TA104JA6C9VP Screenshots: |
|
Website Backup Scheduling Interface Updates |
The Website Backup extension scheduling options have been adjusted. The "Period" and "Every" dropdowns have been switched: https://prnt.sc/TJUqZPQ6NC5i A new "Hour" option has been added to the "Period" dropdown. If "Hour" is selected, the time dropdown will be removed. When "Hour" is selected, the "Every" dropdown will show options for 6 and 12 hours (default is 12). If a user had a backup previously, we would count a time based on the previous backup time. The tooltip should say: “Your next backup creation will be launched approximately at [time]” If the user didn't have a backup and it's their first backup, we will do a backup within the next hour. The tooltip should say: “Your next backup creation will be launched approximately at [time]” Screenshots: |
|
eCommerce Сatalog duplication with or without sub-content |
Now, users can choose to duplicate not only the catalogs but also the products within those catalogs. When duplicating a catalog, a message will appear with two options:
Screenshots: |
|
Custom Modules Advanced Filtering |
Public Backlog request link: https://webinone.com/public-backlog-state/delivered/custom-modules-advanced-filtering Add the "Where" parameter to the admin panel. This parameter will be used for the items. Add the "Filter Type" dropdown with the 2 options: "Simple Filtering" and "Advanced Filtering". The default is "Simple filtering". Default view will show a "Filter Type" dropdown and a "Filter by" dropdown. If the user switches to "Advanced filtering" in the "Filter Type" dropdown, the "Filter By" dropdown will be removed and replaced with the "Where" drop-down, which will be a text input field. If the user configures both "Filter By" and "Where", then "Where" will be prioritized, and the system will do filtering based on "Where". "Filter By" will be ignored in such case. The filter value will use the JSON Query Language format as per: https://github.com/clue/json-query-language/blob/master/SYNTAX.md Screenshot: |
|
Liquid Parser Inside Text Based Files |
Backlog request: https://webinone.com/public-backlog-state/request/custom-modules-advanced-filtering Liquid (and module rendering) is now available inside other text based files such as .css, .js, .xml, .json, .txt, etc. Add the Example File:
In order to parse file with liquid reference the file with the URL parameter:
With the new functionality, the liquid will be parsed within the file, so the file is returned with the parsed liquid, providing the URL param is used when referencing the file. |
Custom Modules Advanced Filtering
-
- Ability to filter Custom Module items using JSON Query Language Syntax inside "filterBy" parameter of Liquid module component.
NOTE: This feature will complete all the BC's module_data filtering capabilities.
- Custom Modules
Liquid Parser Inside Text Based Files
-
Liquid (and module rendering) inside other text based files such as .css, .js, .xml, .json, .txt, etc.
Add ".liquid" suffix to the file URL to force it to be processed by the liquid engine.
Example
File:
/assets/css/main.css
In order to parse file by liquid first use such link:
/assets/css/main.css.liquid
- Liquid