Public Backlog

WebinOne announcements, releases, updates and achievements

v 6.4 Release date: 07 Feb, 2022

Full Release Notes

BACKLOG

Extension manager improvement

Portal Changes

Rework ‘Site’ -> ‘Extensions’ tab in the Portal

Create extensions listing:
https://projects.invisionapp.com/share/GK120JMFPQMZ#/screens/460427508

The list should be limited by partner role.

Exclusive Extensions:

  • Granular white-labeling (for Agency only)
  • Import/export of modules (for Agency only)
  • Direct billing (for Agency and Partner)

Provide the ability to:

Allow Portal Users to get full access to the ‘Extensions’ tab (like Agency user has)

Extension: Website Backup

Add new extension to the list of current extensions:

  • Website Backup (beta)
  • Short Description:
    Manage your site backups (schedule, restore, etc.)
  • Information:
    Manage your complete site backups (manual, automated schedule, restore, etc.) and enable item rollback capabilities for Content Templates, Pages and other Modules

​Pricing is free during the beta period

Note: Backup extension is only available for sites running v6.4 or higher

Backup listing page

Design:
https://projects.invisionapp.com/share/FW121SWA84TV#/screens/460427502

Displays list of backup records, with actions/info:

  • Download Backup File
  • Restore Backup (see logic in Restore Backup Process)
  • Delete Backup
  • Pagination
  • Storage/Size info
  • Bulk delete operations
  • Backup now (see logic in “Backup Process”)
  • Upload Backup File (creates new backup record)

Settings page

Design:
https://projects.invisionapp.com/share/FW121SWA84TV#/screens/460427501

Scheduled backup settings:

  • Repeat Every (number 1 through 31)
  • Repeat Period
    • Day
    • Week (default)
    • Month
    • Year
  • Repeat Time (with hourly time increments)
  • Behavior On Low Storage
    • Email Portal Owner and skip new (default)
    • Remove oldest and create new
  • Storage
    • Treepl Storage (default)
    • Google Drive [possible future option]
    • Dropbox [possible future option]

Note: Treepl storage packages to come after Beta version.

Extension in Admin UI

Add menu item to admin menu titled “Extensions” showing the installed extension/s as a sub-menu item (ie; Website Backup)

The UI for the Backup extension here will be the same as in the Portal.

Backup Process

Design:
https://projects.invisionapp.com/share/FW121SWA84TV#/screens/460427504

Once backup process is triggered:

  • Show loader with progress
  • create new backup record
    • set type ‘Manual’ or ‘Scheduled’ based on the trigger source
    • set date of the backup
  • follow Backup logic described below
  • Once process is finished
    • remove loaders and enable all backups

Actions and buttons:

  • Cancel backup
    • shows confirm message before perform the action:
      “Are you sure you want to cancel the create backup process”

Scheduled Backup Process

Setup schedule checker based on Scheduled backup settings:

  • Trigger Backup Process once
    • difference between current date and latest backup date is bigger than Repeat frequency
    • AND
    • current time is the same as selected in Time field
      (the Time field is represented by the timezone of the site, not UTC)

Restore Backup Process

Design:
https://projects.invisionapp.com/share/FW121SWA84TV#/screens/460427505

Once Restore backup process is triggered, show confirmation window with the following text and buttons:
“Your current version of the site will be restored to the backup version.
Please make sure you have made a backup of the site before starting the restoration if this data is important for you.”

Ok | Cancel

If clicked Ok:

  • check if site is live or trial
    • if trial - check if site plan is lower than plan of the backup
      • if site plan is lower than in backup - upgrade site plan to the one from backup
        • Show loader with progress
        • Disable all backups (show in gray and hide action buttons)
        • Check if reseller from the backup is the same as the current site's reseller
          • if true
            • Show loader with progress
            • Disable all backups (show in gray and hide action buttons)
          • If false
            • Show error popup:
              “You cannot restore a site from the backup due to permissions issue.”
        • restore
          • Custom Icons for admin menu
          • Appdata -> Custom Admin Menu json file
          • FTP files and folders
          • DB
        • restart site
        • remove loaders and enable all backups

