Full Release Notes
v5.9.1
BACKLOG |
Favorites |
1) Add/remove from favorites actions Add two GET URLS (public api), one for “add” and one for “remove”, for logged in users with `itemId` as parameter (id of module item that should be added to favorites) 2) Add component type:"favorites": {% component type:"favorites", source:"[[moduleIdentifier]]", itemId:"[[itemId]]", includeItemData:"[[includeItemData]]", limit:"[[limit]]", collectionVariable:"", layout:"" %}
Default sorting by `CreatedDateTime` DESC. Single item context is:
(If `includeItemData` == true, the modules typical data will be included along with the above “Favorites” data. 3) Add component to toolbox, under: “CRM” > “Favorites” 4) Add default JS and styles for favorites: Once added to favorites - change favorite icon appearance and switch URL from ’add to favorites’ to ’remove from favorites’. Once removed from favorites - change favorite icon appearance and switch URL from ’remove from favorites’ to ’add to favorites’. If user is not logged in and clicks Add or Remove from favorites - redirect them to system error page with the following data:
Apply ability to request add and remove from favorites API urls with GET param `jsonResponse=true`. If `true` - return JSON response with error details (status code 401). Otherwise - redirect to error page with the above described type and message. DESIGN: https://invis.io/VEZ0HS6A8YF |
BACKLOG |
eWAY and Stripe improvements |
1) Add to data passed to eWay:
2) Change ”Invoice Description” to <form name> 3) Add data passed to Stripe (only for one-time payment):
4) Change ”Description” to <form name> |
BACKLOG |
Show Product URL based on current catalog |
On product detail show URL based on catalog that it’s contained in. Modify component type module logic: If filtered by `parentId` add `this.url` value based on the parent determined by `parentId`, eg:
|
v5.9.2
BACKLOG |
Customize Analytics |
1) Analytics Customization
2) Single Chart customization
3) Add Chart to analytics
4) Restrictions Feature available on PRO Plan and higher. |
BACKLOG |
Copy File URL to clipboard |
Add ability to get file’s URL in file manager and file manager toolbox.
DESIGN: https://invis.io/VTYEHO7Z6NJ |
BACKLOG |
Wording change on event bookings |
Rename following wording in the CMS:
|
BACKLOG |
Drop shipping feature improvement |
Feedback description: When a visitor makes an order for several different items on one and the same order the system will create one purchase-order for each item even if they all are supplied by one and the same supplier. This obviously causes a lot of extra work for the suppliers. BC consolidated several items to one and the same purchase-order and only split the order if there were multiple suppliers to supply the items on the order. Solution: Consolidate several items to one supplier email for the same order instead of sending supplier email for each product. |
Bonus: Add Ability To Get File’s URL In File Manager
-
Problem:
It’s hard for users to get file URLs from the file manager.
Proposed solution:
Add a new menu item, “Copy URL”, under file actions dropdown that allows a user to copy the file’s url.
Here:
It would also be nice if the file name was linked to the file location in list (non-tree)...
- File Manager
Customize Analytics
-
Ability to edit admin's "Analytics" page:.
- Rename page and blocks
- Rearrange and resize blocks
- Change or hide data inside blocks
- Set data range
- Add extra analytics
Available starting "Pro" plan.
- Analytics
Full Release Notes
Bambora Payment Gateway |
Bambora Improvements (patch v5.8.1) |
Design: http://prntscr.com/vljvo7 1) Implement Payment window modes (payment gateway settings page):
Bambora Documentation: https://developer.bambora.com/europe/... 2) Implement "immediateredirecttoaccept" setting: When the payment has gone through you end up on a "success" page on the bambora site and you can then click to go back to the Treepl site with the receipt.
https://developer.bambora.com/europe/... 3) Language control settings Provide possibility to select the language for the payment window. Bambora Documentation: https://developer.bambora.com/europe/... 4) Add transaction ID to the list view of the order (and allow search). |
Misc |
Admin UI: Orders pagination (patch v5.8.1) |
Improve Pagination speed (CRM -> Orders) |
Direct Billing |
Invoices for portal payments (patch v5.8.2) |
For direct billing with commissions:
|
Feedback Task |
Set 404, 403 and 401 status codes when showing appropriate system pages |
Implement server responses for 404, 403 and 401 statuses to set appropriate status codes and at the same time still display appropriate System Pages content. |
Feedback Task |
Admin Proof Read/Suggestions (Part 2) |
Original Source: https://docs.google.com/document/... 12. [ ✔] In the “Form Builder” options, perhaps adjust the form ‘Type’ display names an provide a short explainer, eg |
Public Request |
Custom Client Notes For Custom Fields |
Source: Description: New 'Notes' field against any custom field created in the admin. It would display next to the field when clients are creating Custom Module items and could provide additional info to help them when entering content. For example: with an image field, the note might read "This image is displayed as the thumbnail on your Team Members page and ideally should be portrait orientation and at least 500px wide". The note could perhaps be hidden under a help/info icon to keep the layout clean.
Allow add notes (https://projects.invisionapp.com/...) On module item add/edit form: Display notes when hover tooltip icons (https://projects.invisionapp.com/...) Note: Add notes to `module` export/import flow. |
Public Request |
Set Custom Icons For Nested Module Items In Tree View |
Source: Source Description: Provide ability to change icon of the item in tree view (http://prntscr.com/vu9h50)
|
Feedback Task |
Improve GDPR control, Contacts and advanced CRM groups |
1) Add new Group to `Settings` -> `Misc`
2) Logic If ”Allow listing crm contacts data” == true - discard "Allow listing my contact data in the CMS" checkbox behavior and always allow use all contact data:
3) Components logic extending Add includeSecureZonesInfo: "true" param to {% component type: "CRMContacts" %} If not set - default value is false Also add it to the toolbox.
securezones": [ { "id": 1, "name": "Member Only Area", "landingpageid": null, "createddatetime": "2020-10-20T14:59:54.347", "updateddatetime": "2020-11-12T16:07:27.113", "expirydatetime": "9999-12-31T06:00:00", "ExpiryOption": null, "ExpiryAfter": null, "AccessType": 0, "Plans": null, "CountPaidSubscribers": 0 }, |
Feedback Task |
Admin UI changes |
Task list:
|
Public Request |
"Already Taken" URL Validation |
Source: Description: Validation warning for general URL conflicts before saving item. ie: for Pages and other items not influenced by the Advanced URL Manager. 1) Update `Settings` -> `Misc` in group “Admin Panel Settings” with new setting “Disable autocomplete for already taken URL slugs” (default is ‘false’) 2) Logic If `true` - do not add `-1` to the slug on save. Throw validation error message "Warning: Duplicate URL" If false - logic should be as it was earlier. |
Public Request |
Add Default Styling For Pagination |
Source: Description: Currently pagination outputs raw unordered list. Apply some default formatting to remove the bullets from the list and make it horizontal. Also by default it would be nice to truncate the pagination with “…” and show the last page if there are over 5 pages. If we really want to get fancy we could make the default styling along these lines. 1) Component param Add param to component type `module` and `module_of_member`
2) Toolbox
Applies to the following modules:
|
Public Request |
Small UI tweak: Add Icons To Items Under "Content" Section |
Source: Description: Implement the icons in “Content” section that are already under the components insertion list. All other icons on the 2nd level should remain the same. Apply it to all default menus. Leave custom menus as is. Design: |
Public Request |
Pages/Template/General Editing Window |
Source: Description: Make the editing area fill the vertical space in the browser window. |
Public Request |
Recent Item Section |
Source: Description: A ‘Recent Items’ section to quickly go back into last page/module you were in, without having to navigate back to that page. Functionality
DESIGN |
Feedback Task |
Grouping product in toolbox improvement |
Show `this.id` as first option of ”Filter Value” field for following components in toolbox (show it before datasource loading process occurs) Ecommerce:
IF it's selected or NO item selected - show "{{this.id}}" as value |
Feedback Task |
Forms email aggregator |
Add new setting to `Form` -> `Settings`:
Add new setting to `Form` -> `Settings`
Add liquid variables of ”Confirm Email Notification” to the scope of the following system emails:
|
Feedback Task |
CRM -> Bookings: Export to Excel to be filtered by form name? |
Source Improve Bookings export (https://prnt.sc/vv97ic)
Update exporting logic so it will retrieve bookings based on selected forms and events |
BUG |
Infinity redirect on login to Portal |
Fix infinity redirect on SSO login to Portal |
BUG |
Toolbox bug in event group Component |
Custom Client Notes For Custom Fields
-
New 'Notes' field against any custom field created in the admin. It would display next to the field when clients are creating Custom Module items and could provide additional info to help them when entering content.
For example: with a image field, the note might read "This image is displayed as the thumbnail on your Team Members page and idealy...
- Custom Modules
"Already Taken" URL Validation
- Validation warning for general URL conflicts before saving item. ie: for Pages and other items not influenced by the Advanced URL Manager.
- General
Add Default Styling For Pagination
-
Currently pagination outputs raw unordered list.
Apply some default formatting to remove the bullets from the list and make it horizontal. Also by default it would be nice to truncate the pagination with “…” and show the last page if there are over 5 pages.
If we really want to get fancy we could make the default styling...
- Blogs
- Custom Modules
Admin UI changes (v5.9)
-
- Admin Proof Read/Suggestions: Admin Proof Read.docx
- Add info with site name and username to the header: See design
- Fix search in the data source. Currently, the search is working just from the start of the line.
- Alphabetic sorting of data sources.
- Alphabetic sorting of tags + button to sort from A to Z.
...
- UI/UX
- Admin Panel
Misc Improvements (v5.9)
-
- Set 404, 403 and 401 status codes when showing appropriate system pages
- Improve GDPR control, Contacts and advanced CRM groups
- Ability to "Favorite" a module item
- CRM -> Bookings: Export to Excel to be filtered by form name?
- UI/UX
- Admin Panel
- General
Pages/Template/General Editing Window
-
Make the editing area fill the vertical space in the browser window.
- Admin Panel
- Pages and Templates
Recent Item Section
-
A ‘Recent Items’ section to quickly go back into last page/module you were in, without having to navigate back to that page.
- UI/UX
Small UI tweak: Add Icons To Items Under "Content" Section
-
Implement the icons in “Content” section that are already under the components insertion list.
- Admin Panel
Full Release Notes
BACKLOG |
PORTAL: Portal restructure |
1) Rename Menu items Change following:
Split Menu in two parts. Set to bottom menu following items:
Change Icons for
2) Restrictions Restrict commissions for Agency role only Show prices that include commissions on the Treepl CMS sites in direct billing page DO NOT include commissions if clicking pay from the portal. 3) FTP credentials tab Create FTP under trialsite.co subdomain Show host and username under ’FTP credentials’ tab |
BACKLOG |
PORTAL: Direct Billing (commissions) |
1) Add “Commissions” tab to ’My Settings’ Design: https://invis.io/SDZC33JMHBA Settings:
Once form is saved - send ’paypal email verification’ email with the confirm button. Once confirm button is clicked - mark paypal email as verified.
DO NOT SEND commissions to paypal emails until they are verified (trigger Payment error) 2) Add commission tab to site edit page Add tab that will allow to setup commission for the site for monthly and annually subscriptions. Settings:
Calculated summary should follow logic as described in this spreadsheet (for display purposes use 4.4% fee per transaction since it is the biggest one that may be charged): Algorithm
Design: |
BACKLOG |
PORTAL: Branded subdomains |
1) ‘My Settings’ -> ‘Domains’ tab Add Domains tab to My Settings page Design: http://prntscr.com/vlj9g3 Provide ability to:
2) ’My Settings’ -> ‘Domains’ tab -> ‘domain details’ page Show 3 tabs:
Restrict access to ’Partners’ and ’Agencies’ only. Allow ’Partners’ and ’Agencies’ to have:
Disallow ’My Settings’ -> ‘Domains’ tab for portal users
Provide role indication icon and tooltip near user email. Design: http://prntscr.com/vlj6j8 |
BACKLOG |
Bambora Improvements |
1) Implement Payment window modes Design: http://prntscr.com/vljvo7 Implement Payment window as:
Bambora Documentation: 2) Implement "immediateredirecttoaccept" setting When the payment has gone through you end up on a "success" page on the bambora site and you can then click to go back to the Treepl site with the receipt. Provide ability to choose this flow in bambora payment gateway settings and implement the appropriate logic.
3) Language control settings Provide possibility to select the language for the payment window. Bambora Documentation: 4) Add transaction ID to the list view of the order. Provide ability to search by it http://prntscr.com/vikmzm |
BACKLOG |
Admin UI: CRM -> Orders pagination improvement |
Admin UI speed improvement on CRM -> Orders page. Improve pagination in order to return order list faster. |
BUG |
{% component type: "shopping_cart" %} |
If you add `collectionVariable` param to the component the layout doesn’t render in the following cases:
NOTE: You may have such kind of components in you code ({% component type:"shopping_cart", collectionVariable:"shoppingCartData" %}) that by mistake may miss the layout:"" param that stops component from rendering the default layout but still show no default layout (because of the current bug) . |
Customizable Commissions
-
[Agency feature]
Ability to add commission on top of the CMS plan for sites customer chose to pay directly.
Instant distributed payments (PayPal).
- Admin Panel
Branded Subdomain
-
Ability to create trial sites Partner's or Agency's primary domain.
Domain management section available from the Treepl Portal.
- Treepl Portal
- BC Equivalent
Full Release Notes
BACKLOG |
Agency Plan: |
1) Portal settings - ability to allow direct billing and site activation In Treepl Portal on ‘Edit Site’ page add new setting: “Allow Activation on the site” 2) Billing from the admin Add Billing button to the "gear" menu Show it only if ”Allow Activation on the site” is TRUE and the site is not paid yet
Link to terms and conditions: https://treepl.co/terms-of-service Allow user to pay for the site activation (validate the terms and conditions checkbox is checked). Once paid - set return URL to lead to the ’Settings’ -> ‘Domains’ (1st step of the activation). 3) Domain Activation Steps Add domain activation steps to the ’Settings’ -> ‘Domains’ page Design: Add ability to:
|
BACKLOG |
Agency Plan: |
1) Add Custom branding menu Add menu item to the "Gear" menu (if current admin has role lower then agency - display menu item as disabled) Design: 2) Add Custom Branding Page
Design: 3) Custom Branding functionality Change branding assets displaying logic (on login, reset password screens etc) as follows:
|
BACKLOG |
Agency Plan: |
1) Add ability to invite staff to Agency user portal (portal users) DESIGN Invited user should be able to perform any action that the agency user can except for:
Invite process should be similar to admin users invite in the CMS (create user if not exist or just invite already existed)
Text for ? icon near INVITE NEW USER button: “Portal users would have same privileges that your account has except of ability to delete sites and invite new Portal users” 2) Add lazy create process on CMS sites When Portal user passes login/verification process (via SSO) to the site that belongs to the Agency of the Portal user - add this Portal user to the DB if it's not exited there yet. 3) Portal user influence to admin users UI and restrictions Portal user should:
|
BACKLOG |
Agency Plan: |
1) Implement new share module functionality DESIGN: Show ‘Export’ button on edit module -> Settings page (see design). Show ‘Import’ button on create new module page (in the same place as ‘Export’ button on design). When clicking ’Export’:
When clicking ’Import’:
2) Implement Import/Export logic Export:
Import: If file could not be parsed show error: “File is not valid for import process”. Else:
|
BACKLOG |
Default setting for availability for search engines |
1) Add default configuration setting Add setting to ’Module’ -> ‘Properties’ -> ‘Default Properties’ -> “Show new items for search engines”:
Location: 2) Setup default state of the new setting for system properties Preselect ”Show new items for search engines checkbox” for the following system modules:
3) Add two buttons that ‘enable’ and ’disable’ all existing module items of the particular module for search engines DESIGN: |
BACKLOG |
Custom Reports needing export of Secure Zone members |
1) Add new type of custom report called “Contacts and Secure Zones” SETTINGS: - hide Form Filter when this type is selected FIELDS: - Contact Fields (Same as for all other report types) - Secure Zone Membership Fields:
- Advanced CRM groups (same as on ‘Contacts only’ report type) FILTERS: - Add Secure Zone Membership Fields to the filters:
Display these labels instead of ENUM values on reports list layout http://prntscr.com/uz6w0f
References: Fields (BC example): https://prnt.sc/ulsji4 Results (BC example): https://prnt.sc/ulsj1l |
BACKLOG |
Shipping option price limitation config |
Add to ’eCommerce’ -> ‘Settings’ -> ‘tax and shipping’ new setting called “Shipping option order price limitations applied to” Options (dropdown):
Logic: Based on the selected value - apply ”Shipping option order price limitations” accordingly:
|
BACKLOG |
Setup primary domain to be first in SEO canonical link helper |
Improve canonical link helper: Domain selector should show Primary domain by default (first option in dropdown) Primary domain can be setup on domain setting page: http://prntscr.com/v9z2zx |
BUG |
Secure/Non Secure form submission folder form setting |
Fixed ability to download secured file only in you are logged in to the admin dashboard |
Bill Clients Directly
- The ability to bill clients directly. Enabled via Treepl Portal, paid via site admin.
- Admin Panel
Default setting for availability for search engines
-
View design
Properties -> Default Properties:
Add ability to enable item for search engines once created.
Preselect it for following system modules
- Blog Post
- Page
- Page Folder
- Blog
- Event Groups
- Events
When new module created - preselect that setting by default
- SEO
New account level: AGENCY
- All new features and capabilities are listed on our updated Reseller Program page.
- Treepl Portal
Custom Reports needing export of Secure Zone members
- Ability to export Secure Zone members from CRM.
- Secure Zones
BONUS: Customer Submitted Content - Add workflow for when items are edited
-
The ability to have notifications on both creating and editing items.
Would we be able to allow the programatic triggering of Workflows for Custom Module create/edit forms, like we have for general forms: https://docs.treepl.co/documentation_group/content-modules/forms#secTriggerWorkflows and this will allows us to configure Workflow/s for whatever condition we need.
- Custom Modules
- Workflow
Feature Flags Changes (v5.6)
-
IMPORTANT!
Enable and hide following feature flags for
all (!) live sites:
- Advanced payment flow (Read article: MIGRATING TO ADVANCED PAYMENT FLOW)
- New liquid engine & nICE 2.0 (Read article: MIGRATING FROM LIQUID 1.0 TO 2.0)
- General
- Liquid
- eCommerce
- nICE v2.0
Misc Improvements (v5.6)
-
- Sitemap.xml Exclude Module List
- Update CRM Contact Group on edit account form
- Advanced CRM groups on custom reports (+export)
- CRM import/export + advanced CRM groups
- Group products JS and Liquid logic
- Rounding Formula for Taxation Engine
- Shipping and tax improvements
- module_tag_list and module_category_list improvement
- Export of orders
- Exporting Subscribers from...
- CRM
- SEO
- eCommerce
User Submitted File Upload To Specific Folder (+ secure/unsecure submitted files)
-
The ability to assign a custom folder path for user-submitted media objects.
This should also apply in the admin - so when selecting a file the file manager opens to the defined folder.
The ability to setup custom folder path to be secured (only admin have access) or unsecured (anyone with the link have access).
- Custom Modules
Full Release Notes
BACKLOG |
File Manager: |
Improve file manager to use lazy loading functionality (to show only those elements that are visible on screen) in order to prevent long loading of the files and folders when there are a lot of files and/or sub-folders. Once user scrolls the active area, show following elements and hide previous so browser would not be overloaded. |
BACKLOG |
Custom Shipping Layouts Bug |
eCommerce JS should not overwrite the <options> layout entirely. If no data attribute would be found - js will use default option name layout. Default layout should be improved by adding ’data-cms_cart_shipping_option_name_layout="{itemName} ({itemPrice})"’ to the select tag http://prntscr.com/tcue19 |
BACKLOG |
3rd Party Shipping Integration: |
1) Add two system fields to the ’Order’ item in the admin (after Invoice Date http://prntscr.com/tb49jp):
Also added to the ‘Order’ liquid object. 2) Provide ability to edit some Order details: http://prntscr.com/tb48qa
3) Add new admin panel page: ‘Ecommerce’ > ‘Settings’: Move here Shopping cart life time setting from Misc settings (https://prnt.sc/sw1toc) 4) Order Statuses should be reworked: DESIGN http://prntscr.com/u6s8kg. Add ’Manage Statuses’ Tab to ’eCommerce’ -> ‘Shop Settings’ page
Provide following delete logic:
Pre-create following statuses (set all to: Workflow=Not Set, Notify Customer=False)
Remap all orders with current enum statuses as follows:
5) Add new system email (‘Email Notifications’ > ‘System Emails’):
Liquid scope for "this":
eg: 6) Add functionality to the order status change event: When changed (manually or via backend flow logic) - get new status settings and
|
BACKLOG |
3rd Party Shipping Integration: |
1) Shop Measurements Setup Add the following settings to the ’eCommerce’ -> Settings’. Determines the unit of measure to be applied to the Shipping options and Products Width, Height, Depth and Weight for the calculation of shipping price. Preset kg and cm for all sites in Database by default. Options:
2) Shipping Option Integration Setup Modify the shipping option Details form according to the following fields order:
Once any type with Shipping Integration selected- hide ’Price’ fields and show additional fields specific to the selected shipping provider:
unique fields for the particular shipping provider including api access params.
3) Shipping option integration on front-end UI Design: http://prntscr.com/u6s6cf
4) Shipping option display based on order rules Shipping options that have shipping provider integration should follow the same rules as currently works for ’User Defined’ shipping options (Shipping Option -> Settings tab). This includes:
5) Shipping Price Calculation Rules Once shipping provider returns the options and their prices - extract ’shippingTaxRate’, ‘shippingPrice’ based on the response data (if no tax set in the CMS the tax info will be taken from the shipping integrator if provided). Then recalculate base shipping price by adding any ’Handling Charge’ and ’Additional Per item Handling Charge’. And then recalculate ’shippingTaxPrice’, ‘shippingTotal’ and all other related prices like it works for ’user defined’ shipping options. Set resulting values to the liquid object of the shopping cart. Return to UI prices that already includes ’Handling Charge’, ’Additional Per item Handling Charge’ and ’taxPrice’. Basically the ’shippingTotal’ (https://prnt.sc/talnkb) 6) Checkout form improvement based on the shipping providers integration Set zip code field to disabled (it is not allowed to be changed) and pre-filled by the value chosen on the shopping cart step (similar to how country is pre-selected based on the country selected on the shopping cart and not allowed to be changed). |
BACKLOG |
3rd Party Shipping Integration: |
Add new component tag for "shippingProvidesFields": {% component type:"shippingProvidesFields", collectionVariable:"", layout:"" %}
Item context: empty Default virtual layout: |
BACKLOG |
3rd Party Shipping Integration: |
Implement Shipping provider API according to BASE LOGIC API: https://www.fedex.com/en-us/developer.html |
BACKLOG |
3rd Party Shipping Integration: |
Implement Shipping provider API according to BASE LOGIC API: https://www.ups.com/upsdeveloperkit?loc=en_US |
BACKLOG |
3rd Party Shipping Integration: |
Implement Shipping provider API according to BASE LOGIC API: https://www.usps.com/business/web-tools-apis/documentation-updates.htm |
BACKLOG |
3rd Party Shipping Integration: |
Implement Shipping provider API according to BASE LOGIC API: https://www.canadapost.ca/cpo/mc/business/productsservices/developers/services/rating/getrates/default.jsf |
BACKLOG |
3rd Party Shipping Integration: |
Implement Shipping provider API according to BASE LOGIC API: https://developers.auspost.com.au/ |
BACKLOG |
3rd Party Shipping Integration: |
Implement Shipping provider API according to BASE LOGIC API: |
BACKLOG |
2 Factor Auth for admin portal |
1) Implement 2FA for the Treepl SSO service (Use google authenticator) 2) enable 2FA on edit account (partner portal): http://prntscr.com/u6s3zj 3) each time on login to portal or any site
4) add ability to enable 2FA for the site on site details and show indicator on sites list
5) for site admin users (if 2FA for the site is enabled) each time on login:
|
BACKLOG |
Replace old order.totalHtmlPrice and remove property |
Replace all occurrences of ’totalHtmlPrice’ to ’totalPriceHtml’ within order or shopping cart objects in following places:
ATTENTION: Custom includes, layouts or snippets where totalHtmlPrice has been used as part of any custom logic will not be replaced. It needs to be replaced to totalPriceHtml by the partner manually. |
BACKLOG |
Payment gateways: |
1) Create support for Paypal Payment gateway. 2) Gateway logic should support following flows of capturing price:
Forum Backlog: https://treepl.co/public-backlog-state/coming-next/paypal-payment-gateway |
BACKLOG |
Payment gateways: |
1) Create support for Authorize.net Payment gateway. 2) Gateway logic should support following flows of capturing price:
Places for logic to be implemented in:
|
BACKLOG |
{% break %} and {% continue %} not working in liquid 2.0 |
Example: {% for item in (1..10) %} {% if item == 6 %} THIS SHOULD BREAK HERE! <br>{% break %} {% endif %} {% endfor %} <br> <hr> <br> {% for item in (1..10) %} {% if item >= 6 %} THIS SHOULD CONTINUE HERE! <br>{% continue %} {% endif %} {{item}}<br> {% endfor %} Expected: https://prnt.sc/s7gxh0 Actual: https://prnt.sc/s7gyj1 Source: https://forum.treepl.co/t/bug-break-not-working-within-if-statement-in-forloop/963 |
BACKLOG |
Add module ID/alias to the Liquid item object |
Extend module item object by adding following properties:
|
BACKLOG |
Increase File Manager Upload limit |
Set the maximum length of content in a request to be 300MB in the File Manager. Update the validation message when trying to upload more than 300MB. |
BACKLOG |
Banner system module release and expiry date |
Upgrade module settings for ’Banner’ system module so it will have ’release’ and ’expiry’ date enabled by default. |
BACKLOG |
Show 404 Page when file is not found |
Modify CMS error handler so if URL that leads to a file (.pdf, .doc, etc.) is not found - display 404 System Page. |
BACKLOG |
Add invoice number column to CRM -> Order list |
Add new column on the CRM > Orders page: “Invoice number” Example: https://prnt.sc/s7h68k |
BACKLOG |
Download from media type |
Add Download button alongside media type fields and in the File Manager: https://drive.google.com/file/d/1GFcEG2gjC5tNrcM8F_YX3N8EbebbSQXS/view?usp=sharing |
BACKLOG |
Data Source for system modules extending |
Allow to select module for Data Source property from the FULL list of modules (system and custom modules) |
Bug |
Module archive fix |
Fixed ‘module_archive’ component for items that belong to the current month (previously they were skipped). |
Bug |
Bug from forum - not correct code for Event Group |
https://forum.treepl.co/t/possible-bug-in-event-group-component/1205 Toolbox generates incorrect code for event groups. Should be like this: {% component source: "Event group", layout: "Detail", type: "module" %} |
Authorize.net Payment Gateway
-
Auhtorize.net payment gateway for ecommerce and payable forms / events / subscriptions.
- eCommerce
- BC Equivalent
BONUS: 2FA (two-factor authentication)
- The ability to enable 2FA (two-factor authentication) for site admin acccess and Treepl Portal access.
- Admin Panel
- General
Ecommerce: 3rd Party Shipping Integration
-
Add 3rd party shipping APIs to eCommerce.
Integrations that partners have "voted" for:
· FedEx
· UPS
· USPS
· Canada Post
· Australia Post
· New Zealand Post
- eCommerce
PayPal Payment Gateway
- Paypal Standard (non seamless) and PayPal PayFlow (seamless) for ecommerce and payable forms / events / subscriptions.
- eCommerce
- BC Equivalent
Full Release Notes
BACKLOG |
Payment Flow For Europe: |
1) Add new setting to the form settings (show only if at least one of the selected payment gateways support Two-step card payments)
2) Payment gateways with Two-step card payments support:
3) Current payment flow logic is Instant payment.
4) Add Amount captured column on the Order -> Payments table http://prntscr.com/tfci79 |
BACKLOG |
Payment Flow For Europe: Stripe for EU (SCA via 3D Secure) |
1) Implement Strong Customer Authentication (SCA): (SCA) is a regulatory requirement in effect as of September 14, 2019, that impacts many European online payments.
2) Add setting to stripe Payment Gateway (Enable 3D Secure) Enabling this setting will force payment form to trigger Payment Intents flow with support of 3D Secure rather then Charges
3) Create new system page: Checkout payment (/checkout-payment)
4) Payment Intents flow will not ask you for card details on the form but once the form is sent - it should redirect you to Checkout payment system page. In case you are paying for Event, secure zone subscription or general payment:
5) If shopping cart total price was changed after user comes to Checkout payment system page - show validation error on submit: “Price of the shopping cart was changed. |
BACKLOG |
Payment gateways: Bambora Payment gateway |
1) Create support for Bambora Payment gateway. Use Norway and Switzerland logic version: https://developer.bambora.com/europe/checkout/getting-started/create-payment
2) Gateway logic should support following flows of capturing price that should be configured via gateway settings (similar as for stripe):
3) Show error message if domain is not verified (endpoint is not valid error from bambora) on charging: “The payment can't be processed. This domain is not verified by Bambora. Please contact their support in order to get the domain verified.” |
BACKLOG |
Custom Reports: Builder |
DESIGN http://prntscr.com/thh497
1) Add page and menu item: ‘Reports’ > ‘Custom Reports’ Provide ability to:
3) Reports Builder: SETTINGS Save the report by name and set as public option that allows you to share the report with other admin users. If Make public set to false - you are the only one who will see this report.
TYPE The type determines what fields should be collected for Fields and Filters steps and what entities should be collected for the final report. - Contacts (default) - Contacts and Cases - Contacts and Orders - Contacts and Event Bookings
FORM FILTER Select a form (from all available web forms) to filter only those cases,orders or event bookings that belong to this form. Show section only if type is one of: - Contacts and Cases - Contacts and Orders - Contacts and Event Bookings
---------
FIELDS Select Fields to be seen on report as column headers
---------
FILTERS
Ability to add additional filtering rules
---------
RESULTS Generate sortable and paginated results table. Ability to export to Excel file. |
BACKLOG |
Custom Reports: Export |
Provide ability to export Custom report to Excel file. Columns should be the same as the report. |
BACKLOG |
Import/Export of prices, attributes and inventory |
Export format:
Add all system properties of the product after default properties and before custom properties
Product area should be defined as (http://prntscr.com/rhxeho):
Add following fields for specific-serialized relations:
|
BACKLOG |
Liquid security issue on form submission |
Add algorithm that will protect user-submitted content of liquid and JS injection in all form submissions and when user adds or edits a module item, for all text fields.
IMPORTANT: Validate text value length AFTER the wrapping if it has occurred. So if original value fits the single line text field but once wrapped it doesn't - the validation error should be shown.
Example: <div> <h1>Some title</h1> {{this}} <script>location.href = "https://some-fishing.site"</script> <style>body{display: none !important;}</style> </div>
Replace with:
<h1>Some title</h1> {{this}} <script-is-not-allowed>location.href = "https://some-fishing.site";</script-is-not-allowed> <style-is-not-allowed>body{display: none !important;}</style-is-not-allowed> </div> |
BACKLOG |
Datasource Field: When focus a field - get first 50 datasource items |
Improve Datasource Form control:
|
BACKLOG |
Recaptcha v3 validation JS fix |
Fix for general form Fix for payment form CMS generated javascript changes to avoid conflicts with payment JS. No Partner/front-end changes required. |
BACKLOG |
Advanced CRM: Custom Fields Groups CRUD Page |
Add page for Custom CRM groups list (http://prntscr.com/thh86e). Provide ability to add, edit, delete the Custom CRM group. Provide ability to use pagination for Custom CRM groups. Add/Edit form should contain following fields:
Design: http://prntscr.com/thh7y7 |
BACKLOG |
Advanced CRM: Custom CRM Field Groups attaching rules and linkage |
There should be 2 types of custom crm groups linkage Global setting:
Individual Contact record Attachment:
Saved custom crm group values for the contact should be saved as group-field-contact-value records. group-field-contact-value records should not be deleted on unassigning Global setting or Certain Contact record Attachment from the crm contact. Description
Linkage entities (each should have EDIT entity button and "Add Custom Fields" button https://prnt.sc/orpcbb):
Group Displaying Rules:
|
BACKLOG |
Advanced CRM: Attach Custom field groups to web forms |
Provide ability to choose Custom CRM Groups and attach them to the form.
Default layout builder should build all fields of each group similar to the form's custom fields.
Name should be: [[GroupAlias]]_[[FieldAlias]]
Example: |
BACKLOG |
Advanced CRM: Add custom CRM field groups to CRM record |
CRM contact detail page should contain new button: “Add Custom Fields”
Clicking on that button should show panel that allows to select existing custom CRM forms.
|
BACKLOG |
Advanced CRM: Liquid component tag for custom CRM fields |
Add new component tag component type:"CRMContactCustomGroup":
Pattern: {% component type:"CRMContactCustomGroup", groupAlias:"[[groupAlias]]", fieldAlias:"[[fieldAlias]]", entityType:"[[entityType]]", entityId:"[[contactId]]", collectionVariable:"", layout:"" %}
Item context: {
Default virtual layout: {{this.fields[0].value}} |
BACKLOG |
Advanced CRM: Toolbox - Liquid component tag for custom CRM fields |
Add new item to toolbox:
|
BACKLOG |
Advanced CRM: Plan restrictions |
All functionality with advanced CRM custom groups should be available starting from Pro plan.
Add to menu:
|
BACKLOG |
CRM Records as Datasource: System property for allowing using crm contact records |
Add new system property to CRM Contact record: isDataUsingAllowed (bool)
CRM records that has this checkbox ticked ON will be allowed to:
|
BACKLOG |
CRM Records as Datasource: Module item custom property - CRMRecord |
Add new Module item property type: CRM record
|
BACKLOG |
CRM Records as Datasource: Liquid output of CRM records |
Add new component tag component type:"CRMContacts":
Pattern: {% component type:"CRMContacts", filterBy:"", filterValue:"", limit:"", offset:"", sortBy:"", sortOrder:"", collectionVariable:"", layout:"" %} Component should filter, sort and return list of CRM contacts that has isDataUsingAllowed equal to true ONLY
Default virtual layout: <ul> {% for contact in this.items %} <li>{{contact.FirstName}} {{contact.LastName}} - {{contact.Email}}</li> {% endfor %} </ul>
Item context: { "items" : [ { "id": 0, "email": "", "firstname": "", "lastname": "", "address": "", "city": "", "state": "", "zipcode": "", "country": "", "site": "", "phone": "", "status": "", "notes": "", "createddatetime": "", "updateddatetime": "", }, ... ] } |
BACKLOG |
CRM Records as Datasource: Toolbox - Liquid output of crm records |
Add new item to toolbox
|
BACKLOG |
Ability To Parse JSON With Liquid |
1) Add new component tag: component type:"json": Pattern: {% component type: "json", source_type:"[[source_type]]", source:"[[source]]", layout:"[[layout]]", collectionVariable:"[[collectionVariable]]" %}
Default virtual layout: {{this}}
{{this}} variable contains the parsed json object. If parse error occurred {{this}} will be NULL
2) Component added to Toolbox (https://prnt.sc/s2pmv2):
================= Public Backlog item: |
BACKLOG |
Extend URL slug max length |
Allow slug max length to be 254 symbols instead of current 200 |
BACKLOG |
Add shipping address to order (system fields) |
1) Add shipping address as system fields to the order in the admin Extend order model by adding shipping address as system fields http://prntscr.com/tet3te
Separate address to the following fields and allow editing via order edit operation:
2) Extend Order liquid object Extend Order liquid object by adding following fields:
So they could be listed like
|
BACKLOG |
Last sorting state saving for the module list view |
Remember the latest sorting field and sorting direction for each module on list view http://prntscr.com/t97vsn Once admin user comes back to the module items list view in the admin - the sorting should be the exact same as it was saved earlier. |
BACKLOG |
Re-send Invoice |
1) Provide ability to re-send invoice email from the admin dashboard (on edit order page) to: - Custom email (‘Send Test Email’ button): once clicked - shows text field to enter email address (pre-filled by current admin email)
|
BETA |
Feature flags updates for v5.4 |
For Trial Sites: Flags moved to internal section AND set to enabled:
For Live sites: Flags move to internal section AND set to enabled:
|
BETA |
Make reCaptcha to be required for users not logged in |
1) Feature flag: Anti-spam protection Enables logic restriction that doesn't allow to submit any web form for not logged in users if the form doesn't include reCAPTCHA (v2 or v3)
Apply restriction as part of validation if
2) WARNING: The flag will be force enabled in 5.5 release (but it still could be temporarily disabled for certain sites on demand). So change your forms accordingly for 5.5 release. And in 5.6 this logic will be applied permanently. |
Bug |
Url (and all other system properties) names should be restricted for custom properties of the module |
When creating custom properties, for any module, using a name of any system property the property should not be created since such alias in use. System should say “Property with specified name already exists” THIS FLOW SHOULD WORK FOR ALL SYSTEM PROPERTIES |
Bug |
Verified domains to be case insensitive |
Validate email domains using case insensitive comparison: |
Bug |
{{this}} in Snippet is incorrect |
Snippet should contain the same object within this variable that is accessible outside snippet. 1. Create snippet and write {{this}} http://prntscr.com/sos6mn 2. Create a Page and output that snippet http://prntscr.com/sos7qe 3. Create another page and write {{this}}
Expected: The only difference between those 2 pages should be only in additional “params” property available in snippet this output http://prntscr.com/sos9nf
Actual: Properties of this object shown incorrectly http://prntscr.com/thgqkk
|
Bug |
Treepl main CSS link position |
Fixed to be prepended to the head section instead of append. https://forum.treepl.co/t/treepl-ecommerce-css-link/1063
|
Advanced CRM
- Customization of forms, form submissions and contacts by a set of predefined groups of fields.
- CRM
- BC Equivalent
Assign CRM Records To Module Items As Datasource
-
1) "isDataUsingAllowed" - system property type checkbox added to CRM record
(only crm records that has this checkbox ticked on will be allowed to be assigned to module items (should help with the GDPR since this checkbox allows user to disallow using his record just by uncheckin the checkbox on the profile page).
2) CRM record - type property...
- Custom Modules
- CRM
Custom Reports
- Ability to create custom records based form submissions, booking records, contacts etc.
- CRM
Full Release Notes
BACKLOG |
Module Duplication |
Function restriction upgrade: Allow copying module starting from Pro plan |
BACKLOG |
`ProductDataJsonHTML` to product detail layout |
Exclusively for Product Module: Automatically add {{this.ProductDataJsonHTML}} to the product detail if there is no manual output inside the layout |
BACKLOG |
Parent Child module links in module settings |
Add ability to switch between parent and child module via links. Useful if you want to go to Blog post settings from blog settings. Design - https://prnt.sc/skhen8 |
BACKLOG |
Search keywords field |
Added search keywords field to import/export |
BACKLOG |
Downloadable products: System Properties |
Add following fields to the system properties for Products module:
Design https://prnt.sc/skhijv |
BACKLOG |
Downloadable products: Processing Logic |
1) Add api to retrieve downloadable file
2) If product has been deleted - delete file as well. On delete - show popup: “You have downloadable file attached to the item and it will be deleted with the item. Are you sure you want to delete this item?” |
BACKLOG |
Downloadable products: Shipping Options logic upgrade |
HIDE shipping options only if ALL products in shopping cart has:
Return an undefined `Enable Shipping` value as `true` if:
OR
Otherwise it's `false` |
BACKLOG |
Downloadable products: Downloadable link for the order line liquid scope |
Add property `downloadableFileURL` to `order` line liquid object.
Modify thank you page and invoice email (default layouts) to show download link if order line is downloadable product Design https://prnt.sc/skhlt9 |
BACKLOG |
Downloadable products: Count downloads logic |
Add `Max Downloads Allowed` system field to product module:
If value is > 0
Else (value is 0 or empty)
|
BACKLOG |
Downloadable products: Downloadable link in admin |
Wrap the product name in `order -> products` tab with a link to downloadable file if it is a downloadable product. |
BACKLOG |
Stripe customers in advanced payment logic |
Modify payment via stripe logic.
As a result if same customer submits several payments - it will always be as one single record in vendor's stripe account. And they will have attached list of non-repeated credit cards that is based on tokens provided while payment. |
BACKLOG |
Attribute and attribute options ordering |
Provide ability to change order of the attributes and options for products via drag-and-drop functionality, which applies the ordering to:
|
BACKLOG |
Show number of products in all shopping carts |
Ecommerce -> Product -> inventory: Show number of items added to all shopping cart sessions under the label of: `Added to shopping cart` Add to general product and product with variations screens: |
BACKLOG |
Link to order on gift voucher |
Ecommerce -> Gift voucher edit page:
|
BACKLOG |
Add link to order from Case, booking |
Add link to order from:
|
BACKLOG |
Daily recurring subscriptions |
Add daily recurring subscriptions option to the secure zone.
|
BACKLOG |
Order Management Upgrade |
Split form submissions and booking subscriptions in orders detail page |
BACKLOG |
Grouped products form improvement |
Remove description field from the grouped product object. Leave display name only |
BACKLOG |
Add tax in product order line + extended tags |
Details here: Equivalents:
1) Add following properties to the order line liquid object:
Example of missing properties and its values: https://prnt.sc/rwvj2f
2) Add following properties to order (see above Example Spreadsheet for calculation definition)
|
BACKLOG |
Out of stock - hide product |
If product in inventory tab has Out of stock property value equals to `hide product` (https://prnt.sc/rseiyi) |
BACKLOG |
Instock logic review |
Change the logic to NOT storing reserved for shopping cart items in In Stock property:
|
BACKLOG |
Orders submission flow rework |
Save form submission data to stripe metadata when performing a payment. Once stripe sends success callback - create form submission record based on data in metadata field |
BACKLOG |
Add Shop settings page and Format settings update |
1) Create groups on the `Settings -> Misc` page Admin Panel Settings
Recaptcha settings
Shop settings
2) Extend `Currency and Format` settings panel (Settings > Domains > Currency and Formatting) Add `Use Custom Number/Currency Format` checkbox (https://prnt.sc/rrnzsp)
Params to be listed in user friendly way:
|
BACKLOG |
Country list management for shopping cart |
1) Add ability to choose what countries to show on the shopping cart. Add `allowedCountries` option to the {% component type:"countries" %} Value:
Example: {% component type:"countries", collectionVariable:"", allowedCountries:"US,AU" %} 2) Add ability to select countries via multiselect dropdown in the component toolbox |
BACKLOG |
nICE color picker z index issue |
Would it be possible for the algorithm to have a minimum z index of at least 100. It seems like it's calculating it at 5 on any complex website, there are going to be items that are over that z-index. |
BACKLOG |
Offline Credit Card Payment System page |
NOTE: To be renamed “Deferred Order Payment” Create new system page
Liquid scope of the page should include the `order` object (same as is accessible on checkout thank you page) Page should contain a new system form with:
Add to component toolbox ability to retrieve offline payment HTML form code
|
BACKLOG |
Offline Credit Card Payment Email |
NOTE: To be renamed “Deferred Order Payment” Add new System email
Liquid scope
|
BACKLOG |
Offline Payments flow |
NOTE: To be renamed “Deferred Order Payment” Provide ability to send Offline Credit Card Payment Email from the `Order -> Payments` tab (https://prnt.sc/rvjj8g)
Alternatively, provide ability to go directly to `Offline Credit Card Payment` system page URL (front-end) from this tab
When submitting a form from the Offline Credit Card Payment system page
Provide ability to set `redirectURL` param. Same as for general forms (form input field) Provide ability to use `jsonResponse=1` param. Same as for general forms |
BACKLOG |
Password change in CRM |
1) Add ability to change password for the CRM contact record. When admin changing password - send `Password Changed` system email 2) Add new system email `Password Changed`
|
BACKLOG |
Bulk delete booking subscriptions |
On `Event -> subscription` tab (https://prnt.sc/rq7cff) provide ability to
|
BACKLOG |
"Today" Button For Release/Expiry Date Functionality |
Add a "Today" button on Release/Expiry Date fields for making inputting date easier, as in BC. |
BACKLOG |
Payment Fields Appearance Management |
1) Add ability to manage layout that is generated by payment systems (https://prnt.sc/rsfhq7): Added two tabs:
Create list of fields based on the documentation below: 2) Apply chosen appearance settings to the payment fields within all payment forms' layouts Modify {% component type:"payment_form_fields", formAlias:"{{this.alias}}" %} layout or payment script JS GET params for this task. |
BACKLOG |
Case Insensitive URL redirect param |
1) Add additional checkbox field to specify if url redirect is case sensitive or not.
logic:
2) Add column to list layout for Is Case Insensitive property
|
BACKLOG |
Control default styles and scripts |
Provide ability to disable auto-added default CMS assets to the head section of pages. Under `Settings -> Misc => CMS Assets Management` 1) Global Settings Fields (and show which resources not to add to the head):
2) For the Content Template Provide same list of fields on the `Content Template` add/edit layout to override global defaults (ie: use global setting by default) 3) Implement logic to check CMS Assets Management settings in the Content Template (or in the Global Settings if Use global setting option is selected for the template). |
BACKLOG |
Re-apply folder detail instead of page detail layout for folders |
Check if there are Page Folder items that have applied detail layout with ID 1525 (Page Detail) If found - attach to them Folder Detail layout (ID 1519 ) and save item. |
BACKLOG |
| set_money_format And | set_number_format upgrade |
Modify liquid filters
Parse argument the following way
|
BACKLOG |
Add URL to order line |
Add URL to order line liquid object. Redo `shopping cart` system page and `invoice` layouts to wrap product name with the link to the product. |
BACKLOG |
Add .dwg format to the staticContent section |
Add “.dwg” extension to the list of allowed to be accessed via URL (Static content list) |
Misc |
Order migration (old data to new) |
Migrate order that was created not by Advanced Payment Flow to the latest version of the orders logic. Apply main order param for the orders that was created for recurring payments (secure zone subscriptions) according to the latest version of the orders logic . |
BACKLOG |
this.order in workflow emails scope |
Add this.order object (same as added in invoice email) to the workflow email liquid context if form has "Accept Payment" option enabled. If no order was created during form submission - set this.order to null |
BACKLOG |
Add to cart - param for button text |
Add buttonName param to: {% component type: "ecommerce_add_to_cart" %} {% component type: "ecommerce_buy_now" %} Example: {% component type: "ecommerce_add_to_cart", buttonName: "Add Me!!!" %} Default value is empty Replace in default layout: `Add to cart` text to `{{this.buttonName | default:"Add to cart"}}` Replace in default layout: `Buy now` text to `{{this.buttonName | default:"Buy now "}}` |
BACKLOG |
Type Media module item property UX upgrade |
Change the algorithm of opening file manager when clicking icon for Type Media module item property https://prnt.sc/sjsoxe:
|
BACKLOG |
Modify shopping cart object |
1) Add `eCommerceItemId` to the shopping_cart order-line object 2) Add attribute images to the order `options` object SOURCE: Use-case for having access to this data: Not directly having the product ID meant I had to look up the product via SKUCode instead which isn't as stable. |
BACKLOG |
Remove Product from cart data attribute selector instead of <tr> (ecommerce.js) |
Modify the functionality, when removing product from cart, so it will try to find parent HTML element by data attribute `data-cms_cart_order_line_holder`. Add autoFix of the shopping cart layout on our template and sites created based on ecommerce template (for the backward compatibility.) |
BACKLOG |
Rebuild module after import module items |
Set to queue entire module rebuild when import module items process is finished |
BACKLOG |
Priced ...HTML properties decimals after dot fix |
PriceHTML and other ...HTML properties render to 4 decimals. Should render such number of decimals as configured in Format Settings attached to the current domain |
BACKLOG |
Add Paginate items parameter for component type module, module_of_member |
Add new parameter to the {% component type:"module" %} and {% component type:"module_of_member" %}
|
BACKLOG |
Order -> Payment tab UX improvement |
View Total cost and pending cost on the page. When click pay by cash - automatically preset amount equal to pending cost Design: https://prnt.sc/skioca |
BACKLOG |
12-24 hrs format switcher for admin datepickers |
Add switcher between 12 and 24 hrs formats on datepickers on `Settings -> Misc` page. Datepickers hrs time format (select) (options): - 12 - 24 Applied to datepickers throughout admin. |
Bug |
Duplicating Event |
When duplicating an event item Expected: Actual: Duplicated item has same subscribers counter as original item has https://prnt.sc/rv91k4. |
Bug |
Parent Child module links in module settings - disappear icon "Folder" |
Go to Settings Blog and select Items List View http://prntscr.com/sbq62x After saving Folders icons are disappear as well as path to Blog Post settings http://prntscr.com/sbq6ms When showing settings tab CMS should return system modules parent-child linkage in order to not override it when saving other settings of the blog http://prntscr.com/sbqbz1 |
Bug |
Bug from forum - not correct import URLs |
https://forum.treepl.co/t/url-slug-changes-not-updated-on-item-import-bug/1002 |
Bug |
Tax deleting error |
When deleting a tax sometimes we get Internal error: |
Bug |
Inventory - When Out of Stock hide button |
|
Bug |
Bugs from forum - Secure Zone Question |
|
Bug |
Bugs from slack - disappear product on Thank you page |
Products on the Thank you page are disappeared http://prntscr.com/r7ukr9 |
Bug |
Bugs from slack - error when related item disable |
|
Bug |
Bugs from slack - import/export |
A product export file re-imported presents ‘Internal Error’. |
Bug |
Bugs from slack - error when apply discount with currency DKK |
|
Bug |
Choose different shipping info |
|
Bug |
Bug from forum - Liquid code to list files from a particular directory |
https://forum.treepl.co/t/liquid-code-to-list-files-from-a-particular-directory/928/2 |
Bug |
Products - add check on Minimum Units and Maximum |
Add validation of these fields: Minimum Units and Maximum Units https://prnt.sc/riulyw when adding products to cart |
Bug |
Bug from client - import/export CRM |
Add ability to edit Type SOURCE: I am seeing an "Excel row number: 2. Detail: Invalid member type." on all 20 lines I try to import to the CRM, but there is no "type" in the file? The only row that works is the first and they all look similar? The first line is exported from the CRM to have something to work from. |
Bug |
[UI] Unruly link manager in WYSIWYG editor |
https://forum.treepl.co/t/unruly-link-manager-in-wysiwyg-editor/1003 |
Bug |
Bugs from slack - payment unsuccessful |
Fix the workflow sending when eWAY payment is unsuccessful http://prntscr.com/rre3lp |
Bug |
Bug from client - change logic Exclude from Catalogs |
|
Bug |
Bug from forum - Mandatory Custom Module Fields Reflect in User form |
https://forum.treepl.co/t/mandatory-custom-module-fields-reflect-in-user-form/1054 |
Bug |
Bug from client - not correct time in invoice |
|
Bug |
Portal Bug from slack - doesn't duplicate Feature flag |
|
Bug |
Popup with shopping cart - doesn't display total price |
|
Bug |
Workflow - doesn't changes name of workflow |
|
Bug |
Search forms - doesn't display SKU Code, Seo title and Meta description |
|
Bug |
Bug from Adam - not correct show price when set up 2 prices |
|
Bug |
URL output {{request.request_url.href}} is fixed (was broken and accessible via incorrect alias: {{request.request_url.ref}}) |
“href” param is broken and outputs via “ref” instead. |
Bug |
Bug from Peter - edit name Catalogs |
Change catalog name and click save Go to the list of the catalogs Catalog name is not changed http://prntscr.com/sh8xf5 |
Misc Improvements (5.3)
-
This list of improvements is gathered from Treepl users' feedback from forum and support:
- Ability to copy existing custom module "Pro" plan
- Parent child module links in module settings
- search keywords field to import/export
- nICE color picker z index issue
- Case Insensitive URL redirect param
- Add option to disable default styles and scripts in Misc settings
- Re-apply folder detail...
- eCommerce
Ecommerce Improvements (5.3)
-
This list of improvements is gathered from Treepl users' feedback:
- Auto add this.ProductDataJsonHTML to product detail layout
- Stripe customers in advanced payment logic
- Attribute and attribute options ordering
- Show number of products in shopping cart in the product
- Link to order on gift voucher
- Add link to order from Case, booking
- Daily recurring subscriptions
- Order Management Upgrade - final...
- eCommerce
Deferred Order Payment
-
Ability to manually pay for order through a dedicated system page (link is available through admin).
- eCommerce
Downloadable Products
-
Ability to create downloadable products (files).
It will operate similar way it did in BC.
- eCommerce
"Today" Button For Release/Expiry Date Functionality
-
Add a "Today" button on Release/Expiry Date fields for making inputting date easier, as in BC.
- UI/UX
- Custom Modules
Full Release Notes
Version 5.2 is being deployed to trial sites in a period between April 20 and 24.Live sites will get this update starting April 27th.
Follow our System Status page for announcements.
Performance Update and General Overhaul
-
Liquid 2.0 + nICE 2.0 polishing and finalization
Overall system performance upgrade (up to 80% on pages with multitude of module items and components)
- General
Treepl Portal: Upgrade Website
- Ability to upgrade a paid website, with difference in cost applied billed through PayPal or Stripe
- Treepl Portal
Full Release Notes
Beta |
Email Domain Verification |
Email Domain Verification released from beta flag into production |
Backlog |
eWay Payment Gateway: |
1) Add ability to select eWAY as a payment gateway in Settings > Payment > Gateway tab. If eWAY selected - show fields that are required for eWAY. If stripe selected - show stripe fields. http://prntscr.com/r5p0os 2) REMOVE IMAGE FIELD FROM THE STRIPE FIELDS eWay API key reference: http://prntscr.com/rcm99b |
Backlog |
eWay Payment Gateway: |
Add eWAY payment API library to the system. Implement following payment flows: - single item payment (for "Advanced Payment" flag on and off) For secure zone recurring subscriptions and eWAY payment gateway enabled for the country/currency: - Show validation message and stop processing form submit immediately: |
Backlog |
eWay Payment Gateway: |
Apply eWAY apis to provide credit card fields via JS for payable forms in order to tokenize the card and pass token to the backend for charging process. Apply backend auto-add js file script tag to the page similar to the stripe js (provide all required payment settings via get params to eway.js file) |
Backlog |
eWay Payment Gateway: |
Add new component tag of type "payment_form_fields": - formAlias (required) - alias of the form Single tag item context is described below: { Default virtual layout: <div id="paymentFields_{{this.formAlias}}"></div> Add this component to the default form layout that system generates for forms with payments instead of static html. |
Backlog |
Ecommerce Improvements: |
1) Tax price on product detail (+ in product attributes) Add additional properties to products object - taxRate Upgrade ’item_attributes’ liquid component with ‘includeTax’ parameter: - includeTax (not required). By default use false. 2) Ability to see stock quantity for product variations + disabling variation Add this.productDataJSON property. Value is an object. Example: { Add this.productDataJsonHTML property. ATTENTION: this property required to be rendered on Detail or list layout, because treepl cms ecommerce js works based on it’s data. Value is: Modify JS to: - calculate inStockHtml value based on selected attribute options and this.productDataJsonHTML Data (inventoryVariations) - disable attribute options according to disabled variations in inventory and this.productDataJsonHTML Data (inventoryVariations) - calculate priceHTML and priceWithTaxHtml based on this.productDataJsonHTML Data (quantityThreshold) |
Backlog |
Ecommerce Improvements: |
Unite custom menu API and default menu API in to the one API request Add properties to each menu item object: - id of the item - default view (for module) Remove UI bug when items list requested several times in a row if fast clicking between different module list pages Desired result is speed improvement in the admin when: - module item list/tree view load |
Backlog |
Ecommerce Improvements: |
Add volume discount collection to this object of a module item that "is product" ONLY (module setting EnablePricing == true).
- volumeDiscount Collection structure: [ |
Backlog |
Ecommerce Improvements: |
1) If site plan is lower than ecommerce hide following items:
|
Backlog |
Ecommerce Improvements: |
Add ”Restore to default” buttons to: - system emails |
Backlog |
Ecommerce Improvements: |
Move Currency and Format tab from Settings->Payment to Settings->Domains |
Backlog |
Ecommerce Improvements: |
Disable Secure form submission folder feature. |
Backlog |
Ecommerce Improvements: |
Add new component tag of type:"cases": {% component type:"cases", 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. If object = collection than this contains attributes property that holds the list of attributes ({{this.items}}) :
{ Detail View: { Default virtual layout: <ul> Toolbox: |
Backlog |
Ecommerce Improvements: |
Add new component tag of type:"orders": {% component type:"orders", viewType:"[[viewType]]", object:"[[object]]", currentMemberOnly: [[currentMemberOnly]], filterBy:"[[filterBy]]", filterValue:"[[filterValue]]", filterCondition:"[[filterCondition]]", collectionVariable:"", layout:"", sortBy:"", sortOrder:"", limit:"[[limit]]" %}
Single tag item context is described below. If object = collection than this contains attributes property that holds the list of attributes ({{this.items}}) : List View: { Detail View: { Default virtual layout: <ul> Toolbox: |
HOTPATCH |
Ecommerce Improvements: |
Exclusively for Product Module: Automatically add {{this.ProductDataJsonHTML}} to the product detail if there is no manual output inside the layout |
HOTPATCH |
Module copy function restriction upgrade |
Allow module copying starting Pro plan |
Bug |
List of bug fixes |
eCommerce related:
|
Ecommerce Template: "Furniture"
- New ecommerce/Foundation/WCAG 2.1 compliant template:"Furniture"
- Templates
eWAY Payment Gateway
- eWAY payment gateway for ecommerce and payable forms/events/subscriptions.
- eCommerce
Ecommerce Additions
-
- Tax price on product detail and in attribute component
- Ability to see stock quantity for product variations with disabling of variations
- Volume discount info available via Liquid
- A button to restore all system pages and system emails to default
- eCommerce
BUG: Item Duplication of an already Duplicated Item
-
If you duplicate an item (from within the edit page), save it as a new item, then duplicate that item (still within the edit page), it actually duplicates the original/first item instead of the new one.
- Admin Panel
- Pages and Templates
- Bugs
Full Release Notes
Misc |
Events: |
|
Misc |
Events: |
Set Allow pricing to Events module by default ‘Advanced Settings’ -> ’Enable Subscription’ checkbox added. When enabled (which is default):
|
Misc |
recaptcha v3 execution default JS improvement |
Change default recaptcha V3 js code to the one specified in the file recaptcha v3 execution on form submit-min.js New code will execute recaptcha V3 validation once user triggers submit form event Submission will be longer, but this solution removes validation issues with the old code that gives you 2 minutes starting from the page loaded state to submit the form (validated token expired after 2 minutes). Old code launched validation on page load event. Example: |
Misc |
Rename Categories, Tags and Authors tab name |
On item add/Edit view - rename tab name for categories, tags and Authors
|
Misc |
‘Added by’ field refactoring #1 |
Hide field "Added by" and do not request CRM contact records on item Add/Edit form if ALL settings below are set to false:
Attention: Even if field is hidden if it has a value previously - it will not be erased on clicking save item |
Misc |
Recaptcha v3 validation score management |
In Settings -> Misc
On webform validation if success check if validation score is greater or equals to the one set here. |
Misc |
Add keywords field for site search |
Add default field to all modules:
Should contain CSV list of keywords. When user will perform site search - apply searching by this new field as well as it currently does for name and description |
Misc |
Index writing/reading flow upgrade |
Change the way reindex works:
BUG fix: Check that reindex module flow takes ACTUAL documents. Not the cached ones. |
Beta |
Feature flags updates for 5.0-5.1 |
Remove from internal section flags listed below:
Move ’Email domain verification’ flag to Internal flags. |
Beta |
ps1 |
Feature flag: Advanced payment flow Improves payment flow using defined by the customer price formats and currencies attached to domain payment was made from. |
Beta |
ps2 |
New Payment Setting Page should contain tabs: Gateway: design: http://prntscr.com/rbhtr9
Currency and Format: design: http://prntscr.com/rbhtz4
Default setting will be pre-configured (which can not be edited or deleted). This format setting will be used as default if no format setting specified for the domain. Default settings:
|
Beta |
ps3 |
Entity relation Diagram: |
Beta |
ps4 |
Add new component tag "domain_settings": {% component type:"domain_settings", domain:"", collectionVariable:"" %}
collectionVariable context is an OBJECT described below:
|
Beta |
ps5 |
Display dates in the admin using Default domain Format setting |
Beta |
ps6 |
When creating an order, save currency and price format settings chosen for the domain the order was purchased from, to the order at the moment of purchase. So that if admin changes the currency and price format settings for the domain - the order will still keep those settings that were at the moment of purchase. Display prices in order list and detail view based on these saved currency settings: |
Beta |
ps7 |
Use currency and format settings saved in orders to display prices in invoice email. Liquid {{this.order}} example: "id": "12877807959236673593", "State": "AwaitingPayment", "formId": 0, "memberId": 7, "caseId": 0, "name": "Checkout 04 Mar 2020 09:06 AM", "invoiceNumber": 6, "invoiceDate": "2020-03-04T15:06:40.145232Z", "formatSetting": { "name": "Default", "culture": "en-US", "decimalsQuantity": "2", "currency": { "name": "US Dollar" "code": "USD" "symbol": "$" "digitalCode": "840" }, }, "domainCountry": { "name": "UNITED STATES", "code": "US" }, "destinationCountry": { "name": "UNITED STATES", "code": "US" }, "shippingOption": { "id": "12252410371037462536", "shippingOptionId": "7361027874612051972", "name": "Free", "price": 0.0000, "taxPercent": 0.0, "taxPrice": 0.0, "totalPrice": 0.0000, "subTotalPrice": 0.0000 }, "discount": { "id": "16801218532107878402", "code": "test", "type": "FixedAmount", "amount": 5.0000 }, "discountPrice": 5.0000, "giftVoucher": { "id": "7532467322502512642", "code": "test", "amount": 20.0000, "balance": 20.0000 }, "paymentType": "Offline", "amountPending": 8.7700, "amountPaid": 0.0, "subTotalPrice": 33.7700, "taxPercent": 0.0, "taxPrice": 0.0, "totalPrice": 8.7700, "items": [ { "id": "15049017874163171346", "smallImage": null, "name": "test prod", "type": "ModuleItem", "moduleId": 0, "SKUCode": "eb8da3f4-2037-42c8-ab84-20d7c85ea224", "quantity": 1, "Url": "/catalogs/test-prod", "price": 33.7700, "taxPercent": 0.0000, "unitPrice": 33.7700, "taxPrice": 0.00000000, "unitTotalPrice": 33.77000000, "totalPrice": 33.77000000, "unitTotalPriceHtml": "$33.77", "priceHtml": "$33.77", "unitPriceHtml": "$33.77", "taxPriceHtml": "$0.00", "totalHtmlPrice": "$33.77", "quantityHtml": "", "removeHtml": "", "attributes": [] } ], "giftVoucherPrice": 20.0000, "discountPriceHtml": "$5.00", "taxPriceHtml": "$0.00", "shippingTotalPriceHtml": "$0.00", "giftVoucherPriceHtml": "$20.00", "totalPriceHtml": "$8.77", "amountPaidHtml": "$0.00", "amountPendingHtml": "$8.77" } |
Beta |
Advanced Payment Flow: |
Add system field
Add formType property to the following liquid objects:
If Advanced Payment Feature flag is enabled – all payment forms (with selected Accept Payment property) start working via the new flow: For any form type: IMPORTANT: Default html form template generates completely differently from the old one. Payment forms created earlier WILL NOT BE COMPATIBLE with the new flow since JS and backend logic was completely reworked for multiple payment methods and payment gateways. If form type is ‘Generic’: http://prntscr.com/rbyrbh (old html template on the left side and new one on the right)
If form type is ‘SingleItem’: http://prntscr.com/rbz6gd (compared to the generic type)
If form type is ‘Checkout’: http://prntscr.com/rbzkcs (compared to the generic type)
Guide to convert Event Payment forms html layout from old payment flow to new one: 1. Choose SingleItem form type. 2. Do manipulations described below referencing this screenshot: http://prntscr.com/rcjv8o (OLD on left | NEW on right) (1) This part is unnecessary. Remove it. (2) These attributes are unnecessary. Remove it. (3) paymentType Select form field should be renamed to Payment_Type. Value should be CreditCard. Example: <option value="CreditCard">Credit Card</option> (4) paymentData field should be replaced with: <div id="paymentFields_{{this.alias}}"></div> <input type="hidden" name="Payment_Data" /> <div id="paymentErrors_{{this.alias}}" role="alert"></div> (5) Amount field name should be renamed to Payment_Amount. Value should be changed from {{paymentAmount}} to {{this.paymentAmount}}. "If" liquid code is unnecessary. (6) "If" liquid code is unnecessary. eventId field should be renamed to Payment_ModuleItemId. Value should be changed to {{this.moduleItemId}}. allocations field should be renamed to Payment_ItemQuantity Add data-event_one_item_price="{{this.paymentAmount}}" data attribute to the field so it will be calculated by CMS payment js. |
Beta |
Advanced Payment Flow: |
Redo event payment logic to ecommerce payment - single item flow
|
Beta |
ps8 |
Add new liquid filter: {{ numberVar | domain_number_format }}
|
Beta |
ps9 |
Add new liquid filter: {{ numberVar | domain_money_format }}
|
Beta |
Advanced Payment Flow: |
Add new liquid filter:
Note: The ID value to use for “formatSettingId” is currently not readily available and will be a fix for this soon. |
Beta |
Advanced Payment Flow: |
Add new liquid filter:
|
Backlog |
Secure Zones: |
Add Price section for secure zone subscription. |
Backlog |
Secure Zones: |
Add new step to secure zones "Files and Folders" |
Backlog |
Secure Zones: |
Provide ability to see and assign/unassign files and folders to/from secure zone(s) |
Backlog |
Secure Zones: |
On each request to file after checking redirects, follow steps:
|
Backlog |
Make form submission files secure |
On each request to file after checking redirects:
|
Backlog |
c1 |
Create new System module under eCommerce menu called "Catalogs" - allow creating Catalogs and Products on root level and inner level - has new ‘Simplified Tree View’ - has system field for a Thumbnail Image (media) Design: |
Backlog |
c2 |
Add new view of items:
Extend Module -> Advanced Settings:
Simplified Tree View page for catalog view provides ability to:
|
Backlog |
c4 |
Add new module setting under Advanced Settings -> Allow multiple parent items If this option of the child module is enabled - display Tab with the name of the Parent module (for child module item view) or the name of the Child module (for parent module item view). Example: Module Catalogs is parent to Products. The tab content has a multiple item selector: Selecting multiple parents saves a list of the parent module items. List of parent module items determines the list of urls of which each will lead to the detail page of the item. |
Backlog |
p1 |
New System module under eCommerce menu called "Products" System properties:
|
Backlog |
p2 |
Since product allows multiple parents - provide ability to see multiple urls for the module item. Design: |
Backlog |
p3 |
Add new default property ’SKUCode’ (string) to all modules. Add to liquid scope property ’SKUCode’ Show system property SKUCode on Add/Edit module item page -> settings page if
(Advanced settings hidden and restricted to change for now. Enabled for Event and Product modules only) |
Backlog |
p4 |
Price entity list: Design: http://prntscr.com/rb0z9b Display list of prices (price entities) based on Currency/country pairs. (Currency/country pairs can be achieved from list of domains and cultures and countries attached to them) List shows only price entities that are attached to active Currency/country pairs. If admin changes Currency/country pair for some domain but some module item already has attached price entity based on that Currency/country pair that was previously attached to the domain, than this price entity should not be visible but still saved in the db. So if admin sets back that currency/country pair to any domain, that module item will restore visibility of that price entity in the price list. Price entity properties:
Liquid Scope Extending Module item liquid scope should be extended by property Price {{this.price}} that should return price based on the current domain. Searching and filtering impact Price property should be searched or filtered based on the current domain’s country/currency settings. |
Backlog |
p5 |
Add new module setting
If option enabled - show ’Attributes’ tab in the Add/Edit module item page Attributes list: Attributes provide ability to add/edit/delete product attributes and attribute options. Design: http://prntscr.com/rb16h8 Attribute entity: Attribute entity holds list of attribute options with their prices based on currency/country list from site domains. Properties:
Searching and filtering impact Attributes and their options can not be searched or filtered via module component. |
Backlog |
p6 |
Design: http://prntscr.com/rb12ji Inventory entity Clicking on Generate Variations (setting it to true) should hide InStock and PreOrder options and create variant products as per any attribute options that have AddToInventory = true.
Sum of all insock values of all variant products should be set to Inventory.InStock property. Clicking on Disable Variations (setting it to false) should show InStock and PreOrder options and remove variant products entirely.
Both changes should be applied if user clicks save button ONLY. If user set Generate Variations = false than show confirmation window before saving: Are you sure you want to remove all product variations? OK CANCEL Inventory entity properties and relations
Searching and filtering impact Inventory data can't be searched or filtered for now. |
Backlog |
p7 |
New component tag "item_attributes": {% component type:"item_attributes", object:"[[object]]", module:"[[moduleIdentifier]]", itemId:"[[itemId]]", collectionVariable:"", layout:"", sortBy:"", sortOrder:"" %}
item context is described below. If object = collection (which is default) than this contains attributes property that holds the list of attributes ({{this.attributes}}):
Default virtual layout can be seen/copied via FTP in ‘cms_assets’ folder. |
Backlog |
p8 |
Add new toolbox items
|
Backlog |
CRM: |
New entity of ‘Contact Type’ with options:
Extend CRM Contact entity by Type field. Set ’Consumer’ value to all CRM contact records by default:
|
Backlog |
Ecommerce: |
Ability to view list of taxes and perform create/edit and delete tax operations. Design: http://prntscr.com/rbjty8 Columns of the list view:
Provide ability to pre-create taxes for countries (http://prntscr.com/rbjts6):
http://prntscr.com/ovgi09 - clicking on the button should create set of tax codes for selected country if system has preset of taxes for that country. Create/edit form:
|
Backlog |
Ecommerce: |
Ability to view list of discount codes and perform create/edit and delete discount code operations. Design: http://prntscr.com/rbjuge Columns of the list view:
Create/edit form:
|
Backlog |
Ecommerce: |
Ability to view list of Gift Vouchers and perform create/edit and delete Gift Voucher operations. Design: http://prntscr.com/rbjuz8 Columns of the list view:
Create/edit form: Details tab:
Recipient tab:
Buttons:
|
Backlog |
Ecommerce: |
Add new system email
Liquid scope (this):
EXAMPLE: "Message": "test test test", "SiteUrl": "https://vlad.z.treepl.co", "GiftVoucher": { "Name": "GV431795", "Amount": 100.00000000, "Balance": 100.00000000, "Type": "ViaShop", "Currency": "$", "Enabled": true, "RecipientName": "test@gmail.com", "RecipientEmail": "test@gmail.com", "RecipientMessage": "test test", "CreatedDateTime": "0001-01-01T00:00:00", "UpdatedDateTime": "0001-01-01T00:00:00" }, "RecipientName": "test@gmail.com", "PurchaserName": "test2 test2", "PurchaserEmail": "test2@gmail.com", "GiftVoucherAmount": 1100.00000000, "GiftVoucherCode": "GV431795", "GiftVoucherCurrency": { "Code": "USD", "Symbol": "$", "DigitalCode": "840", "Name": "US Dollar" } } |
Backlog |
Ecommerce: |
Ability to view list of Shipping options and perform create/edit and delete Shipping option operations. Design: http://prntscr.com/rbjxt3 Columns of the list view:
Create/edit form: Details tab:
Settings tab:
|
Backlog |
eCommerce: |
Liquid properties created for all price related objects to correctly output HTML markup to work with JS functionality. For example, where you might have an output for a products price value such as: Output is just a value: But for the shop JS functionality data attributes are required for correct updating of prices, etc. So formatted objects are available, eg: Output is HTML: <span data-cms_product_data_price="[[itemId]]">[[ItemPrice]]</span> |
Backlog |
eCommerce: |
Create js function for ecommerce.js that will
|
Backlog |
Shopping cart: |
Create js function for ecommerce.js that will
|
Backlog |
Shopping cart: |
Create new system page
Default layout - inserts all JS and html code that will provide shopping cart functions |
Backlog |
Shopping Cart: |
Add new component tags: {% component type:"countries", collectionVariable:"", layout:"" %} {% component type:"currencies", collectionVariable:"", layout:"" %} {% component type:"shipping_options", collectionVariable:"", layout:"" %} {% component type:"tax_codes", collectionVariable:"", layout:"" %}
collectionVariable context is an OBJECT described below: countries: { "items": [ { "Code": "string", "DisplayName": "string" } ] } currencies: { "items": [ { "Code": "string", "Symbol": "string", "DigitalCode": "string", "Name": "string", } ] } shipping_options: { "items": [ { "Id": "string", "Name": "string", "Price": 0, "TaxPercent": "0", "TaxPrice": "0", "TotalPrice": 0, "CountryCurrency": { "CurrencyCode": "string", "CurrencyName": "string", "CountryDisplayName": "string", "CountryCode": "string" } } ] } tax_codes: { "items": [ { "Id": "string", "TaxCode": "string", "CountryCode": "string", "Amount": 0 } ] } Default virtual layout: countries: <select> {% for item in this.items %} <option value="{{item.Code}}" >{{item.displayName}}</option> {% endfor %} </select> currencies: <select> {% for item in this.items %} <option value="{{item.Code}}" >{{item.Name}} ({{item.Symbol}})</option> {% endfor %} </select> shipping_options: <select> {% for item in this.items %} <option value="{{item.Id}}" >{{item.Name}} ({{item.TotalPrice | domain_money_format }})</option> {% endfor %} </select> tax_codes: <select> {% for item in this.items %} <option value="{{item.Id}}" >{{item.TaxCode}} ({{item.Amount}}%)</option> {% endfor %} </select> Toolbox:
|
Backlog |
Shopping cart summary widget |
Add new component tag component type:"shopping_cart": {% component type:"shopping_cart", collectionVariable:"", layout:"" %}
‘collectionVariable’ context is an OBJECT described below: { "Id": "1907185188476026940", "totalItemsCount": 1, "unitsCountHtml": "<span data-cms_cart_units_count=\"1907185188476026940\">1</span>", "paymentType": null, "hasGiftVoucherProducts": false, "formatSetting": { "name": "En-US USD my", "culture": "en-US", "decimalsQuantity": "2", "currency": { "code": "USD", "symbol": "$", "digitalCode": "840", "name": "US Dollar" } }, "domainCountry": { "name": "UNITED STATES", "code": "US" }, "destinationCountry": { "name": "UNITED STATES", "code": "US" }, "shippingOption": { "id": "12252410371037462538", "shippingOptionId": "7361027874612051972", "name": "Free", "price": 0.0000, "taxPercent": 0.0, "taxPrice": 0.0, "totalPrice": 0.0000, "subTotalPrice": 0.0000 }, "discount": { "id": "16801218532107878403", "code": "test", "type": "FixedAmount", "amount": 5.0000 }, "giftVoucher": { "id": "7532467322502512643", "code": "test", "amount": 20.0000, "balance": 0.0000 }, "discountPrice": 5.0000, "subTotalPrice": 33.7700, "subTotalPriceHtml": "<span data-cms_cart_subtotal=\"1907185188476026940\">$33.77</span>", "taxCodeId": null, "taxPercent": 0.0, "taxPrice": 0.0000, "taxPriceHtml": "<span data-cms_cart_tax_price=\"1907185188476026940\">$0.00</span>", "totalPrice": 28.7700, "totalPriceHtml": "<span data-cms_cart_total=\"1907185188476026940\">$28.77</span>", "discountPriceHtml": "<span data-cms_cart_discount_price=\"1907185188476026940\">$5.00</span>", "giftVoucherPriceHtml": "<span data-cms_cart_gift_voucher_price=\"1907185188476026940\">$0.00</span>", "giftVoucherPrice": 0.0000, "shippingTotalPriceHtml": "<span data-cms_cart_shipping_price=\"1907185188476026940\">$0.00</span>", "checkoutButtonHtml": "<button class=\"system_button\" data-cms_cart_checkout=\"\">checkout</button>", "clearCartHtml": "<button class=\"system_button\" data-cms_cart_clear_card=\"\">Clear cart</button>", "giftVoucherHtml": "<input type=\"text\" data-cms_cart_gift_voucher=\"\" value=\"test\" />", "discountCodeHtml": "<input type=\"text\" data-cms_cart_discount_code=\"\" value=\"test\" />", "items": [ { "id": "15049017874163171349", "smallImage": null, "name": "test prod", "type": "ModuleItem", "moduleId": 0, "SKUCode": "eb8da3f4-2037-42c8-ab84-20d7c85ea224", "quantity": 1, "Url": "/catalogs/test-prod", "price": 33.7700, "taxPercent": 0.0000, "unitPrice": 33.7700, "taxPrice": 0.00000000, "unitTotalPrice": 33.77000000, "totalPrice": 33.77000000, "unitTotalPriceHtml": "<span data-cms_cart_item_total_unit_price=\"15049017874163171349\">$33.77</span>", "priceHtml": "<span data-cms_cart_item_price=\"15049017874163171349\">$33.77</span>", "unitPriceHtml": "<span data-cms_cart_item_subtotal_price=\"15049017874163171349\">$33.77</span>", "taxPriceHtml": "<span data-cms_cart_item_tax=\"15049017874163171349\">$0.00</span>", "totalHtmlPrice": "<span data-cms_cart_item_total_price=\"15049017874163171349\">$33.77</span>", "quantityHtml": "<input type=\"number\" value=\"1\" data-cms_cart_item_quantity=\"15049017874163171349\" />", "removeHtml": "<a target="_blank" href=\"javascript:\" data-cms_cart_remove_order_line=\"15049017874163171349\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" /><path d=\"M0 0h24v24H0z\" fill=\"none\" /></svg></a>", "attributes": [] } ] } Default virtual layout: <div class="shoppingCartWidget" data-ecommerce_shopping_cart_widget> {% if this.totalItemsCount > 0 %} {{this.totalItemsCount}} item(s), Total: {{this.totalPrice | domain_money_format }} <a class="shoppingCartLink" href="/shopping_cart">View Cart</a> {% else %} Shopping cart is empty. {% endif %} </div> Toolbox:
|
Backlog |
Add to Cart: |
Add new component tag component type:"ecommerce_add_to_cart": {% component type:"ecommerce_add_to_cart", itemId: "", collectionVariable:"", layout:"" %}
collectionVariable context is an OBJECT that is equal to module item selected by itemId param. Default virtual layout: <a target="_blank" href="javascript:" data-ecommerce_add_to_cart_Item="{{this.id}}" class="ecommerceAddToCartItem">{{this.name}}</a> Toolbox:
|
Backlog |
Buy Now: |
Add new component tag component type:"ecommerce_buy_now": {% component type:"ecommerce_buy_now", itemId: "", collectionVariable:"", layout:"" %}
collectionVariable context is an OBJECT that is equal to module item selected by itemId param. Default virtual layout: <a target="_blank" href="javascript:" data-ecommerce_buy_now_Item="{{this.id}}" class="ecommerceBuyNow_Item">{{this.name}}</a> Toolbox:
Button should add item to cart and then redirect user to shopping cart. |
Backlog |
Item Quantity: |
Add new component tag component type:"ecommerce_item_quantity": {% component type:"ecommerce_item_quantity", itemId: "", collectionVariable:"", layout:"" %}
collectionVariable context is an OBJECT that is equal to module item selected by itemId param. Default virtual layout: <input type="number" data-ecommerce_qunatity_field="{{this.id}}" name="ecommerce_qunatity_field" value="1"/> Toolbox:
|
Backlog |
/cms-assets/payment/ecommerce.js file specification and Linkage rules |
File specification: Create file “/cms-assets/payment/ecommerce.js” File contains functions that supply:
Logic should be based on layouts generated by
Linkage rules: <script src="/cms-assets/payment/ecommerce.js?v=[[cms_version]]"></script> should be added to head of the page when:
|
Backlog |
Append to ecommerce.js 3 culture params |
Pass site culture settings to ecommerce.js for price calculation and JS output. |
Backlog |
System page: |
Create new system page
{% component type:"form", alias:"checkout_form", formType: "checkout" %} |
Backlog |
Preset Checkout From |
Create Checkout From. Alias checkout_form Implement base styles for the form in /cms-assets/css/main.css |
Backlog |
System page: |
Add system page
Provide liquid objects (this.formSubmissionData and this.order) those are required to build the page by design below: |
Backlog |
System email: |
Add new Supplier Workflow Notification system email Design - http://prntscr.com/rbkktt Also add invoice liquid data to the following emails:
|
Backlog |
System email & System Workflow: |
Add new Low Stock Notification system email Add new Low Stock Workflow system workflow (undeletable) |
Backlog |
System email: |
Redo invoice system email HTML content to match the shopping cart table |
Backlog |
eCommerce: |
In ‘CRM’ > ‘Orders’ ability to
|
Backlog |
eCommerce: |
Setup Advanced Search and filtering by
|
Backlog |
Advanced Module Settings: |
Create setting that will allow module item to have list of related module items
If option enabled - view tab on add/edit item page: Provide ability to
Chosen module items will be determined as RelatedModuleItemsList |
Backlog |
Advanced Module Settings: |
Create setting that will allow module item to have list of related module items
If option enabled - view tab on add/edit item page: Provide ability to:
Further details: Can sort grouped products ordering via drag-and-drop. Always show main product as first item in list. On change main product - set it's order position to first. When trying to add product to group - if it's already added to any other group - show popup:
|
Backlog |
Module item Pricing tab upgrade |
Provide UI upgrade that allows to see what price is edited right now (highlight editing price line). When choosing another country/currency value - highlight the actual pricing record |
Backlog |
eCommerce: |
Add new component tag component type:"related_items": {% component type:"related_items", object:"[[object]]", source:"[[moduleIdentifier]]", itemId:"[[itemId]]", limit:"[[limit]]", collectionVariable:"", layout:"", sortBy:"", sortOrder:"" %}
Single tag item context is the same as for type:"module": Default virtual layout: <ul> {% for item in this.items %} <li> <a target="_blank" href="{{item.url}}" title="{{item.name}}">{{item.name}}</a> </li> {% endfor %} </ul> |
Backlog |
eCommerce: |
Add new component tag component type:"grouped_items": {% component type:"grouped_items", object:"[[object]]", source:"[[moduleIdentifier]]", itemId:"[[itemId]]", collectionVariable:"", layout:"" %}
Single tag item context is
Default virtual layout: <select> |
Bug |
Advanced URL bug fix |
I created pages in the root directory but then needed to create 2 sub folders (en-gb & fi). I moved the files into the en-gb folder but they also show in the root directory?
|
Bug |
Edit secure zone |
Fixed Internal error bug (http://prntscr.com/r295iq) then changing secure zone type from free to paid and clicking save. |
Bug |
Delete last product from shopping cart |
Now when deleting last product from the shopping cart – the page refresh state to Shopping Cart is empty automatically. No need to manually refresh the page |
Bug |
Change logic when choose another country on Shopping Cart |
When selecting another country the shipping options will no longer disappear (if no country limitation option applied to the particular shipping options). |
Bug |
Not correct calculated pre-order variations |
Expected:
Actual
|
Bug |
Secure Zone custom date |
Create a Secure Zone with Custom Date http://prntscr.com/r26h9g But applied incorrect date http://prntscr.com/r26hdm |
Bug |
Add cursor to indicate drag and drop functionality |
Add cursor on hover in Catalogs and Products assignment pages. So user can determine that he can drag and drop items http://prntscr.com/qytfem |
Bug |
Change sorting on Orders list |
Change ordering on CRM -> Orders. Last created orders should be shown first (sort by date created DESC). |
Bug |
Update table in eCommerce |
Update Custom Columns so user can select eCommerce related properties |
Bug |
Change title on Shipping Option |
Go to Shipping Option, Click on Add new Shipping Option, Change title http://prntscr.com/qyah0h |
Bug |
Change shipping option when change quantity |
|
Bug |
Adding product with different attribute separately to cart |
|
Bug |
Tax on shopping cart should change dynamically |
Output the tax on the shopping cart http://prntscr.com/qydqbo . It should be changed dynamically when applying new tax (user should not refreshing the page to see the applied taxes) http://prntscr.com/qydqv2 |
Bug |
Generate Inventory |
|
Bug |
In Stock showing when inventory disabled |
If Enable inventory checkbox is not checked than In stock:0 should not be shown http://prntscr.com/qvjbxa |
Bug |
Discount code valued at more than the order total |
Order totalPrice should not be less than 0 when applying amount discount that is bigger than totalCost of the order http://prntscr.com/qvjely |
Bug |
Not saving Catalogs in Discount Code |
Catalogs restriction field in discount code not saving. http://prntscr.com/qv4k1k
|
Bug |
Gift Voucher doesn't work |
|
Bug |
Removing Discount codes after applying him |
|
Bug |
2 price in product |
When product that has several prices is added to the cart – shopping cart shows incorrect price https://prnt.sc/qv4sqs |
Bug |
CRM Wholesaler |
CRM Wholesaler type doesn't change logged in users Liquid 'Type' value, nor does it change product pricing to wholesaler when logged in. |
Bug |
Canonical links in product |
Go to detail Product (product must be in several Catalogs) Open tab SEO and set canonical link http://prntscr.com/quyzkm absent name product AND when you change canonical link - must be preselected information - but now is empty http://prntscr.com/quz19h |
Bug |
Catalogs Detail Layout |
Fix the Catalog detail layout https://prnt.sc/quz56n |
Bug |
Clear cart |
Clearing the cart doesn’t restore instock value of the product. |
Bug |
Check 'Price' and 'PriceHtml' |
A Product has Liquid values 'Price' and 'PriceHtml', but these appear to be the same (eg: 18.0000). The 'priceHtml' should be the country/currency "formatted price" |
Bug |
Optimize Speed opening Component Manager |
Optimize loading of the Components Manager http://prntscr.com/qs84xx |
Bug |
Typo in {{this.InStoke}} |
It says {{this.InStoke}}. Again a minor thing and {{this.InStockHtml}} will solve this. https://treepl.slack.com/archives/CRUAT8GGZ/p1579791435006900?thread_ts=1579765114.003400&cid=CRUAT8GGZ |
Bug |
Mistake in spelling |
Under Product 'Group Items' there are some typos for the description placeholder: "Description" and "e.q" http://prntscr.com/qs4lr4 and without the dot in the end http://prntscr.com/qs4mgw |
Bug |
Group Items selection |
Go to Product->Group Items You can't choose itself https://prnt.sc/qs4n4f |
Bug |
UI improvement for Site Information |
https://forum.treepl.co/t/ui-improvement-for-site-information/836 |
Bug |
Liquid error |
When price is added it breaks the product detail page with this "Liquid Error: Object reference not set to an instance of an object."" |
Bug |
Error when delete product |
It seems that sometimes I am not able to add new products, when I press Save it gives me the classic "You have unsaved changes. Leave the page?" If I press OK I end up on the front page (Analytics) |
Bug |
Change this.name on detail product |
Small thing and since all will change the product detail page it doesn't matter that much. The name of the product is "hardcoded" to be "Product 1". Should be {{this.name}} ? |
Bug |
Added by member - doesn't show |
“Added by” CRM contact not showing on Module Item Detail Page http://prntscr.com/qxdk80 |
eCommerce
-
Ecommerce release schedule
- Products
- Catalogs
- Discounts
- Taxes
- Shipping
- Gift vouchers
- Related products
- Shopping cart and checkout process
- eCommerce
Ability To Assign Documents To A Secure Zone
-
Ability to make documents such as PDFs and Word docs secure by assigning them to a secure zone. And/or the ability to assign a folder and all the documents in it to a secure zone so that no one can access or download the document unless they are logged into the secure zone.
- Secure Zones
eCommerce beta
-
Ecommerce release schedule
- Products
- Catalogs
- Discounts
- Taxes
- Shipping
- Gift vouchers
- Related products
- Shopping cart and checkout process
- eCommerce
Full Release Notes
Backlog |
Secure Zone Subscription:
|
Enable Paid Access control:
Setting page (http://prntscr.com/q77nx4) |
Backlog |
Secure Zone Subscription:
|
Subscription page (http://prntscr.com/q77mxb)
|
Backlog |
Secure Zone Subscription:
|
Once form is submitted
|
Backlog |
Secure Zone Subscription:
|
Once Cancel Membership subscription flow triggered:
|
Backlog |
Secure Zone Subscription:
|
On saving Form settings with changed secure zones list - validate that all secure zones have the same recurring period or have no recurring at all. If found different recurring period - show error message |
Backlog |
Secure Zone Subscription:
|
Add new toolbox item (http://prntscr.com/pu6m4d)
Shows list of forms that have assigned secure zones WITH sell membership option enabled. On selecting a Form, show form tag with price attribute that corresponds to the SUM of all secure zones prices Example: {% component type: "form", alias: "membership_form", price: "25.25" %} |
Backlog |
Secure Zone Subscription:
|
Behavior for saving secure zone membership settings if there are already existing subscriptions in the system. 1) On disable membership or setting membership price lower than before - show popup:
2) On setting membership price higher than before - show popup: “You have active subscriptions for this membership in the system.
|
Bug |
Page URL link broken in Pages Module |
Page URL display link in admin not linking correctly. https://forum.treepl.co/t/bug-page-url-link-broken-in-pages-module/805 |
Bug |
Admin console breadcrumbs with incorrect links |
Admin console breadcrumbs for module items incorrectly linking back to parent items. https://forum.treepl.co/t/bug-admin-console-breadcrumbs-url-incorrect/795 |
Bug |
Rebuild index Fix |
After being renamed, Custom Module items would disappear from the list view on the front end. Only after re-indexing the site it displays again. |
Bug |
Secure Zone - delete contact with secure zone |
Attempting to delete a contact assigned to a secure zone results in error “Internal Error” |
Bug |
Forloop.index is missing in nested loops bug |
When using nested for loops then forloop.index and other properties of forloop was working in the deepest loop only. Expected to get it working in each level of nested for loops.
|
Sell Secure Zone Memberships
-
Functionality to sell membership to a secure zone e.g.: on annual, monthly, weekly, daily basis.
Payment gateway: Stripe.
- Secure Zones
- eCommerce
Full Release Notes
Template |
“Travel” |
|
Misc |
Performance Optimization |
Performed several core improvements that increase
|
Misc |
"module_category_list" component improvements |
Modifications:
|
Beta |
Advanced multi-level categories update |
Force enable flag “Advanced multi-level categories” NOTE: This feature flag activation may need a manual site index rebuild from the admin. If any module item lists on frontend used filtering by category – they may show nothing until index is rebuilt. |
Bug |
Advanced URL manager fixes |
Core bugs that previously broke saving and duplication of module items when Advanced URL Manager was enabled has been fixed. |
Bug |
Corrupted images in file manager |
When replacing image in file manager, image becomes corrupted |
Bug |
Verified domains in Firefox |
Verified email domains could not be added via Firefox https://forum.treepl.co/t/verified-domains-and-workflows-notification-emails/776 |
Bug |
Email tags for Case and Contact admin links |
Case and Contact admin links generated via Liquid tag render old admin links and needed updating https://forum.treepl.co/t/bug-case-and-contact-admin-links-need-updating/763 |
v 4.10.1 Patch | ||
Bug |
Email domain verification autoresponders |
Verifying a domain using the new email domain verification method, autoresponders are not coming through |
Bug |
Advanced URL Manager |
Testing multi slug: Custom Module ‘Items’ fail (404) (https://forum.treepl.co/t/treehouse-meeting-10/767/22) |
Bug |
Filter by tag |
Filter by tag doesn't work - in collection (patch will force rebuild index process) |
Bug |
Site Search |
Site search shows "Liquid Error: Object reference not set to an instance of an object" |
Full Release Notes
Beta |
Advanced URL Manager Part 1 |
Beta Feature needs turning on to use. Advanced URL Manager Allows setting multiple parent items to a single item in order to get several URLs leading to the item's detail page |
Beta |
Advanced URL Manager Part 1: URL manager reconstruction |
Create custom URL manager that will improve Module and Module Items URL management.
|
Beta |
Advanced URL Manager Part 1: Ability to assign multiple URLs for a single content item |
Allow to assign multiple parent module items to the single module item in order to get multiple URLs for an item. Module Settings
If option of the child module is enabled - display Tab with the value of "name" setting of Parent (for child module item view) or Child (for parent module item view) module. Example:
The tab content is multiple item selector Selecting multiple parents should save list of the parent module items. List of parent module items determines the list of urls each of will lead to the detail page of the item. |
Beta |
Email domains verification: Email Domains Page |
Beta Feature turned on by default. Ability to verify domain with Amazon SES to use in "From" field in your email notifications. This avoids emails being rejected or delivered as spam. Add tabs to ‘Settings’ > ‘Domains’
|
Beta |
Email domains verification: Email validation on FROM fields |
|
Beta |
Email domains verification: Email sender applying flow |
Setup new email sending flow (via amazon account). On each email sending - check From email
|
Backlog |
SSO integration: Authorization Token Renew |
Adding background token renew flow to avoid unnecessary re-authentication. https://forum.treepl.co/t/admin-logged-out-warning-or-keep-alive/717/5 |
Backlog |
WYSIWYG Editor |
Remove the default width from the images when placed using the WYSIWYG editor: |
Backlog |
Forms list view |
‘Workflow’ name column added to Forms list: |
Backlog |
Improve custom table columns |
Include ‘Meta Description’ in custom table columns: https://forum.treepl.co/t/request-meta-description-included-in-custom-table-columns/713 |
Backlog |
Liquid filter inconsistency (replace_first, remove_first) |
Original filter ‘replacefirst’, now added ‘replace_first’ https://forum.treepl.co/t/liquid-filter-inconsistency-replace-first-remove-first/718/2 |
Advanced URL Management Part 1
-
UPDATE TO EXISTING MULTIPLE URL MANAGER
- Ability to assign multiple URL's for a single content item (by attaching mulitple parents items)
- Ability to assign multi-slug for Custom Modules (for example: eng/my-module)
- Ability to assign already taken slug for Custom Module (for example: /inventory - is a page or page folder. Custom Module inventory can also take /inventory...
- Pages and Templates
- General
Email Domain Verification
-
Ability to verify domain with Amazon SES to use in "From" field in your email notifications.
This allows avoiding emails to be rejected or delivered as spam.
- Workflow
- Emails
Authorization Token Renew
- Adding background token renew flow to avoid unnecessary re-authentication.
- Admin Panel
Full Release Notes
Portal |
Primary domain change/secondary domain deletion |
Ability to mark a secondary domain as a primary one http://prntscr.com/pb2z50 and delete a secondary domain http://prntscr.com/pb2zf1 |
Portal |
Live/trial sites search option |
Ability to search sites by site name and url http://prntscr.com/panppi |
Portal |
Live/trial sites columns sorting |
Ability to sort domains by site name, url, status, expiration date and plan http://prntscr.com/papd0j |
Portal |
Site activation improvements |
1) Ability to activate a domain without www: http://prntscr.com/pans0e 2) "Site type" step removed 3) Automatic nameservers check and ability to skip "checking NS" step and move to the final "Add A record" |
Portal |
My invoices section |
Ability to view invoices for the sites http://prntscr.com/paov9o with an option to send an invoice to your email address http://prntscr.com/paovsf and download it http://prntscr.com/paow9v http://prntscr.com/pasvyo |
Portal |
Password recovery |
Ability to recover your password using recover link here: http://prntscr.com/pde73q |
Backlog |
Single Sign-On integration with admin: |
Change the login to Treepl admin flow to use Single Sign-On identity provider:
When a user goes to /admin - check his logged in state on identity provider
|
Backlog |
Single Sign-On integration with admin: |
Add Restore Password link to the login form http://prntscr.com/pcyqxh
Add Reset Password Page similar to login page (branded page). Fields:
Add Restore Password Confirm Page similar to login page (branded page). Fields:
On successful restore password confirmation, redirect to the login page. |
Backlog |
Single Sign-On integration with admin: |
Redesign Add/edit admin user views:
|
Backlog |
Single Sign-On integration with admin: |
Create new System email
Design - http://prntscr.com/pcyrv1 |
Backlog |
Single Sign-On integration with admin: |
Create new System email
Design - http://prntscr.com/pcysal |
Backlog |
Single Sign-On integration with admin: |
Clicking on delete admin user should launch un-invite flow on identity server. |
Backlog |
Ecommerce New Plan |
Rename Pro+ plan to eCommerce
Restrict for all plans lower than eCommerce and allow on eCommerce CRUD and list operations
|
Beta |
Payment Settings: Currency and format settings |
Beta Feature:
Title:
Description:
|
Beta |
Payment Settings: Currency and format setting: |
|
Beta |
Payment Settings: Currency and format setting: |
|
Beta |
Payment Settings: Currency and format setting: |
|
Beta |
Payment Settings: Currency and format setting: |
Display dates in the admin using default domain Format setting |
Beta |
Payment Settings: Currency and format setting: |
When creating an order - save currency and price format settings chosen for the domain purchase made from the order at the moment of purchase. So that if an admin changes the currency and price format settings for the domain, the order will still keep those settings that were at the moment of purchase |
Beta |
Payment Settings: Currency and format setting: |
Use saved currency and format settings in orders in order to display prices in order list and detail view: |
Beta |
Payment Settings: Currency and format setting: |
Use saved currency and format settings in orders in order to display prices in invoice email. Liquid changes:
|
Beta |
Payment Settings: Currency and format setting: |
Add new liquid filter:
|
Beta |
Payment Settings: Currency and format setting: |
Add new liquid filter:
|
Beta |
Ecommerce Settings: Tax |
Ability to view list of taxes and perform create/edit and delete tax operations.
Provide ability to pre-create taxes for countries:
http://prntscr.com/ovgi09 - clicking on the button should create set of tax codes for selected country if system has preset of taxes for that country.
Create/edit form:
|
Beta |
Ecommerce Settings: Discount codes |
Ability to view list of discount codes and perform create/edit and delete discount code operations.
Columns of the list view:
Create/edit form:
|
Beta |
Ecommerce Settings: Gift vouchers |
Ability to view list of Gift Vouchers and perform create/edit and delete Gift Voucher operations.
Columns of the list view:
Create/edit form:
Details tab:
Recipient tab:
Buttons:
|
Beta |
Ecommerce Settings: Gift vouchers |
Add new system email
Liquid scope (this):
|
Beta |
Ecommerce Settings: Shipping options |
Ability to view list of Shipping options and perform create/edit and delete Shipping options operations.
Columns of the list view:
Create/edit form:
Details tab:
Settings tab:
|
Misc |
Image processor Fix |
Fix imageprocessor When:
|
Misc |
Export functionality redo |
Modify export flow not to open in a new tab |
Bug |
Bug in file manager |
Bug in the new file manager when opening longer code by the tree-view in a bigger browser window. |
Bug |
Workflow doesn't work on Business Plan |
|
Bug |
BUG: Liquid ‘capitalize’ filter |
Treepl’s implementation of the Liquid capitalize filter actually does Title Case instead of the documented Capitalize function:
https://shopify.github.io/liquid/filters/capitalize/ 1
Both case changes are handy though, so since Title Case is obviously possible I’d ask that a new custom Liquid filter be created called “titlecase” which does what the currently implemented capitalize filter does, then fix the current capitalize filter to work as per the Liquid docs.
|
eCommerce part 1
-
Payment Settings: Currency and format settings
Taxes
Discount codes
Gift vouchers
Shipping options
- eCommerce
Single Account Identity Provider (SSO)
-
Single Account Identity Provider (SSO) via systemaccess.co for:
- FTP + Treepl admin + Treepl portal
- FTP + General Admin user
- Ability to send an invite to an already created admin user
- Ability for an admin user to have access to multiple treepl sites (on multiple DC's) with single credentials
- Treepl Portal
- General
- Infrastructure
Changes in Treepl's pricing plans/restrictions
-
Integration of changes in our pricing plans that were announced several weeks ago
Changes will be applied to all existing and new sites.
Pro+ plan renamed to eCommerce
eCommerce features available in eCommerce plan only
Advanced module settings for system modules available in eCommerce plan only
Payable events, items, forms available starting Pro plan (used to be an extension), together...
- General
Remove "Title" From Blank Site Content Template
-
When starting from a Blank site, the default code inserted for the Content Template includes a restrictive
element:Treepl CMS Features for Treepl Partners & CMS Resellers { this['name'] } { pageContent } element altogether since the system now handles document titles automatically and in accordance with the Name or Meta Title value.
- Pages and Templates
- General
Full Release Notes
Bug |
Site Information incorrect “Value” column |
The Value column in the Site Information Module, shows the Field Type, instead of the Field Value. |
Bug |
Boolean value is ON instead of TRUE |
A boolean form field now returns string “true” or “false” instead of “on” (changes made in liquid formSubmissionData object and on CRM -> form submission -> submission detail page). http://prntscr.com/ovp5e4 |
Bug |
{{counter}} tag issue with ‘New Liquid Engine’ |
Counter tag in list layouts when ‘New Liquid Engine’ beta feature is enabled now renders as intended. |
Beta |
Custom Columns In List View |
Customizable columns for module items view. Allows customized columns on custom and system modules list and tree views.
Create new module settings page for editing columns settings. Showing preview of columns and ability to change their order position via drag and drop.
If there are too many columns on the view - show horizontal scroll. When drag column to the right or left edge of the view - trigger auto scroll functionality in order to provide the ability to move that column out of visible columns area.
Ability to go to add, edit and delete columns. Add/Edit view consists of the following settings:
The ‘Actions’ column will always be present and will be the last column in the view.
New List/Tree view layout for custom columns:
Design:
Tree View Layout: Merge columns of two modules by their names. Merging should take equal named columns and all unique child module columns (basically columns of tree view are ALWAYS child module table columns).
Example:
Pagination Changes: 1) Display current page number as input with number value between prev and next buttons http://prntscr.com/o70umf. On change - show page that is entered in the input. 2) Duplicate pagination to the top of the table.
Lowest plan allowed is ”Pro+”
Add feature to the Admin User Roles: “Can Edit Module Items Columns Settings” |
Backlog |
Module settings UI change |
Redesign ‘steps’ into ‘tabs’ on module settings sections. To this: http://prntscr.com/ovpetu |
Backlog |
File System' API Endpoint (Component Tag) |
Add new component tag of type:"api", source:"File System"
Pattern: {% component type:"api", resource:"File System", folder:"[[folderUrl]]", collectionVariable:"[[variableName]]" %}
Examples {% component type:"api", resource:"File System", folder:"/images/galleries/gallery 001", collectionVariable:"myVar" %}
item context contains:
This component does not render any layout. If no collectionVariable specified - just skip the component processing.
Added to Component Toolbox: 1) Add new toolbox group: "Liquid Data"
provides ability to build component type:"api", resource:"File System"
2) For folder selection use folder picker:
Lowest plan allowed is “Pro”
Add feature to the Admin User Roles: Liquid Data
|
Backlog |
Analytics dashboard settings |
Remove condition that requires ’TrackingID’ for displaying analytics dashboard page. Only ‘ViewId’ is required |
Backlog |
Component type module_tag_list |
Add new component tag of type:"module_tag_list"
Pattern: {% component type:"module_tag_list", object:"[[object]]", module:"[[moduleIdentifier]]", parentItemId:"[[parentItemId]]", limit:"[[limit]]",
collectionVariable:"", layout:"", sortBy:"", sortOrder:"" %}
item context contains:
Default virtual layout: <ul> {% for item in this.items %} <li> <a href="{{item.url}}" title="{{item.name}}">{{item.name}} <span>({{item.itemsCount}})</span></a> </li> {% endfor %} </ul>
VIRTUAL LAYOUT RETURNS ITEMS THAT HAVE itemsCount > 0 ONLY |
Backlog |
Component type module_category_list |
Add new component tag component type:"module_category_list"
Pattern: {% component type:"module_category_list", object:"[[object]]", module:"[[moduleIdentifier]]", parentItemId:"[[parentItemId]]",
limit:"[[limit]]", collectionVariable:"", layout:"", sortBy:"", sortOrder:"" %}
item context contains:
Default virtual layout: <ul> {% for item in this.items %} <li> <a href="{{item.url}}" title="{{item.name}}">{{item.name}} <span>({{item.itemsCount}})</span></a> </li> {% endfor %} </ul>
VIRTUAL LAYOUT RETURNS ITEMS THAT HAVE itemsCount > 0 ONLY |
Backlog |
Component type module_archive |
Add new component tag component type:"module_archive"
Pattern: {% component type:"module_archive", object:"[[object]]", module:"[[moduleIdentifier]]", parentItemId:"[[parentItemId]]", numberOfMonth:"[[numberOfMonth]]", collectionVariable:"", layout:"", sortBy:"", sortOrder:"" %}
Item context contains: years (array)
Default virtual layout: <ul> {% for month in yearData.months %} <li> <a href="{{month.url}}" title="{{yearData.name}}-{{month.name}}">{{month.name}} {{yearData.name}} ({{month.itemsCount}})</a> </li> {% endfor %} {% endfor %} </ul>
MODULE RETURNS ITEMS THAT HAVE itemsCount > 0 ONLY |
Backlog |
Component type module searchScope extending |
Component type module extended by param that allows using FULL search capabilities WITHOUT actual search via GET params (search form). Realization is described below:
1) Extend component type module with new param:
2) Parse content of search scope as JSON. If any exception occured while parsing - ignore this param. 3) Use retrieved object just like GET parameters from a search. filterBy, FilterValue pair < searchScope < GET params if searching THIS module
Example: Both options described below should show the same result
|
Custom Columns In List View
-
Give the user the ability to setup how list view is shown in the different modules/pages etc. to match the need of the user.
See an example in this video
- UI/UX
- General
File System' API Endpoint (Component Tag) That Can List Files And Folders From The File Manager
-
This, for example, could allow us to build gallery apps from a directory of images, list downloadable files from organised in directories, and other file system related functions.
Similar to BCs File System API here:
https://docs.worldsecuresystems.com/reference/rest-apis/file-system/get-folder-content.html
- File Manager
- API
Full Release Notes
Backlog |
File Manager Improvements |
Design - http://prntscr.com/onhp35 Added and improved functionality:
|
Bug |
Random param not working when filtering by tag/category |
Random attribute not working for Custom Modules when filtering by tags/categories. eg: {% component source: "My Module", layout: "List", filterBy: "ItemTags", filterValue: "Header", limit: "1", random: "true", type: "module" %} |
Bug |
Incorrect params rendering |
Under the new Liquid rendering engine (beta feature), was not able to render custom params passed to a Snippet. The 'this' object only seems to reference the parent page/item and not the Snippet itself. Example; {% component type: "snippet", alias: "testsnippet", foo: "bar" %} Using {{this.Params.foo}} to render the param did not work. |
Multiple Improvements In File Manager
-
Design: http://prntscr.com/onhp35
Added and improved functionality:
1. Tooltips with full file names in the sidebar: http://prntscr.com/onhv20
2. Separate scroll for main and tree-view section: http://prntscr.com/onhyz7 3. Edit file (edit and quick edit): http://prntscr.com/njyf77
4. Download of files and folders: http://prntscr.com/onhw3p
5. Right click menu: http://prntscr.com/oe4vex
6. Files in tree view and ability to manage them: http://prntscr.com/onhu7e
7....
- File Manager
Treepl Portal: Data Center Assigned To Website
- Ability to see Data Center assigned to website
- Treepl Portal
Full Release Notes
Beta |
Features moved out of Beta |
These features work consistently now and have been implemented into the CMS:
NOTE: Any feature flag will go through this flow:
|
Beta |
New Liquid engine &nICE v2.0 |
New Liquid engine & nICE 2.0 + nICE v2.0: The ability to use style options like bold, italic, colors, etc in nICE editor interface. New styles interface is available for all content except for module item properties that don’t have a field type of ‘multiline’ or ‘WYSIWYG’ (ie: date/time fields, single line string fields, etc). NOTE: This feature requires valid HTML for proper nICE 2.0 operation in edit mode. + New Liquid engine: IMPORTANT: After enabling this feature, please check all site's custom liquid and JS implementations. The output will be different for old and new liquid engine: Also, if you are using the {{params}} variable make sure you are using it via {{this.params}}. The names of the custom params will also be in camelCase http://prntscr.com/oh82n5 Forum discussion on the topic of params: https://forum.treepl.co/t/new-liquid-engine-changes-to-referencing-parameters-in-custom-layouts/517 This feature flag will be available in beta for 2 sprints and then also will be auto-enabled for all sites. |
Beta |
Multi-level Categories |
Advanced multi-level categories The feature allows creating multi-level categories. + New ‘ItemCategoryIdList’ property added to Liquid scope: New property stores comma separated list of category IDs (existing category property stores list of category Names) Existing: {{this['ItemCategories']}} New: {{this['ItemCategoryIdList']}} + Convert Categories to nested categories On appstart if categories wasn't previously converted, for each category:
+ New interface when creating categories/subcategories Design - http://prntscr.com/oh6ht2 Categories now sorted in the tree structure. By this button: http://prntscr.com/nod8lh the user is able to create a new category. The user is also able to create/remove/rename the category/subcategory clicking on this button: http://prntscr.com/nodeyz . User is able to change the name of the category/subcategory: http://prntscr.com/noddvd . If the user created/changed the name of the category/subcategory and clicks anywhere but not on this button: http://prntscr.com/nodg1b changes should not be saved. + Ability to create/edit categories using the new interface when within a module item Design - http://prntscr.com/oh6i7v If user wants to assign the category to the module there should be the dropdown: http://prntscr.com/npvqod where the level number will be indicated with (----). + Default Parent category setting For modules where you have access to its properties ("Edit Module">"Item Properties">"Default Properties") There will be the ability to specify the parent category to be used when creating/editing module items. The default selection is the Root category level (value -1). if set to any category, than only the subcategories of the set category will be available to the module items (in both the Category field and the pop-out side panel as a tree of categories when clicking ‘Add new category button’. + Change import/export format for categories. Old format example:
New format example:
Change method type from "Get" to "Post" + Change logic for category filtration:
+ Addition of new component tag of type "categories" Component pattern: {% component type:"categories", parentCategory:"[[parentCategoryId]]", levelsDeep:"[[numberOfLevelsToRender]]", collectionVariable:"[[variableName]]" %}
Example: {% component type:"categories", parentCategory:"111", levelsDeep:"2", collectionVariable:"myVar" %} Renders virtual layout by pattern below: <option value="[[itemContext.fullName]]">[["----" x (itemContext.level-1)]][[itemContext.name]]</option> Liquid output example (of “myvar”): { "items": [ { "NestingLevel": 2, "FullName": "Cat 2/SubCat 1", "Id": 112, "Name": "----SubCat 1" },{ "NestingLevel": 2, "FullName": "Cat 2/SubCat 2", "Id": 113, "Name": "----SubCat 2" } ] } NOTES: On generation of ‘search module form’ modification shown in ACCEPTANCE CRITERIA - see further below. Replicate the same to ‘create module form’ Replicate the same to ‘edit module form’ + Component Toolbox shows category tree In the toolbox (for custom module, blogs, events, etc) when selecting filterBy ‘itemCategories’ - display options as flat tree in filterValue field in the format described below:
|
Backlog |
New Email Accounts |
Add Email accounts tab on live site edit page (in portal.treepl.co) Design - http://prntscr.com/oh730f Flow:
Email CRUD layout provides ability to:
|
Backlog |
Contacts Import/Export flow |
Import/Export flow. Fields:
Notes: Only ‘Secure Zone’ and ’Secure Zone Expiration Date’ cells will be imported for those additional secure zone rows added under a contact’s record (with no email address present). All other cells will be ignored in these rows. |
Backlog |
Admin Roles - Import Contacts |
Extend restrictions list for admin roles.
If ’Can Import Contacts’ = false - disallow importing Contacts action for Admins with such roles. Existing configured roles have this disabled by default. |
Backlog |
Multiple Workflows enabled on Business plan |
Unlock Workflow notification Create / Read / Update / Delete operations for Business plan to enable multiple workflow capability. Now restricted only to having different Workflow Emails for those notification. (Multiple Workflow Emails remain only on Pro/Pro+ plans) |
Backlog |
Ecommerce menu items |
Set all sub items in Ecommerce menu as inactive: eCommerce
|
Backlog |
Data Source Property - Default Empty Option |
Original issue: For Custom Module Data Source fields, it was not possible to be set back to null/empty after a selection was assigned. Now an empty ‘Please select’ option is available. |
Backlog |
Re-index module button |
Added ability to re-index only one particular module http://prntscr.com/oh898g Useful for selectively re-indexing specific modules only or to resolve possible issues with specific module search. |
Bug |
Force disabling from search engines for all trial sites |
Force addition of <meta name="robots" content="noindex, nofollow"> meta tag (regardless of page property "Disable from search engines") for any page request under subdomain of *.treepl.co or *.trialsite.co |
Bug |
BUG: SEO Priority Default Setting |
Original bug summary: https://treepl.co/public-backlog-state/request/bug-seo-priority-default-setting Custom Modules default SEO Priority is only visually applied in admin view and does not actually apply until SEO tab is saved. Solution: Apply the Default Priority field value to any newly created item (http://prntscr.com/nvztgl ): - Front-end form
- Admin add item form
- Import process
|
Bug |
BUG: {{this.member}} data does not output to system Invoice email |
Original bug summary: {{this.member}} data does not output to the system Invoice email layout. |
Bug |
Custom module - Content Template changed upon front-end update |
Steps to reproduce:
Expected:
Actual:
|
Bug |
Advanced search - doesn't search in blog |
Fixed the issue that reindex process wasn’t indexing the items that where located in “folder/group” items (like posts in blogs or pages under some page folders). |
Bug |
BUG: Spaces generated in form code |
Original bug summary: https://forum.treepl.co/t/bug-spaces-generated-in-form-code/474 Generated form code for Event and Payment fields had incorrect spaces in the HTML syntax. |
Bug |
Update item from front-end would clear info when update |
Steps to reproduce:
Expected
Actual
|
New Email Accounts
- Ability to create new email accounts for every hosted/activated site from Treepl Portal. Currently, you can request email accounts to be created by emailing to support@treepl.co
- Treepl Portal
BONUS: Advanced Multi-level Categories
-
Ability to create and easilty manage global multi-level categories.
Currently available as one of the "Beta Features" and needs to be enabled manually on every Treepl site.
- Admin Panel
- General
Contacts Import
-
The ability to import/export CRM contacts. For example for users of secure zones that should be imported from BC
- CRM
- Treepl Portal
BUG: {{this.member}} data does not output to system Invoice email
-
{{this.member}}data does not output to the system Invoice email layout.
It works on the system Workflow email but not the Invoice....
- Bugs
BUG: SEO Priority Default Setting
-
In Custom Modules, when the SEO Priority default is set (under step 2. Item Properties), it is visually applied in admin view for all existing and new items but doesn’t actually apply to the item (not reflected in sitemap or in Liquid...
- Bugs
BUG: Spaces Generated In Form Code
-
When adding Event and Payment fields to a Form, the generated HTML code has incorrect spaces forming.
- Bugs
Full Release Notes
Beta |
Implementation of previous beta items |
Features above work constantly now and have been implemented. |
Beta |
Date and time fields |
Date Time Management: Allows choosing time in date fields on custom and system modules. |
Backlog |
Set time on add/edit module items |
1) Provide ability to set time on date properties in the admin. Fields are:
2) Set default time for the date fields above if time not set - use 00:00:00 as default time when saving any of datetime properties above. |
Backlog |
Save time on import/export items |
Use time from the date fields in the excel columns to set date time in the timezone of the site. Fields are:
If not set - use 00:00:00 as default time. |
Backlog |
Save time on create/update item (user submitted) |
1) Save selected time when creating/updating module item via user submitted items.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local If not set to the datetime field - use 00:00:00 as default time. |
Backlog |
Event calendar redo for date time |
Modify calendar JS to use time part of the event start and event end date instead of relying on forcing 00:00:00 to the start date and 23:59:59 to the end date. |
Backlog |
Liquid output for displaying timezone |
Add new property to request object: "timezone" : { "label" : "string", "offset" : int } Where label is a string value of the timezone name and offset is the difference in hours between UTC and current timezone Example Output: "label" : "(UTC-06:00) Central Time (US & Canada)", "offset" : -6 } Example Liquid Usage: {{request.timezone.offset}} Would give value: -6 |
Backlog |
Duplicating of existing module |
Duplicate module with:
Allow selecting new name and url when clicking duplicate button. Duplicate button located on Module Settings tab. Plan restriction for duplicate Custom Module: Pro+ |
Backlog |
WYSIWYG and ACE editor for form autoresponder with switcher |
Add WYSIWYG and ACE editor options to the Form -> Settings -> Autoresponder body. System Flow: When user saves Settings - last selected editor should be saved as well. When user comes to the form setting page - last chosen editor should be applied to the Body field. If no editor was saved for the Form setting section - ACE editor should be chosen by default. Chosen editor should be saved to the particular form, not for all forms in general.
|
Bug |
(HOTFIX) Calendar toolbox builder - default options depended in Advanced Search flag |
If Advanced search feature flag is enabled:
Old logic (if flag is off) :
|
Bug |
(HOTFIX) Calendar for Advanced search feature flag beta param |
Modify calendar js and include file to use beta feature flag param. Set param to 1 if Advanced search feature flag is on. |
Bug |
(HOTFIX) Add Image Bug (not adding actual uploaded image path) |
When adding an image to an image field using the image manager it would add an incorrect image reference. |
Bug |
URL Redirect - when using .html |
Fix URL redirect to recognize such url’s ("/myurl.html" and "/myurl") as different urls. The fix allows creating redirect like "/myurl.html" => "/myurl" |
Bug |
BUGS: User-Submitted Custom Module Items |
BUG 1: |
Duplicate Existing Custom Module
-
The ability to duplicate existing custom module.
Extended feature could be the ability to export settings/layouts etc. for Custom Module and import it in to another site.
Available in Pro+ plan
- Custom Modules
Release Time
-
Release *time* for blog posts, custom module items, pages etc. So instead of just a release date, also have the ability to choose a specific time the content is released.
- Pages and Templates
- Custom Modules
- General
Webform Autoresponders WYSIWYG
-
WYSIWYG editor so that customers can update the content in autoresponders.
- General
- WYSIWYG Editor
BUGS: User-Submitted Custom Module Items
-
BUG 1:
Not sure that user-submitted CM items are honouring site timezone for release date and expiry date IN THE WEB FORM RESPONSE - actual dates in the admin and when later rendering on site are correct.
(I’m testing with a Sydney timezone set)
Release date is always different.
Expiry is different when the date is set in the Create...
- Bugs
Full Release Notes
Backlog |
Site speed increase |
Performed CMS code optimization that slightly increase working speed of site pages (up to 15%). |
Backlog |
Liquid Context Rendering |
New liquid object of {{LiquidContext}} to output all the available liquid for the current layout. eg: {% assign myCustomVar = "some value" %} {{liquidContext}} OUTPUT: { "this" : { "Name": "value", "Description": "value" ... }, "request" : { "request_url": {...}, "currentmember": {...} ... }, "myCustomVar" : "some value" } |
Backlog |
URL Redirects Import/Export |
Ability to Import/Export URL redirects using an .xlsx file. |
Backlog |
Global Variables (Site Information) Builder |
The ability to have a "Site Setting" App, where it is possible to add settings for the client that one could then feed and use throughout the entire site. It could be things like logo, phone, email, address etc. With the ability to have the option of setting the liquid names/aliases so the tags are customisable. So instead of having for example something like {{siteInformation.companyContacts.webAddress}} one could specify an alias like {{si.cc.web}} |
Backlog |
Toolbox -> Global variables (Site Information) |
Add ability to get Site Information tags via the toolbox. Toolbox options:
|
Backlog |
Secure Zone Subscriptions + Expiry dates |
Added 2 system fields to the form builder relating to Secure Zones:
Creating the input fields: <input type="date" name="SZ_ExpiryDate"> <input type="number" name="SZ_ExpireAfterDays">: User is not able to save the form with two chosen options. If both options are present in the form the Expiry Date field will have priority. |
Backlog |
Secure Zone Expiration Settings |
Create a new option on the Secure Zone Page:
|
Backlog |
Add .kml, .kmz extension to allowed extension list |
Add allowed file extensions:
|
Backlog |
Categorized rendering of events in the calendar. |
Now using the component toolbox you can generate the calendar include widget that will render calendar of events by category. |
Backlog |
Import/Export of the detail layout |
Now you can specify detail layout id in import and export file for module items. |
Backlog |
Data Center displaying in the portal. |
Fixed the displaying of the data center in the partner portal. Partner should be able to see the actual information of which data center the website is located. |
Backlog |
Module lists in Admin to list by release date |
Item lists in admin where release date is relevant now can be sorted by the release date column header. |
Beta |
Advanced search feature |
Advanced search added to beta. This feature uses new module index that allows retrieving searched module items in module search faster. Current feature impacts:
ATTENTION: all features under beta will be released one or two sprints after their released sprint. Some of them may change the logic already implemented (by way of improvement). So check if these features impact your site before the full feature release. |
Beta |
(HOTFIX) Calendar toolbox builder - default options logic change (when BETA Advanced Search enabled) |
If Advanced Search BETA feature is enabled: Toolbox -> Event -> Calendar generation will be changed:
Old logic (if flag is off) :
System will support both legacy version of the calendar and new version of the calendar. |
Beta |
Remove “Disable from site search” influence on MODULE specific search |
Beta setting: Improved module search Removes the effect of "Disable from site search" property for module specific searches. Site search will not be affected by enabling this feature. "Disable from site search" property should only be used for Site Search. |
Bug |
Time with calendar - on IOS |
On iPhone if site has timezone set to “–GMT” - events were displayed one day back on certain time set on users device. |
Bug |
Form - Options in reverse order |
Form fields that have options (ie: checkboxes, radios, dropdowns...) would have those options listed in reverse order in the generated layout |
Bug |
Admin - List View Pagination |
When updating a custom module item on page 20 for example it jumps back to page 1. Which is frustrating if wanting to update multiple items on page 20. |
Bug |
Suspend Site text truncated |
Descriptive text for Site Suspension options is truncated. |
Bug |
Bug with liquid |
Module component tags configured with pagination would show total items count as the value in the ‘limit’ parameter. Should shown total items count. As a result generated pagination shows incorrect page numbers. |
Bug |
Event item showing on calendar before release date |
Event item with release date in the future incorrectly shown on the calendar when it should not show at all until release date reached. |
URL Redirects Import
-
Ability to import URL redirects using a .csv file.
Including PDF’s, media items, images, urls ending with a forward slash “/” and unusual urls that include special characters like &, =, $ or .aspx, .php etc. Ability to create wildcard redirects
- SEO
- General
Global Variables Builder
-
The ability to have a "Site Setting" App, where it is possible to add settings for the client that one could then feed and use throughout the entire site.
It could be things like logo, phone, email, address etc.
With the ability to have the option of setting the liquid names/aliases so the tags are customisable. So instead of...
- Admin Panel
BONUS: Form Fields Sorting
-
Sorting of form fields when making a form is reversed in the final layout.
- Forms
Liquid Context Rendering
-
The ability to output all available liquid on the current page.
The BC equivalent would be {{this|json}}
...
- Liquid
Full Release Notes
Backlog |
Ability for partners to block the admin access and pause the websites for clients which are not paying. |
If a partner chooses the soft option:
If a partner chooses the hard option:
|
Backlog |
Ability to add multiple domain names to a website and point to different landing pages. |
If the home page isn't set at all, there should be a customisable system page displayed. ‘Settings’ > ‘System Pages’ > “missing-home-page”
If the visitor enters on the custom domain of the current website;
|
Backlog |
Update Liquid To Include Date & Time Filters |
Added date filters: site_date {{ “now” | date }} outputs "09-Jan-2015" site_datetime {{ “now” | datetime }} outputs "09-Jan-2015 02:46 PM" date_utc {{ “now” | date_utc }} converts a date to UTC (assuming that the date is always given in the site’s timezone) date_add myDate - filter input should be a date time object or a string convertible to a date time object amount - an integer number or a string convertible to an integer number representing the amount of date or time units to add (if positive) or to subtract (if negative) from the input date time object datePart - a string representing the date or time parts to be added or subtracted. The allowed values are:
E.g. using either one of the variables below: 3016-06-15 12:30:30Z will output 3016-06-15T12:30:30 2016-09-15 12:30:30Z will output 2016-09-15T12:30:30 2016-06-30 12:30:30Z will output 2016-06-30T12:30:30 2016-06-16 08:30:30Z will output 2016-06-16T08:30:30 2016-06-15 11:50:30Z will output 2016-06-15T11:50:30 2016-06-15 13:00:30Z will output 2016-06-15T13:00:30 2015-06-16T08:30:29.900 will output 2015-06-16T08:30:29.900 If one of the parameters is of an incompatible type or value, the filter will not alter the input. |
Backlog |
Contact assignment to the Secure Zone. |
Admin able to set/edit the expiry date of the secure zone for a contact The configuration can be managed in the contact setting - http://prntscr.com/nip1uq. |
Backlog |
Default Expiry date for the Secure Zone. |
If any of the forms have a secure zone, but the expiry date for it isn't specified, the default expiry date should be 31-Dec-9999. |
Backlog |
System Page if the access to the Secure Zone is expired. |
If the expiry date of the contacts secure zone subscription is bigger than the set expiry date, the system should show the system page (403). The user should not be able to enter the secure zone by any means until the expiry date is less smaller than the current one. |
Backlog |
Change SEO Title To Meta Title In Liquid Properties |
{{this[‘MetaTitle’]}} Added and renders the same value as {{this[‘SEOTitle’]}} |
Backlog |
Timezone for form submissions |
The form submission times in the CRM now showing time in site timezone. |
Backlog |
Customise the “Create New” item name in modules |
Admin is able to add the name for the "Create New" button on the "treeView" for modules: The field where the admin can add the Alternative Item name - http://prntscr.com/nl0ow4. The name for the "treeView" module should be displayed here - http://prntscr.com/nl0oob. |
Backlog |
Add support of .webp images |
Add support of files with extension: ".webp" type: "image/webp" |
Backlog |
UI Improvements |
File Manager:
Modules:
Component Manager:
|
Backlog |
URL Redirect 302 status code changed to 301 |
Change current
|
Bug |
URL redirects with .html extension as source |
Any url redirect that is added to the system with .html as the source url won’t redirect. Another usability issue is that when you make a change to a url and go ‘back’ it takes you back to the first page of results every time and not just back to the page you were up to. It also defaults back to 20 results instead of 50. |
Bug |
Import/Export - doesn't react to Disable for site search |
|
Bug |
Change Timezone - event in calendar displays one day back |
|
Bug |
Custom Module and Event pagination no display results |
When using Custom Module or Events search module with pagination, the paged views don’t show any items. |
Bug |
New Image manager not recognizing .jpg images |
Image manager in WYSIWYG editor not displaying .jpg images in the file system and so cannot be selected. |
Bug |
New Image manager - breadcrumbs don't work correctly |
Image manager in WYSIWYG editor not displaying breadcrumb/folder location correctly if reopening the image manager for a second time. |
Bug |
Create item from front end - change type |
Expiration Date input in the Create/Update Item forms is added as a type=“text” input - suggest changing to a type=“date” (as per custom properties dateTime fields) |
Bug |
Business plan - disable advanced settings |
Sites on Business plan had Advanced Settings enabled for Custom Modules when they should be disabled. |
Bug |
Set at Home and nICE |
Page with ‘Set as Home Page’ enabled will revert to disabled if saved via nICE editor. |
Bug |
Default priority - doesn't save during import |
|
Bug |
New Image manager - show full breadcrumbs |
|
Bug |
Set up Time zone on create item in Custom module |
User-submitted Custom Module items are not honouring site timezone for release date and expiry date IN THE WEB FORM RESPONSE - actual dates in the admin and when later rendering on site are correct. Initial response Release date
is always different. |
Bug |
Create item from front end - expiry days issue |
With ‘Expiry Days’ set for user submitted custom module (http://prntscr.com/nfs5pk) On item submission item is created with system default expiry date + expiry days - but should be calculated from today’s date http://prntscr.com/nfqq1b |
Multiple Domain Names
- Ability to add multiple domain names to a website and point to different landing pages.
- SEO
Pause Clients Which Are Not Paying
-
The ability to pause clients access to the admin and their email if they are not paying their bills.
- Treepl Portal
BONUS: “Author” and “Added By” fields to include links to those CMS items
-
Add a link to the CRM record next to any “Added By” field.
Add a link to the Author item next to any “Author” field.
- CRM
BONUS: Alternate Name Of Custom Module Item
-
Ability to set a custom name for custom module item.
Very useful when using nested custom modules.
- Custom Modules
BONUS: Change SEO Title To Meta Title In Liquid Properties
-
Version 3.2 brought a change to the SEO section changing the ‘SEO Title’ field name to ‘Meta Title’.
It would be great to have this passed through to the Liquid property naming also for consistency.
ie: {{this.metatitle}}
We may need both {{this.seotitle}} (old) and {{this.metatitle}} (new) available for backwards compatability
...
- SEO
- Liquid
BONUS: Duplicate, Download Files & Folders
-
- Ability to download file from File Manager
- Ability to download folder from File Manager (as a seperate zip file)
- Ability to duplicate file and/or folder in File Manager
- Files and folders to render in alphabetical order
- File Manager
BONUS: Expiry Dates For Subscriptions
- Functionality for admins to set expiry date for a customer to access a secure zone. (eg: access expires 31.12.2019)
- Secure Zones
Update Liquid To Include Date & Time Filters
-
Date Filters can be very important to web sites that use dates and calendering.
See the following link for BC's Date Filters:
Link to BC docs
- Liquid
Full Release Notes
Backlog |
Code View In Custom Module WYSIWYG |
For Custom Modules, the ability to switch to “Code View” in custom WYSIWYG fields. |
Backlog |
Menu Layouts and layoutGroups management |
Add Menu layouts and layoutGroups management to the admin similar to other module layouts. 1) User should be able to create new layoutGroups Creating layoutGroup should create folder in "/Content/MenuLayouts/[menuAlias]/[layoutGroupName]" and create there 3 files with default content. 2) User should not be able to delete Default layoutGroup. 3) User should be able to edit any layout inside layout group. 4) Creating new menu should create "/Content/MenuLayouts/[menuAlias]/Default" folder and insert default layout there instead of the previous location "/_MenuLayouts/[menuAlias]". |
Backlog |
Menu LayoutGroups FTP changes |
FTP changes (for app start if _MenuLayouts" folder exist): 1) Copy "_MenuLayouts" folder from ftp root to "Content" folder. Rename it to "MenuLayouts": 2) Inside each menu alias named folder in "/Content/MenuLayouts/" folder - create Default folder. Move layout files from the "/Content/MenuLayouts/[menuAlias]" to "/Content/MenuLayouts/[[menuAlias]]/Default" folder. 3) Go through every layout "*.layout" file inside each "/Content/MenuLayouts/[[menuAlias]]/[[layoutGroup]]" folders and change the include string part like this: /_MenuLayouts/{{this.alias}} to /Content/MenuLayouts/{{this.alias}}/{{this.layoutGroup}} |
Backlog |
Add Menu LayoutGroups to liquid component |
Extend module component to use layoutGroup param: {% component type: "menu", alias: "test", layoutGroup:"myCustomLayout" %}
layoutGroup should work the way described below:
Liquid changes: add layoutGroup to this scope |
Backlog |
Upgrade menu in component toolbox |
Selecting menu should be similar to Event subscription form: Default value for layoutGroup should be "Default".
{% component type: "menu", alias: "[[someAlias]]", layoutGroup: "[[selectedLayoutGroupName]]" %} |
Backlog |
‘Delete all items’ button (improved UI) |
Add button "Delete all items" to bulk action list on list-view of a module. Confirm window should be the same as for existed bulk delete action. If user leaves the page while deleting process still
running - show alert message: It will continue after you leave this page. Design: http://prntscr.com/nd9k2w |
Backlog |
Custom Module - Properties - Advanced custom property editing |
Ability to change custom module custom property data types. Add alert message when type change will cause irreversible data changes: WARNING: changing field type will cause data loss. Do you wish to proceed anyway? Transformations are based on rules described in the documentation for Custom Modules. |
Backlog |
Edit & Re-shuffle Tags In Modules |
Add ability to edit "Tags" in modules. Add ability to reorder tags. |
Backlog |
Image manager in wysiwyg |
Ability to access the file manager for image placement within WYSIWYG tools. |
Beta |
Import/Export feature improvement |
Extended version of import/export file. Add “disable from site search” property to the import/export file Beta feature: Activate by checking the ‘Advanced Module Import/Export’ flag in the Beta area. |
Bug |
Release date issue on module items |
When creating custom module item - its release date saved with incorrect hours. When click save again - date is changed again until release date is changed to +1 day. Expected: Release and expiry date should be saved with time 00:00:00 in the site's timezone. Time part of the submitted datetime should be fully ignored - just force 00:00:00 in the site's timezone Resaving should not change the time. |
Bug |
“site.webmanifest” Files Not Supported |
"site.webmanifest" files are not accessible via their URLs and are therefore not usable by browsers and other applications. Expected: When adding site.webmanifest file with content to ftp root. Go to /site.webmanifest url. Access file's content. Actual: HTTP ERROR 404 |
Bug |
Login to admin - can't access first few times |
Issue with admin login not allowing access and returning to the login screen several times before finally allowing access. |
Bug |
Site Search With Multiple Keywords |
Site search using more than one word as the search term is not returning any results, even with site reindexed. |
Bug |
Link Manager Changes the Link text |
When using the Link Manager in the WYSIWYG editor for linking to a page, the Link Manager will overwrite the text selected as link with the name of the page. Example: "This is my LINK" Then select "LINK" and go to the Link Manager and choose "Page" and then choose a page called "Test". Your link will now show: "This is my Test" instead of still showing: This is my LINK" |
BONUS: Lawyer Template
- New custom grid template "Lawyer" is available from Partner Portal for all types of users.
- Templates
BONUS: Photography Template (Foundation)
- New Foundation template "Photography" is available from Partner Portal for all types of users.
- Templates
BONUS: Custom Module Import/Export
-
1) Extended version of import/export file
2) Add disable from site search property to the import/export file
- Custom Modules
BONUS: Edit & Re-shuffle Tags In Modules
-
Ability to edit and shuffle “Tags” in modules. Right now, you can only add. So, if you make a mistake, misspell, etc, you need to delete the tag and re-add it again.
Also, would be nice to have the ability to re-shuffle tags (i.e. order of tags)
- Custom Modules
Code View In Custom Module WYSIWYG
-
The ability to go to “Code View” in custom WYSIWYG field in Custom module. (Not in the native item description field where is works already)
- UI/UX
- Custom Modules
- WYSIWYG Editor
Menu Layouts Inline With Other Modules
-
For consistency, I’d like to see Menu layouts brought into the admin more in line with how all other module layouts are managed.
Some mockups below:
- Admin Panel
- Menus
Update Import Templates To Allow "Disable From Site Search" For Items During Import
-
Items imported into Treepl using Templates do not always need to be found by Site Search.
By default, all imported Items are found by Site Search.
In Use Cases where Items should not be searchable it is necessary to edit every Item after it is imported and check the Disable From Site Search check box.
A number of partners have encountered this issue,...
- Treepl Portal
BUG: “site.webmanifest” Files Not Supported
-
“site.webmanifest” files are not accessible via their URLs and are therefore not usable by browsers and other applications.
- General
- Bugs
BUG: Site Search With Multiple Keywords
-
Site search using more than one word as the search term is not returning any results, even with site reindexed.
Tested on both a live site and a trial site.
- General
- Bugs
Link Manager Changes Link Name
-
When using the Link Manager in the WYSIWYG editor for linking to a page, the Link Manager will overwrite the text selected as link with the name of the page.
Example:
"This is my LINK"
Then mark "LINK" and go to the Link Manager and press "Page" and then choose a page called "Test".
When...
- General
- WYSIWYG Editor
- Bugs
Auto-Collapse Item Settings / Custom Properties Toggle
-
The ability to have a “cookie” set to remember when you click the toggle to collapse container?
This way when you go back it is still set as collapsed? Or somewhere in a General Settings area where you can have it set to Auto Collapse (like a Global Setting).
Also the ability to apply this to the ‘Items Per Page’ pop-up...
- Admin Panel
Events Not Sorting By ‘EventDateStart’ And ‘EventDateEnd’
-
When using sortBy parameters in the component module for events, ‘EventDateStart’ and ‘EventDateEnd’ do not work to sort by those dates.
- Events
- Bugs
Saving Template Will “Postpends” A "-1"
-
When saving Templates after within Content Template, it “postpends” a -1 after it.
Even after -1 is removed it brings it back again.
If saving it again, adds a 2, saving it a third time adds a 3 etc.
Screen shot is after removing, saving, back to list view, saving, and it comes back again.
- Pages and Templates
- Bugs
Full Release Notes
Backlog |
UPDATE |
Now Liquid can convert numbers to date (interpreted as number of seconds from 1st Jan 1970). For example: |
Backlog |
WYSIWYG - Image padding UI |
Provide ability to add/edit spacing around images |
Backlog |
Managing Content templates through FTP |
Add ability to manage Content Template via FTP. Folder to check files in: /Content/ContentTemplates File to check schema: .html If Content template created in admin contains unaccessible symbols for file name - replace them with empty string ("") for file name (name of the template remains the same). Extend Content template with the same FTP Path variable as Pages has. Managing functions are the same as for pages:
|
Backlog |
Managing Snippets through FTP |
Add ability to manage Snippets via FTP. Folder to check files in: /Content/Snippets File to check schema: .html If Snippet created in admin contains unaccessible symbols for file name - replace them with empty string ("") for file name (name of the Snippet remains the same). Extend Snippets with the same FTP Path variable as Pages has. Managing functions are the same as for pages:
|
Backlog |
Managing Email templates through FTP |
Add ability to manage Email Template via FTP. Folder to check files in: /Content/EmailTemplates File to check schema: .html If Email template created in admin contains unaccessible symbols for file name - replace them with empty string ("") for file name (name of the template remains the same). Extend Email template with the same FTP Path variable as Pages has. Managing functions are the same as for pages:
|
Backlog |
Managing Module Layouts through FTP |
Add ability to manage Module Layouts via FTP. Folder to check files in: /Content/ModuleLayouts/ File to check schema: .html If Module Layout created in admin contains unaccessible symbols for file name - replace them with empty string ("") for file name (name of the Module Layout remains the same). Extend Module Layouts with the same FTP Path variable as Pages has. Managing functions are the same as for pages:
|
Backlog |
Managing Forms through FTP |
Add ability to manage Forms via FTP. Folder to check files in: /Content/Forms File to check schema:
|
Backlog |
Managing System Pages through FTP |
Add ability to manage System Pages via FTP. Folder to check files in: /Content/SystemPages File to check schema: .html If System Pages created in admin contains unaccessible symbols for file name - replace them with empty string ("") for file name (name of the System Page remains the same). Extend System Pages with the same FTP Path variable as Pages has. Managing functions are the same as for pages:
|
Backlog |
Managing System Emails through FTP |
Add ability to manage System Emails via FTP. Folder to check files in: /Content/SystemEmails File to check schema: .html If System Email created in admin contains unaccessible symbols for file name - replace them with empty string ("") for file name (name of the System Email remains the same). Extend System Emails with the same FTP Path variable as Pages has. Managing functions are the same as for pages:
|
Backlog |
Managing Workflow Emails through FTP |
Add ability to manage Workflow Emails via FTP. Folder to check files in: /Content/WorkflowEmails File to check schema: .html If Workflow Email created in admin contains unaccessible symbols for file name - replace them with empty string ("") for file name (name of the Workflow Email remains the same). Extend Workflow Emails with the same FTP Path variable as Pages has. Managing functions are the same as for pages:
|
Backlog |
Beta Feature flags |
Ability to enable/disable some beta features before they become default. |
Backlog |
Default auth cookie life time to 24h |
Extend cookie life time after log in to secure zone from 30 min to 24hrs |
Backlog |
Admin URL management improvement |
|
Backlog |
Liquid engine refactoring (ALPHA) |
Refined and optimized Liquid Parsing process.
Feature is incompatible with nICE for now (compatibility is under development). |
Bug |
Allow ‘Amount’ payment when Event Price is 0 |
When
Than - proceed payment the same way as it does for event by event.price BUT use FormSubmissionData.Amount as Price |
WYSIWYG Editor - Image Manager
-
Need to have the ability to add Spacing and Image Compression options as well, similar to how Shopify handles this
Right now one need to manually go in and update Margins. Would also be good to assign a custom CSS class to images.
- Admin Panel
- WYSIWYG Editor
FTP Access to Templates Etc.
- FTP access to Pages, Menus, Content Templates, Snippets, Web forms (!), Blogs + Blog Posts, Events and Event Groups, Banners (Ad rotators), Galleries/Sliders (Photo Galleries), Authors, FAQ's, Custom Modules, Workflow Emails, System Emails, Email Templates and System Pages
- FTP
Full Release Notes
Backlog |
Documentation link in the admin |
Documentation link in the admin should be viewed only for partners: |
Backlog |
'Do not use template' and 'use default' template behavior |
Modify content template and email template wrapping behavior:
In Admin added 2 options when assigning Content Template and Email Templates:
|
Backlog |
Event - Calendar Support |
Design: http://prntscr.com/mu68eb Responsive calendar support for Events:
Created new include file "/cms-assets/includes/event-calendar.inc". Add component toolbox option
|
Backlog |
Add "Parentname" To module Component |
{% component source: "Page", layout: ""...
|
Backlog |
Home Page Status Available In {{this}} Object |
Include the ‘Set as Home Page’ data within the {{this}} object so we have it available in Liquid. It can be helpful to know for setting certain conditions in the template; just some examples:
{{this}}:
{
"isHome" : true, ...
|
Backlog |
Direct Link To CRM Form Submission Entry |
|
Backlog |
Internal Custom Module Search |
The ability to search all items in Module List even with “Disable from Site Search” checked. “Disable from Site Search" should only be for the front end site only, and not internally. Looks like you lose search functionality within the custom module list when it is checked. https://treepl.co/images/public-roadmap/Internal-Custom-Module-Search.png |
Backlog |
File Exports: Prepend Site URL And Postpend Date |
When exporting files add the site url to the beginning of the file name and the date to the end of the filename i.e. 'website.com-team-module-export-2018-12-30.xls' |
Backlog |
Remove Event specific fields from Event Group module |
These fields should not be present and are used for Event items, not their groups: |
Backlog |
Global setting for enable/disable text wrapping on a new line |
Add a global setting that will enable/disable text wrapping on a new line in the ace editor. 'Settings' > 'Misc' |
Backlog |
Keyboard shortcut to save content in ACE and WYSIWYG editors |
Apply CTRL+S/Command+S Shortcut Keys to save content when in ACE and WYSIWYG editors |
Backlog |
Reindex site - checkstatus and disallow reindex when indexing in progress |
Apply loader and disabling of reindex site button in order to prevent multiple reindex process trigering. Button should be disabled even after page reloading. Once reindex is finished - remove the loader and activate reindex button. Design - http://prntscr.com/mu66s9 |
Backlog |
Show treepl cms version in the admin |
Design - http://prntscr.com/mu679j |
Backlog |
Rename Documents to File Manager in WYSIWYG link manager |
Rename "Documents" title to "File Manager" in WYSIWYG link manager http://prntscr.com/mnbls0 |
Backlog |
Show Template and release date on module item list view |
Add columns to module item list view in Admin:
Provide ability to sort by Release Date |
Bug |
Empty google analytics view ID showing and missing |
Fix bugs with head auto added items:
|
Bug |
OpenGraph Properties in Liquid not accessible |
`{{this.opengraphproperties}}` renders the sub-properties as JSON ok, but couldn't access those sub-properties directly, ie: `{{this.opengraphproperties.title}}`. |
Add TreeplCMS Version Number In Admin
-
Add version number in the admin
{% endunless -%} ...
{% unless request.request_url.href contains "?tag" -%}
- Admin Panel
Use Blank Template
-
Sometimes when you want to create a new page on a site you don't want to use a template - perhaps for a differently style landing page or some other random page. Currently the system pulls in the default template. Can we have a page option that allows 'Don't use a template'.
- Templates
Add "Parentname" To Component Source: “Page”
-
Add "parentname" to component source: page to target the name of the template.
{ % component source: "Page", layout: "".........
{
"id": 1832,
"url": "",
"parentid": 1833,
"parentname":
"lastupdateddate": "2018-10-21T23:34:21","
- Pages and Templates
Direct Link To CRM Form Submission Entry
-
Ability to grab direct link to CRM form submission entry from the either the formsubmission or workflow collections to place in workflow email.
This is so that one can direct a workflow recipient straight to the Form submission in the admin console. something like {{ this.formSubmissionData.crm_link }} ...
- CRM
- Liquid
File Exports: Prepend Site URL And Postpend Date
- When exporting files add the site url to the beginning of the file name and the date to the end of the filename i.e. website.com-team-module-export-2018-12-30.xls
- Admin Panel
- General
Home Page Status Available In {{this}} Object
-
Include the ‘Set as Home Page’ data within the {{this}} object so we have it available in Liquid.
It can be helpful to know for setting certain conditions in the template; just some examples:
· Show a hero slider above content when on home page
· Do not show a global subscription pop-up/modal window when on home page...
- Liquid
Internal Custom Module Search
-
The ability to search all items in Module List even with “Disable from Site Search” checked. “Disable from Site Search" should only be for the front end site only, and not internally. Looks like you lose search functionality within the custom module list when it is checked.
- Custom Modules
Full Release Notes
Backlog |
Custom module items: Inheriting default settings on import/create from frontend |
Use custom module settings on events below. -> Settings -> 'Secure Zones'
-> Item Properties -> 'Default Properties'
Therefore, new imported items will inherit Custom Module setting. So if you have "Disable from Site Search" checked - all new imported items will have "Disable from Site Search" checked (already existing items will not be affected). System flow:
|
Backlog |
Datetime oriented by site Timezone |
On site creation process, save selected timezone to the site. On the site use saved timezone for all date based variables. |
Backlog |
SiteSearch index rebuild function |
Added Rebuild Index button to the header of the admin http://prntscr.com/mlioin Clicking on it will trigger background process that will rebuild search index that is used by site search and custom module search |
Backlog |
Global 'Show this page for search engines' button |
SEO: Added two buttons under 'Pages search engines settings:'
Both do one time action - either enables or disables "Show this page for search engines" option in every system and custom module item. On click show confirmation message:
|
Backlog |
Added SUBSCRIPTIONS tab to event item |
|
Backlog |
Events in secure zones |
Add ability to select event items from secure zone items combobox |
Backlog |
Add Event links to Menu link widget |
Add ability to select event groups/items for menu items http://prntscr.com/mgihun |
Backlog |
restore_password/activate_account token lifetime change |
Increase restore_password/activate_account token lifetime from 30 min to 24h (allowed secure zone users not respond longer on restore password emails. Especially make sense if restore password was triggered manually by the admin) |
Backlog |
File creation during copy page bugfix |
Fixed issue caused during copying of a page: page file was not created. |
Backlog |
Add search form to Component Manager + search by trpEvents fields |
Add Events -> Search Form item to the Component Manager http://prntscr.com/mgimch Provide same iterface as for the Custom Module search form (except for selecting module since Event is the only module available for the section) Generated search form should contain Event specific fields and be able to search by them:
|
Backlog |
Implement Emmet In The ACE Editor |
Emmet is a system that allows coders to write shorthand and have it expanded when you push the tab key. It can save a lot of typing when writing web pages. Eg. you type 'p' and then press 'tab' and you get: , or you type 'div.wrapper' and 'tab' you get: You can even do more advanced things like creating multiple instances with nested objects. Here is an code playground of Emmet implemented in Ace (Go ahead and type p +tab on an empty line or ul>(li.item>a)*5 plus tab. ) https://ace.c9.io/demo/emmet.html Here is the documentation for Emmet https://docs.emmet.io/abbreviations/syntax/ |
Backlog |
Collapse, And/Or Pre-collapse Content Boxes |
Ability to collapse/expand content boxes in pages / templates / modules, etc. https://prnt.sc/mgi9l7 |
Backlog |
Rename "seoTitle" To "metaTitle" |
Module Item -> SEO tab: Rename "seoTitle" to "metaTitle" for consistency and accuracy. |
Backlog |
WYSIWYG - Image and links titles |
Add ability to set/edit titles for links and alt text for Images inside the WYSIWYG |
Backlog |
Extend meta description symbols limitation |
Extend meta description symbols limitation to 1000 |
Backlog |
Inactive state for module items (by dates) |
Display inactive state on items list and tree view: Item is inactive when currentDate < Release date or currentDate > Expiry date |
Backlog |
WYSIWYG - URL browser for links |
Add ability to choose URL for links from:
Similar to BC widget: |
Backlog |
Improve load speed of the pages |
Pages that uses many liquid components now loads faster. |
Backlog |
Rollback overriden params in modules |
When rendering module inside layout of the another module - params variable should not be overriden by the nested module. Example On any page: Inside "List" layout of the "Example" module:
Inside "List" layout of the "Example 2" module: any string
Expected:
Actual
|
Bug |
ACE editor cut of JS content |
Steps:
Expected:
Actual:
|
Bug |
Allow create sites under trialsite.co |
Sites under trialsite.co now creating properly(previously was created under treepl.co domain) |
Bug |
Empty Google Analytics view ID showing |
Google Analytics code will not be viewed if no tracking id is set in the analytics tab. |
Bug |
Liquid: Roll back number filter |
" | number" filter is restored(previously was accidently removed from filters). |
Bug |
Allow event start date to be set to past |
When saving Event: Expected:
Actual
|
BONUS: Advanced Link Manager inside WYSIWYG Editor
-
In the WYSIWIG editor on pages or any other location where a url / link is may be added (blog, page edits, custom modules ) -
- "browse to url"
- link option to open in a popup
- add "title" tag to url links
">
- General
- WYSIWYG Editor
Match Date Format To Site's Time Zone
- Display dates in the correct format depending on time zone selected in site settings in partner portal.
- Admin Panel
BONUS: Enable/Disable All Pages/Module Items for Search Engines
-
Ability to show or hide all pages/modules of the site for search engines (sitemap.xml needs be regenerated after disabling/enabling this feature).
- SEO
Collapse, And/Or Pre-collapse Content Boxes
-
Ability to collapse, and/or pre-collapse content boxes in pages / templates / modules, etc.
- UI/UX
Implement Emmet In The ACE Editor
-
Emmet is a system that allows coder to write shorthand and have it expanded when you push the tab key. It can save a lot of typing when writing web pages. Eg. you type p the tab and you get
, or you type div.wrapper and tab you get You can even do more advanced things like creating...
- Admin Panel
Rename "seoTitle" To "metaTitle"
- Rename "seoTitle" to "metaTitle" for consistency and accuracy.
- UI/UX
- Pages and Templates
- Blogs
- Custom Modules
Full Release Notes
Backlog |
Event Groups and Events (CRUD) |
Create two nested system modules (Event Group and Event) similar to the blog structure (Blog and Blog Post). Event Group module created in order to help grouping events rather than keeping them all in one single list. Although, you're still able to view events in one list. For this reason List View was set as default layout (with ability to switch to Tree View http://prntscr.com/mf70zr
Event module has event specific fields:
|
Backlog |
CRM -> Booking Subscriptions created by an Event Form submission |
If formData.eventId is not null - trigger eventSubscription flow:
|
Backlog |
Form -> Event subscription validation |
Event Subscription Validation:
|
Backlog |
Events |
Permissions and Menu integration |
Backlog |
CRM -> Booking Subscription |
Permissions and Menu integration |
Backlog |
CRM -> Orders section |
Permissions and Menu integration |
Backlog |
Component box -> Events |
|
Backlog |
Settings -> Payment Settings |
Payments Gateways Section (also added to Permissions and Menu integration) Gateway (select) options:
|
Backlog |
Payments Gateway - Section [Stripe] |
Specified image will be shown here http://prntscr.com/mf7c8a |
Backlog |
Form -> Form builder -> 'Accept Payment' and 'Accept Event Subscription' buttons |
Option to add 'Accept Payment' and 'Accept Event Subscription' to the form on form builder section
|
Backlog |
Add file payment.js and main.css to /cms-assets directory |
Create/Update files:
NOTE: All files in /cms-assets folder could be overridden by treepl team via sprint updates. So don’t make any changes in those files. If you want to change something that is affected by those files – add them to your own files or remove default scripts and styles from desired pages. |
Backlog |
Payment Form Processing Logic |
Payment flow
|
Backlog |
System Email -> Invoice |
Create new System Email that should be sent on successful payment {{this.order}} liquid object contains
|
Backlog |
Submission Process -> Custom Invoice behavior |
On form submission process:
|
Backlog |
Set admin page titles |
Setup page titles in admin the same as in the title inside the content http://prntscr.com/m8rw77 |
Backlog |
Recaptcha V3 |
|
Backlog |
Add form related scripts only if they are required |
Scripts should be automatically added before ONLY if there is at least one form that requires it.
|
Backlog |
Sitemap generator - release/expiry options fix |
Apply release/expiry options on Sitemap generator Only if they are Enabled in the module settings Example: |
Backlog |
Upgrade liquid filters to the latest version of the liquid library |
This fixed some issues like:
Filter list now is (bolded items are new):
|
Backlog |
Empty custom menu fix |
If custom menu consist only from empty items force redirect to menu configurator not the login screen. |
Backlog |
Add datasource name and datasource url to the item liquid data |
Add datasource name and datasource url to the item liquid data:
|
Backlog |
Convert Author image custom property from type Text to type Media |
Convert Author image custom property from type Text to type Media (without losing currently saved values) |
Backlog |
Search custom modules by parentId and url slug |
Add ability to search custom modules using
|
Backlog |
Create new module - disable save button while saving |
While creating a custom module when clicked save once Save button should become inactive. If validation errors occurs - enable button |
Bug |
Default gallery layout wasn't patched |
In Gallery/Slider Layouts -> Default List now creates correctly functioning layout code: |
Bug |
First login (after some time past) to the site admin issue |
When admin user tried to login to the admin panel (after some time past) - it just keeps looping the login page (first time). After refresh the page login works fine |
Bug |
Can't save page when its ftp html file name contains Capital letters |
After creating an HTML page via the File Manager an error would be thrown if attempting to later save that page via the admin 'Pages' section. |
Bug |
Liquid engine – recursion fix |
|
Canada (Central) Data Center
- Ability to create sites on Canada (Central) data center. Existing live and trial sites of Treepl Partners from Canada will be transferred by our admins upon request.
- Infrastructure
Payable Events, Items, Forms
-
- Ability to create events
- Ability to create event subscriptions
- Ability to create forms with payments
- Payments go through Stripe
- Custom Modules
- eCommerce
- Events
reCAPTCHA v3 Support
- The ability to add reCAPTCHA "invisible" so the user would not have to "solve" the reCAPTCHA by clicking the relevant images.
- Forms
- Secure Zones
Full Release Notes
Backlog |
Admin User Roles CRUD |
Add ability to create, delete, update and view list of roles. Each role detail layout provides a list of permissions based on the current site plan. |
Backlog |
Admin Users - permissions setup |
Ability to set admin user role for every Admin User created. No admin user can edit/delete partner admin account. |
Backlog |
Admin menu configurator |
Add ability to customize order, visibility and names of admin panel menu items. |
Backlog |
Change of custom menus and role restrictions with site plan upgrade/downgrade |
|
Backlog |
Advanced admin search |
Add ability to filter admin menu items by keyword |
Backlog |
{{this.formSubmissionData}} on thank you page |
Added support for {{this.formSubmissionData}} to get access to formSubmissionData object the same way as now does {{formSubmissionData}} {{formSubmissionData}} should also work as it does now for backward compatibility. Custom thank you pages (by use of 'redirectURL' parameter) will also support both data tags. |
Backlog |
User friendly mailchimp error messages |
Change "The resource submitted could not be validated. For field-specific details, see the 'errors' array." error message To like: "Validation error: [Error key]: [error message] ..." |
Backlog |
System Pages and Emails default UI |
Created folder in File Manager/FTP: /cms-assets Default system pages and emails on blank site include:
|
Bug |
Author column duplication in export bug |
Repro Steps
Expected
Actual
|
Bug |
Custom module search bug |
Search by custom module form requires &paginatedModule=[[module_id]] param in order to paginate Repro Steps
Expected:
Actual:
|
Admin User Custom Restrictions
- Ability to set custom restrictions for every Admin User created via roles.
- Admin Panel
_is_mobile_ Liquid Detection
-
Suggestion for {{request.request_data.is_mobile}} to become {{request.request_data.device_class}} with the output being 'mobile|tablet|desktop|...' as this will provide greater flexibility and future scalability as more device types could be added in over time. eg: 'tv|watch|glasses|car|spaceship|...'.
Much like in BC we have {{globals.visitor.deviceClass}} giving us 'desktop|tablet|phone'.
The {{request.request_data.is_mobile}} just gives us a 'true|false' to whether it's mobile or not. I feel that the BC...
- Liquid
Full Release Notes
Backlog |
Mailchimp API integration: Email Campaigns |
Added 4 tabs for email campaign:
Campaign can be changed between statuses: Saving ability works only in Draft state. Scheduled state allows unscheduling of the campaign (on preview tab). |
Backlog |
Mailchimp API integration: Send Email Campaign |
Provided ability to send campaign
|
Backlog |
Mailchimp API integration: Send Test Email Campaign |
Provided ability to send test campaign to the specific email addresses |
Backlog |
Email Marketing -> Campaign -> Toolbox for email content |
Provided a toolbox with tags for email campaign content |
Backlog |
Partner Portal: Disable Save button after start creating site process |
Save button now disables when site creating process is triggered |
Backlog |
Liquid consistancy in emails |
|
Backlog |
Partner Portal: Support Ticket Form |
Created menu items "Support" that leads to the page with the form. On submit – if you are logged into codeproduction.co – your ticked will be created. If you are not logged in – you will be redirected to the login form. After successful submit of the login form – ticked will be created. |
Bug |
Sitemap is outputting disabled items |
Sitemap will not add “disabled” module items.
|
Bug |
Clicking on the same particular custom module in menu bug |
When in a Custom Module showing list items, and you click on the same Custom module menu again, it doen't go to a blank screen any more -http://prntscr.com/lunwel |
Bug |
Over 4000 characters in form data crashes form submit |
Fixed form submit error when submitting over 4000 characters (in sum between all form fields). |
Bug |
Filtering by tags and categories doesn't work |
Fixed filtering by tags and categories via module search form. Previously result were: |
Bug |
nICE duplicates $ symbol in the content |
If content contains "$1" or single "$" - after save dollar symbol doesn't duplicate multiple times. |
Mailchimp API Integration Stage 2
- Ability to create, update, delete and send Email marketing campaigns from Treepl CMS admin.
- Marketing
Full Release Notes
Bug |
Double forward slash in URL when adding an item |
Fixed double forward slash appending to the preview URL when creating new page/module item: http://prntscr.com/lue4cl |
Bug |
{{FormSubmissionData}} in autoresponders when creating a new item is not consistent |
Submission data in autoresponders when creating new item now works correctly:
|
Bug |
Custom Modules Search by categories, tags and checklists doesn't work properly. |
Search by multiple categories, tags or checklist property values now works correctly and no longer results in a Liquid Error: Invalid cast from 'System.String' to 'System.String[]' |
Bug |
Opening custom module items in new tab goes to admin dashboard. |
Opening custom module items in new tab now works as expected rather than redirecting to the admin dashboard. |
Bug |
Canonical link empty causing liquid error. |
Fixed page crash if canonicalLink is empty (http://prntscr.com/lqz9vv) causing Liquid Error: This operation is not supported for a relative URI. Now no <link rel="canonical"> tag displayed on the page if value of the canonicalLink property is empty or not a valid URL. |
Bug |
Can't add www. to domain in 'SEO' -> 'Primary Domain' |
This field for setting the primary site domain now allows any subdomain to be entered, including www. |
Bug |
Disabled page renders blank document. |
When attempting to load a disabled page a completely blank document was rendered. Now system renders a 404 page. |
Bug |
Date comparison via module components not working. |
Date fields can now be filtered in {% component type: "module" ... %} via 'filterBy' and 'filterValue' attributes, including:
If 'filterBy' is set to a date type field:
|
Bug |
Nice editor - $[number] text bug |
Texts that contain $ sign and a number next to it (eg: $2) no longer brakes text after saving. |
Bug |
Item without a detail layout shows completely blank document. |
404 page is now displayed when an item’s detail layout has type “List” (or no layouts with type "Detail" are present or the default "Detail" layout has been saved as a "List" type). |
Bug |
Bug with rendering SEO Title. |
SEO/meta title now renders by the system under the following conditions:
|
Bug |
Item URL preview not updating correctly. |
Item’s preview URL (shown under item’s URL field) is now displaying correctly when creating a new item and when editing existing and updating it's parent folder (resulting in URL change). |
Backlog |
Alternative Domain For Trial Sites |
Added ability to choose an alternative domain for new trial sites (trialsite.co) rather than the current "treepl.co" domain. |
Backlog |
Mailchimp API integration. |
Added new section: 'Email marketing' > 'API provider'. This allows you to setup Mailchimp API credentials (API key) that are required for integrated email marketing functions. API key can be retrieved on this page from the mailchimp account https://us19.admin.mailchimp.com/account/api/ (us19 in the url is datacenter that can be different for your account, so may need to replace this with your account’s datacenter) |
Backlog |
Mailchimp API integration: Mailing Lists |
Added new section 'Email Marketing' > 'Mailing Lists'. Section provides the ability to perform Create, Read, Update and Delete actions (CRUD operations). When a Mailing List is added, updated or deleted – it will be automatically added, updated or deleted in the linked mailchimp account (using API credentials in 'Email Marketing' > 'API Provider'). Currently one way push from Treepl CMS to Mailchimp (two way sync will come later). |
Backlog |
Mailing Lists subscriptions in Forms. |
In 'Content' > 'Forms':
|
Backlog |
Mailchimp API integration: Subscribe/Unsubscribe user event. |
If a user subscribes or unsubscribes from a mailing list via Mailchimp, the event is pushed to Treep CMS to unsubscribe the CRM contact from the appropriate mailing list.
|
Backlog |
Mailchimp API integration: CRM Contact mailing lists management. |
Added ability to view subscriptions via the CRM contact record, as well as subscribe and unsubscribe them to/from mailing lists. Also added same ability in the 'Mailing List' > 'Subscribers' section. |
Backlog |
More settings on Google Analytics dashboard. |
Added more data from Google Analytics available through the API:
|
Backlog |
Refine reCaptcha For Mobiles |
Default form layout generator now generates reCaptcha’s code in compact mode for mobile using liquid conditional statement (utilising the 'data-size="compact"' attribute). |
Backlog |
Default Datepicker. |
Date fields will be generated by the system using default datepicker (on content forms when form layout is generating by the system and when generating create/update module item forms). |
Backlog |
Settings area available for System Modules. |
System Modules now have settings and properties available to access (found under the gear icon), which include:
Available on Pro+ plans only. |
Backlog |
Show correct IP Address for Data Center. |
When activating a site in the Partner Portal, the relevant data center's IP address is displayed for use in your DNS. |
Backlog |
Change "Email Notification" To "Auto-response". |
"Email Notification" title, in the forms settings page, is now more correctly changed to "Auto-response". |
Backlog |
Global site preview button. |
Added "Home" button to admin header bar (next to the partner logo) that opens the home page in a new tab. |
Backlog |
{{request.device_type}} property. |
Added 'device_type' property to request object {{request.device_type}}. Returns device type:
|
Backlog |
SEO OG image tag improvement. |
System will automatically prepend "https://[current Domain]" to the path of the selected image when setting the OG tag properties under the SEO tab for various items. |
Backlog |
nICE - "Webpage Spell Check" compatibility. |
Provided compatibility with Webpage Spell-Check (https://chrome.google.com/webstore/detail/webpage-spell-check/mgdhaoimpabdhmacaclbbjddhngchjik). |
Backlog |
Add 'Author' field in Import/Export. |
Author system property field now added to Import/Export process for Custom Module items. |
Backlog |
Home page indicator in list view. |
Added a home icon, in the item list view, that helps to more easily see which page/module item is set as the home page. |
Backlog |
Extend meta description max value. |
Meta description, under the SEO tab, maximum character value extended to 400 characters. |
Backlog |
{% component type:"module" ... %} - pagination improvement. |
Pagination for Custom Module items was slightly reworked:
|
Backlog |
Redirect to 'Unauthorized' system page if login failed. |
On login process if the user failed to login, the system will redirect them to the 'Unauthorized' system page instead of redirecting to the home page with "/?login=failure" appended to the URL. |
Global Preview Button
-
Add "Preview" button to admin header that will lead to the home page in a new tab.
It'll be somewhere here:
- Admin Panel
Mailchimp API Integration Stage 1
-
Connect your Mailchimp account to Treepl CMS (same way you setup Google Analytics feed integration). Create mailing lists in Mailchimp through API from Treepl CMS submitted forms:
- Ability to create, update and delete mailing lists via mailchimp API
- Ability to setup mailchimp api integration
- Ability to add subscription functionality to the form
- Marketing
Change "Email Notification" To "Auto-response"
-
Change "Email Notification" to "Auto-response" on the "Settings" tab under "Forms"
- Emails
Default Datepicker
- Use browser's default datepicker for datetime fields on content forms and create/update module item forms.
- UI/UX
Module Settings On System Modules
-
Allow using module settings on system modules:
- Blogs
- Blog posts
- Banners
- FAQ's
- Galleries
- Authors
(all except of Pages).
Available on Pro+ plans only.
*This feature would cover the following request: "Enable multiple detail layouts for blogs and blog posts."
- Blogs
More Settings On Google Analytics Page
- Add more data from Google Analytics available through API.
- Analytics
BONUS: Bulk Delete Of Items
-
Bulk delete feature for:
- Custom module items
- Snippets
- Menus
- Forms
- URL redirects
- Contacts
- Form submissions
- Email templates
- Content templates
- Workflows (exclusions system workflows)
- UI/UX
- General
Alternative Domain For Trial Sites
-
Ability to create trial sites under an alterntative "trialsite.co" domain.
Currently, you are only able to create trial sites under "treepl.co" domain.
THIS IS A TEMPORARY SOLUTION BEFORE "BRANDED DOMAIN" FEATURE IS AVAILABLE
- Treepl Portal
BONUS: <head> Section Extra
-
"Meta Tags" is now "<head> section extra" and is powered by ACE editor.
Minor label text changes.
- UI/UX
- SEO
BONUS: Advanced URL Redirects
-
Ability to create redirects to external sites or other domains of the current site.
Ability to create redirects from URL's that contain file extension (.asp, .php, etc.) but not .htm and .html
If you want to setup a redirect from "/some/url.htm" to any other, just create a new URL redirect using "/some/url" (excluding ".htm" extension) in FROM field. Such setup...
- SEO
BONUS: Create/Update Media Files In A Custom Module Item By Logged In Users
-
Convert Media type field to <input type="file" name="prop_[[media_property_alias]]"> on forms that are retrieved by Components toolbox.
All files will be uploaded and stored in "/media_images/[[module_id]]/[[item_id]]/[[filename]]"
- Custom Modules
BONUS: Extra Slash At The End Of URL
-
Remove general rule of adding "/" in the end of every URL.
All file URL's that list in the ‘Pages’ layout display as a folder structure ie. /contact/ instead of /contact so they are harder to copy/paste.
With the url having a "/" at the end, the problem here is that with and without the slash are actually two different...
- SEO
BONUS: Image manager in WYSIWYG
-
Ability to add images from the WYSIWYG editor, instead of copying the code to the code editor.
All files uploaded through WYSIWYG editor will be stored in a separate "uploaded_images" folder on FTP.
- UI/UX
BONUS: Primary Domain Management
-
"Primary Domain" field validation prevents from saving strings that don't match domain pattern.
If "Primary Domain" field is empty and "Enable automation of sitemap.xml" is enabled, the validation error would appear.
- UI/UX
- SEO
Extra CRM Contact Fields
-
New contact fields:
- Status (text)
- Notes (textarea)
Fields can be used in a form builder.
- CRM
Properties Categories To Become Global
- Modules > Properties > 'Categories' become global (like in BC) while 'Tags' remain unique per module.
- Blogs
- Custom Modules
BONUS: Duplicate Button
- Ability to duplicate any existing 'Page', 'Content Template', 'Custom Module item', 'menu' etc.
- General
Pre-setup Default Workflow Notifications
-
All sites (with any plan) get a default workflow:
- Name: "Inquiry Workflow"
- "Inquiry Workflow" can not be deleted
- "Inquiry Workflow" can not be renamed
Workflow restrictions for "Essential" and "Business" plans:
- Disabled add/edit/delete options for all workflows other than "Inquiry Workflow"
- Disabled "Email Marketing" > "Emails" section
- Disabled workflow triggering on form submissions...
- Workflow
Add, Edit And Delete Custom Modules Items (Frontend)
-
Ability to Add, Edit And Delete Custom Module Items for logged in users.
Ability to setup Add, Edit Or Delete module item permissions for particular Custom Module
Ability to setup autoresponder when new module item created by logged in user.
- Custom Modules
- Secure Zones
Automation Of Sitemap.xml
-
Add an automatic sitemap.xml listed for each site and refreshed every 24 hours. If we can make selections about importance of each page ie. priority and change frequency that would be ideal with the last modified date automatically updated. The sitemap needs to be setup with all urls being the ‘default’ domain ie. either the www or non-www.
This should include...
- SEO
BONUS: FTPS
-
- Switching from FTP to FTPS
NOTE: Login process is the same as it has been. However, you may need to change Protocol or Encryption setting in your FTP client of choice when using saved/favorited connections.
- FTP
BONUS: Show “Enabled/Disabled” In “Pages”
-
Show if a page is enabled or disabled to better handle individual page visibility.
For example in the same way as in menus.
- UI/UX
- General
Add Basic Open Graph Fields
- Option to set Basic Open Graph http://ogp.me/ for every site page, detailed custom module pages, overall blog pages, blog posts (article og), products, media downloads (structured properties) if possible.
- SEO
Avoid Redirects
-
Remove the current forward setup on each homepage so that the domain name can be the homepage which is not recommended.
- https://developers.google.com/speed/docs/insights/AvoidRedirects
- SEO
BONUS: Robots.txt On Templates
- Include a robots.txt file on all website templates that allows for spidering of whole site.
- SEO
Link Manager
-
All link/file selection field types throughout the admin. Like a 'link manager' type widget, similar to in BC.
For example in 'menus', this will give the ability to select a link in the "link manager", instead of manually typing it in.
- UI/UX
- General
Site Activation Billing
- Integrate billing as a first step of activating the site from trial to live.
- Treepl Portal
"text type" to "media type"
- In blogs and slides, make "text type" image source properties to become "media type" for easier image management.
- UI/UX
- Blogs
- Galleries/Sliders
BONUS: Import/Export Of Items On Tree View
-
Ability to import/export items (parent or child) in a tree view.
All items are imported/exported to/from the level where you perform the action.
- Banners
- Pages and Templates
- Blogs
- Galleries/Sliders
- Custom Modules
Default Home Page Setup
-
Abbility to setup any page as a home page.
As a result the "/" URL will render that selected page.
- SEO
- General
Disable Content From Site Search
- Ability to disable certain content from site search functionality as it is currently bringing up results like list items, galleries etc. that don’t have a whole page dedicated to them.
- SEO
- General
File Manager In Templates And Snippets
- The ability to access file manager in templates and snippets like in a normal page.
- UI/UX
- File Manager
Title Tag In Menu Items
-
‘Title’ tag for the menu items - For improved SEO.
Allow menu items to have a tooltip added and only show target, id and class fields if they aren’t empty like how BC renders menu bar items.
- Menus
- SEO
Secure Zones
-
Ability to:
- Create secure zones
- Assign content to secure zones
- Assign secure zones to registered users
- Secure Zones
AU + EU Data Centers
- Ability to create sites on AU (Sydney) and EU (Frankfurt) data centers. Planned for October 10th release.
- Infrastructure
Visual In-Context Editor (nICE) v1.0
-
Will be rolled out only to paid Treepl Partners.
WARNING: some Treepl Partners may get it earlier.
- UI/UX
- General
Sitemap in XML
-
- sitemap.xml is generated by request (separate button).
- Sitemap management (code editor).
- SEO
"| number" Filter For Liquid
-
New filter for formatting:
- Format:
{{variable | number: "[thousands separator]","[decimal point]","[decimals count]"}}
- Defaults:
{{variable | number: ",",".","2"}}
Example:
{{"3000" | number: ",",".","2"}}
Returns
3,000.00
...
- Liquid
BONUS: Custom Workflows
- Ability to setup custom workflow notifications to Admin Users and/or manually added emails.
- Forms
- CRM
BONUS: System Pages
-
- "Settings" > "System Pages" - adding a separate section for customizing system pages.
-"404" and "Form Submission Results" pages will be moved to this section.
New system pages: "Forbidden" (secure zone access denied page), "Email Confirmation", "Request Reset Password", "Request Reset Password Result", "Reset Password", "Unauthorized".
- Admin Panel
- General
BONUS: "Last Updated" Date Of Module Item
- "Last Updated" date tracking and accessibility through liquid tag: {{ this.LastUpdatedDate }}...
- Pages and Templates
- Blogs
- Custom Modules
BONUS: "Save and New" and Delete buttons
-
- "Save and New" button next to "Save" on Snippets and Custom Module items
- Move delete button to the right bottom of the editing page
- UI/UX
BONUS: Edit Template From The Page
-
Allow navigation ("Edit" link) from the page to the template page directly.
- UI/UX
- Pages and Templates
BONUS: Menus Improvement
-
- Splitting Menu properties (Name, Alias) and Menu builder into 2 separate tabs to remove extra white space
- Remove "Save" and "Delete" from "Menu builder" tab
- Menus
Branded Background Image Caching
- Make the branded background image for the login page to cache.
- UI/UX
- Treepl Portal
Split Up Elements Into Sections
-
Split up elements of the system and Custom Module items into sections
- UI/UX
Manage Through FTP: Pages
-
- All pages of the site available via FTP
- Ability to create, delete or update pages via FTP
- FTP
Custom Module Items Import + Export
-
Ability to import and export Custom Module items through the admin.
- Custom Modules
Custom Module Items Search
- - Ability to develop search by Custom Module items using search forms
- Custom Modules
BONUS: Multiple Files Deletion In File Manager
-
- Allow multiple files to be selected for deletion in tile view
- Double-click on on item opens it for editing
- UI/UX
- File Manager
BONUS: Dine&Wine Template
- Dine&Wine template is available now in the Partner Portal (trial partner portal as well).
- Templates
CRM CRUD operations
- Ability to manually create, update, and delete CRM records (contacts, form submissions).
- CRM
Force Download Handler
-
- Ability to specify "force download" behavior assigned to a certain media content link.
- If link matches the pattern than the content will be dowloadable to the site users regardless of the media content mime type.
Pattern: <link_to_media_content>?downloadable=1
Example:
File: /images/fruits/apple.png
Force Download Link: /images/fruits/apple.png?downloadable=1
As the result the apple.png media file will be downloaded and not rendered...
- General
WYSIWYG/Code Editor Switcher
-
- New Code Editor (ACE code editor) integrated on every page, snippet, item
- The "WYSIWYG/Code Editor" switcher saves preferred editing method for each page, snippet, item
- Removing "Code View" from the WYSIWYG
Adding this feature will resolve auto code cleanup issue in the WYSIWYG editor (you will have to use the Code Editor for all the...
- UI/UX
- Admin Panel
- Pages and Templates
- Snippets
- General
- WYSIWYG Editor
Advanced Custom Property Editing
-
- Options builder for dropdown, checklist, radiolist property types
- Ability to change property types without loosing already saved data in the items
- UI/UX
- Custom Modules
File Upload Type Field
-
- Ability to add custom form field for uploading files in forms
- Uploaded files are available through FTP (/_form_submissions/<formID>/<submissionID>)
- Forms
New Property Type: Media
-
- New property in Custom Modules - Media field type
- Calling out the File Manager with ability to insert image path right into the text field that is associated with the media type field
- "Make downdloadable" button that enables forced download action of the file instead of rendering in the browser (image, PDF etc.)
- Custom Modules
Enable Release Expiry
-
Exclude items from rendering in lists through custom module compontent tag if:
- Item is not "Enabled"
- Current date is not in between "Release Date" and "Expiry Date"
- Custom Modules
String Comparison in Liquid
- - Ability to compare strings using ">" and "<" operators (just like in BC)
- Liquid
Activate site
-
Automatic activation of a trial site into live site under end-client domain.
- Treepl Portal
Dashes In Slugs
- All generated pages, blog posts and custom modules URLs to use dashes instead of underscores.
- UI/UX
- Pages and Templates
- Blogs
- Custom Modules
More Liquid in autoresponders
-
Ability to render Liquid in "From Name", "From Email" and "Subject" fields.
Currently liquid is only rendered in "Body"
- Forms
Unsaved Data Alert
- When you leave editing any content item without saving changes, the alert message appears with an option of saving the changes prior to leaving the page.
- UI/UX
- Admin Panel
Full Release Notes
Released.
Forms
-
- Full stack form builder
- reCAPTCHA v2
- Custom layouts
- Custom autoresponder layouts supporting Liquid
- Forms
Instant site creation
-
- Ability to create a trial site instantly
- Ability to duplicate trial and live sites
Note: all live site duplicates will be created as new trial sites
- Treepl Portal