Actions and buttons:

  • Cancel backup restoring
    • shows confirm message before perform the action:
      “Are you sure you want to cancel the restore backup process”

Upload Backup Process

Design:
https://projects.invisionapp.com/share/F2126E6QCRMB#/screens/462403051

Actions and buttons

  • Cancel backup uploading
    • shows confirm message before performing the action:
      “Are you sure you want to cancel the upload backup process”

Error message when there is not enough storage for uploaded backup file:
“You've run out of storage for the backups. Please upgrade your storage.”

Backup logic

1) Steps

  • Backup
    • DB
    • FTP files and folders
    • Appdata -> Custom Admin Menu JSON file
    • Custom Icons for admin menu
  • Store them to the encrypted file with the name
    • {siteSubdomain}-{datetime}.seed
  • Update progress on each step

2) Exceptions flows

  • Backup file size is greater than available storage
    • Based on the value of ‘Behavior On Low Storage’
      • Email me and skip new
        • Delete attempted backup files
        • Send “Low Storage Email” system email to reseller
      • Remove oldest and create new
        • if Backup file size is greater than full storage limit
          • Show message:
            “You've run out of storage for the backups. Your backup request has been cancelled. Please upgrade your storage and launch a new backup request.”
          • Follow ‘Email me and skip new’ flow
        • else
          • Get list of backups in order: createDate DESC
          • Delete backups starting from the first in the list until there will be enough space to store the backup
  • Only one backup or restore process is allowed for the same time. Show error message if trying to perform backup or restore once another process is working:
    “Only one backup or restoration process is allowed for the site at a time. Please wait until the current process is finished or cancel it and try again.”

Low Treepl Storage Email:

Send to

  • {ResellerEmail}

Subject

  • You've run out of storage for the {site_name} backups.

Content

  • You've run out of storage for the {site_name} backups. Your backup request has been cancelled. Please upgrade your storage and launch a new backup request.

    Upgrade

Logic

  • “Upgrade” button will lead to the ‘Portal’ -> ‘Site’ -> ‘Extensions’ -> ‘Website Backup’ settings page

Treepl Storage

Setup S3 bucket storage for all backups of Treepl storage.

Setup it on the same DC where the Treepl portal is located.

Setup 1GB of storage by default.

Extension uninstall behaviour

Do not delete all backup data stored on Treepl storage if partner clicks uninstall backup extension.

So if the extension is reinstalled at a later time - all previous backups would still be available.

Page Rollback Option

0) Store files for downloadable products on FTP

Move all current files for all products to ftp folder "/_downloadable_products", with file path using the folwing format: “/{productId}/{filename}.{fileext}”

  • New files stored in folder "/_downloadable_products" on product saving using the above file path format.
  • Deny access by URL to any file in this folder (show 404 page not found)
  • When new file is uploaded - do not delete previous file from the folder. So if you apply rollback to the version where another file was set, you can restore access to it.

1) Rollback setting in module settings

Create new collapsable section in module settings titled “Extension Settings” which provides the ability to enable rollback options in the module.

NOTE: Rollback is enabled by default for ‘Page’ module and ‘Content Templates’ for all site plans regardless of the Backup extension being installed or not.

Design:

https://projects.invisionapp.com/share/W6X356SMH23#/screens

2) Restriction logic

Rollback options are only provided for the site if the Backup extension is installed and is not expired - except for ‘Pages’ and ‘Content Templates’ which have rollback turned on by default.

3) Rollback listing on Items and Content Templates

Once Rollback is enabled for the item

4) Rollback recording logic

Recording logic should be applied to the following editing points:

  • Editing via admin UI
    • Save type is ‘Settings’ or ‘SEO’ (based on wich tab user is on saving)
  • Editing via FTP
    • Save type is ‘Settings’
  • Editing from the Edit Item Form (front-end)
    • Save type is ‘Settings’
  • Editing via import
    • Save type is ‘Settings’ AND ‘SEO’ (because import row may contain properties from both sections. Create 2 rollback records in this case)

Rollback records should be applied for different sets of item properties:

  •  type ‘Settings’
    • All fields that are shown in the ‘Settings’ tab of the item edit page in admin UI
    • For ‘Content Templates’ the fields include:
      • Name
      • IsDefault
      • Content
      • AmpContent
      • TemplateSettings
        • EcommerceJS
        • MainCSS
        • PaymentJS
        • RecaptchaJS
  •  type ‘SEO’
    • All fields that are shown in ‘SEO’ tab of the item edit page in admin UI

Once item or content template is edited (with changes made) in any editing point:

  • Create Rollback record (as type ‘Settings’) with the following info:
    • Source
      • Admin UI
      • FTP
      • Edit Item Form (from front-end)
      • OSE
      • Import
    • Data
      • all values of all properties of the item or template that they had before saving
    • Editor
      • Store CRM record Id or Admin record Id for linkage
      • View Format
        • Type
          • CRM Member
          • Admin User
          • Portal Owner
          • Portal User
            Display CRM Member and Admin User as links to the CRM contacts and Admin users details respectively.
    • Date
      • Create Datetime of the rollback

5) Rollback records delete flow

Every 6 hrs collect all rollback records that are older than 90 days and delete them.

6) Rollback flow

Design:
https://projects.invisionapp.com/share/XZ1228SX8M7N#/screens/461401436

When clicking ‘Restore’ rollback button:

  • If some values could not be restored (if value options no longer exist or property from rollback has another type then the current one)
  • else
    • Show Confirmation popup:
      “This version will now be loaded for previewing where you will have the option to 'Restore' the changes.”
      • clicking on ‘Restore’ rollback button:
        • Will preset edit form by the values from the rollback record (omitting values that could not be restored. If the property type is not the same as in the rollback - set empty value to the property)
        • change name of the Save button to Restore
        • This action requires user to click Restore in order to finalize restoring process
        • Show warning messages near fields that are not restored correctly

When clicking ‘Delete’ rollback button:

  • Delete rollback record from DB
  • Restrict Delete operation for all admin users except Partners.
    If user with another role triggers Delete rollback action, show message: “You don't have permission to perform this action”

7) Permissions

Add permissions to the following modules:

  • Each Custom module permissions group
  • Default Custom Module permissions group
  • Page permissions group
  • Content Template permissions group
  • Blogs permissions group
  • Blog Posts permissions group
  • Banner Groups permissions group
  • Banners permissions group
  • Galleries/Sliders permissions group
  • Slides permissions group
  • FAQ Groups permissions group
  • FAQ Questions permissions group
  • Authors permissions group
  • Products permissions group
  • Catalogs permissions group
  • Events Group permissions group
  • Event permissions group

Restrictions:

  • Can View And Manage Rollback History, if restriction is disabled:
    • do not show history button on item edit form in admin [UI]
    • block get history api endpoint [BE]
  • Can Enable/Disable Rollback On Module Settings, if restriction is disabled:
    • Hide Enable Rollback checkbox on module settings [UI]
    • Skip saving new value of Enable Rollback checkbox on editing module settings [BE]

DESIGN:

Rollback option in module settings:
https://invis.io/W6X356SMH23

Main design:
https://projects.invisionapp.com/share/XZ1228SX8M7N

domain redirects and non-www to www redirect

Domain redirects management (Portal)

Add Page for domain redirects management under ‘Site’ -> ‘Domain Redirects’ tab (next to Domains tab - https://www.screencast.com/t/t94mO7GEmy )

Show list of redirects

Provide ability to add, edit and delete redirects

Domain redirects management (CMS Admin)

Add Page for domain redirects management under ‘Settings’ -> ‘Domains’ -> ‘Domain Redirects’ tab ( https://invis.io/TQ11WXQDKYE4 )

Logic is the same as for the portal

Add/edit redirect form

  • From URL (dropdown)
    {list of all existing domains for the site, including www versions if existed}
  • To URL (dropdown)
    {list of all existing domains for the site, including www versions if existed, except domain selected in From URL}
  • Enabled (boolean) determines if redirect should be applied to the site or not

Add/edit redirect form logic

  • Add js that will exclude a domain from ‘To URL’ each time ‘From URL’ is changed
  • In order to apply redirects, the user needs to click ‘Apply’ button under the list of redirects. Otherwise, all changes will be lost once the user leaves the page
    • Show standard warning message if a user made any changes and go out of the tab without clicking ‘Apply’
  • Once clicked ‘Apply’:
    • Show confirmation popup with text:
      “Please note that we'll need to restart the site in order to apply the changes. The site will be unavailable for a few minutes right after the restart. Do not refresh the page, this will result in the"service unavailable" error.”
    • If clicked OK - show full page locking loader and wait until the site will be reloaded.
      Then hide loader

Portal: Leadership Team page

Add page to the portal titled “Leadership Team”

Design:
https://projects.invisionapp.com/share/ZJ122U2JWAGS#/screens 

Show Page for the following roles:

  • Partners
  • Agencies

Workflow notifications improvement for payments

Add sending form workflows after retrieving successful payment webhook (missing workflow logic for payment forms that redirects to payment site after submit)

  • Use Cases
    • Payment method = PayPal
    • Stripe 3D secure
  • Logic
    • if Form Submission Data contains customWorkflows field
      • take a list of workflow ids from it
    • else
      • take a list of workflows attached to the form in the settings tab

BUG FIXES

In SEO tab - SEO priority change after every saving

https://treepl.slack.com/archives/C023SU50YQP/p1641319429078700

  1. Go to page -> SEO tab -> set up SEO priority 1 https://prnt.sc/2640kr5
  2. After go to SETTINGS tab and click Save button https://prnt.sc/2640off
  3. Return to SEO tab - SEO priority change on 0.5 again

Actual: After saving, changes SEO priority

Expected: after any changes on page - all previously saved information shouldn't be changed

Orders - filter by caseid or orders doesn't works

https://treepl.slack.com/archives/C023SU50YQP/p1641438488002500

Actual: display error Liquid Error: FilterBy/SortBy value 'caseid' is incorrect

Expected: display form submission

Custom Module - edits to Table not correct

https://treepl.slack.com/archives/C023SU50YQP/p1642361221011500

Actual: Duplicates column after edit

Expected: After edited name of table - on list of modules display correct names of columns

[Portal] Display "Last updates" time is local for each partner

  1. Go to Portal -> Support page https://forum.treepl.co/t/portal-bug-ux-fix-support-ticket-last-updates-time-is-not-local/1081
  2. Column Last Update display not local time for each partner https://prnt.sc/1g215ux

Advanced CRM Group - not correct order after edit group

  1. Create advanced CRM Group and assigned to Contact
  2. Go to Contact and fill all fields https://prnt.sc/1w7wung
  3. After go to group and change order of fields
  4. Go to contact and  display old order BUT if open edit - display correct https://prnt.sc/1w7wzfi 
  5. THE SAME problem with UPDATE account form where use advanced CRM Group and assigned to Contact - https://prnt.sc/1w7xvmn

Offline payment - add ability to edit and delete from all types

  1. Create Offline Order
  2. Add an offline payment type https://prnt.sc/1wy0qig

Actual: Not display edit/delete buttons https://prnt.sc/1wy0qig

Expected: Should display edit/delete buttons
https://treepl.slack.com/archives/CRUAT8GGZ/p1634754580137000

Discount Codes - Release/Expiry Dates to match timezone

  1. Go to discount codes and create a new code with release and expiry dates as now

    Expected: Dates must match the time zone on the site
    Actual: Dates match the UTC time zone

Export Event Bookings with custom fields

  1. Create form SingleItem with custom fields and Adv CRM group
  2. After go to Events bookings and make export exactly from this new form
  3. In file not display custom fields
Show more less
New Feature

Page Rollback Option

Roll back function on pages, custom modules etc.

  • Admin Panel
  • BC Equivalent
  • Custom Modules
New Feature

Website Backup

Extra add-on that allows performing scheduled automatic backups of FTP files and database of the site saving it to an archive that can be stored locally or within a 3rd party storage service (Dropbox, Google Drive, etc.).
  • Extensions