[ { "Id": "3162", "URL": "/extras/image-processor", "Name": "Image Processor", "Description": "Each manipulation method and its relevant options are listed below, along with examples. Many of these methods can be combined to create more complex image manipulations.However, you may need to experiment with the order of the methods applied in your query string. For example; a contrast effect will only work with a filter type if it comes first in the query string, ie: /your-image.jpg?contrast=35&filter=blackwhite.Likewise, some methods will have different combined results based on their order in your query string, ie: /your-image.jpg?blur=35&filter=blackwhite has a different result to /your-image.jpg?filter=blackwhite&blur=35. Spacial Manipulations Resize Mode: Crop (default) Resizes the original image to the given width and/or height. Passing a single dimension will automatically preserve the aspect ratio of the original image. If the set dimensions do not match the aspect ratio of the original image then the output is cropped to match the new aspect ratio. Images will be upscaled from the original if the requested size is larger than the original dimensions. Crop mode also offers optional anchor positions which determine the origin point in which to resize the image from: center (default) top right bottom left topleft topright bottomleft bottomright <img src="/your-image.jpg?width=[px]&height=[px]&mode=crop&anchor=[POSITION]"> " },{ "Id": "2570", "URL": "/liquid/liquid-filters", "Name": "Liquid Filters", "Description": "Treepl CMS specific filters are indicated by the leaf icon (). String Filters | append Concatenates two strings and returns the concatenated value. {{ "/my/fancy/url" | append: ".html" }} /my/fancy/url.html append can also be used with variables: {% assign filename = "/index.html" %} {{ "website.com" | append: filename }} website.com/index.html | prepend Adds the specified string to the beginning of another string. {{ "apples, oranges, and bananas" | prepend: "Some fruit: " }} Some fruit: apples, oranges, and bananas prepend can also be used with variables: {% assign text = "Some fruit: " %} {% assign fruit = "apples, oranges, and bananas" %} {{ text | prepend: fruit }} Some fruit: apples, oranges, and bananas | capitalize Makes the first character of a string capitalized. {{ "my great title" | capitalize }} My great title | downcase Makes each character in a string lowercase, if it is not already. {{ "Treepl CMS" | downcase }} treepl cms | upcase Makes each character in a..." },{ "Id": "2152", "URL": "/treepl-portal/live-sites", "Name": "Live Sites", "Description": " Live Sites On the 'Live Sites' page of your Treepl Portal you'll see a table of all your activated sites along with various information and actions for those sites. You can filter the list of sites via the ‘Search’ bar above the table by typing keyword/s matching the site name (shown in the first column of the table). An excel file of your live sites can also be exported via the “Export All Site Details” button at the top of the page. A description of the information and actions presented in the live sites table is as follows: Option Description Site Your site's descriptive name. URL The URL used to access your live site (usually your primary custom domain assigned to the site). Status A description of the instance's operational status (eg: 'Running'). 2FA Displays whether Two-Factor Authentication..." },{ "Id": "2131", "URL": "/content-modules/pages", "Name": "Pages", "Description": " Pages and Page Folders can contain all manner of website content which can be managed via the WYSIWYG editor, directly in Code View or via FTP. Quick Start Managing Items Views There are 2 different list views your items can be configured to display in, or switched to via the icons ( ) in the top right of the item view. Depending on how the module is configured, some or all of these icons may be visible and the default view may be different to that of how other modules display. List View () A direct listing of all the current module items, in a tabular layout, which can be clicked on to access their content. A typical view for singular, self contained modules. Tree View () Relevant for nested module structures, this view shows all current module items, in a tabular layout, as folders (parent items) which can be clicked into to access a List View of their child module items. Import / Export Found under the main auxiliary menu (), you..." },{ "Id": "2206", "URL": "/email-notifications/email-templates", "Name": "Email Templates", "Description": "Found under ‘Email Notifications’ ‘Email Templates’, you can create any number of templates. You could duplicate the “System Template” as a starting point, using the ‘Duplicate’ action, or start from scratch with your own code. Once you’ve created your email template/s you’ll be able to apply them to the system emails throughout the admin when configuring those email settings and body content. Typically, an email template would set up the HTML document, with <head> section, styles and a framework for the email body, such as a branded header - with company logo - and a footer section - with company sign-off/signature. Example Code for a basic HTML Email Template In the below code, we set up the HTML document, assign some meta tags, embedded styles and a table structure for the header, footer and body container. In the body container we have the required Liquid tag {{this.emailContent}} which is were the email body content will be dynamically inserted, based on the type of email being sent (ie: Workflow Notification, Follow-up Email, Autoresponder, etc.) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"> <head> <!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta..." },{ "Id": "2324", "URL": "/liquid/this-object", "Name": "{{ this }} object", "Description": "This Liquid object is globally accessible in every liquid template or layout and outputs specific data relating to the item being render. {{ this }}For example, if {{this}} is placed in a Page content area it will render the liquid data of that page. Likewise if placed in a Module content field, it will render the liquid data available for the specific module item being viewed. Liquid OutputBelow is a live example of the {{this}} output for this very documentation article. { "Id": 2324, "Name": "{{&nbsp;this&nbsp;}} object", "Url": "/liquid/this-object", "Url_List": [ "/liquid/this-object" ], "UrlSlug": "this-object", "ParentId": 1881, "ParentId_List": [ 1881 ], "ParentName": "Liquid Objects & Usage", "ParentUrl": "/liquid", "TemplateName": "Docs Template", "Module_Alias": "DocumentationPost", "Module_ID": 1870, "Enabled": true, "ReleaseDate": "2018-08-03T23:00:00", "ExpiryDate": "2099-11-29T00:00:00", "SiteSearchKeywords": [], "Description": "<p>This Liquid object is globally accessible in every liquid template or layout and outputs specific data relating to the item being render.</p>\r\n\r\n{% component type: \"snippet\", alias: \"code_block_processor\", data: \"{{data}}\", lang: \"liquid\" %}\r\n<p>For example, if <code>{{this}}</code> is placed in a Page content area it will render the liquid data of that page. Likewise if placed in a Module content field, it will render the liquid data available for the specific module..." },{ "Id": "2132", "URL": "/content-modules/content-templates", "Name": "Content Templates", "Description": "Content Templates are the framework of your HTML document when rendering Pages and module items, helping set up the common elements, scripts, and styles as well as any common footer elements and additional scripts. Your site can include any number of Content Templates for various layout requirements or content types. Quick Start " },{ "Id": "3257", "URL": "/open-api-admin/crm-cases-api", "Name": "CRM Cases API", "Description": " GET CRM Cases List Retrieves a list of Cases as a JSON response based on your provided query parameters. /api/v2/admin/cases Data / Response: { "Where" : {}, "Order_By" : "Id", "Offset" : 0, "Limit" : 100, } var obj = { "Where" : {}, "Order_By" : "Id", "Offset" : 0, "Limit" : 100, } ; var code = $('#code239 code'); code.text((JSON.stringify(obj, null, 4))); code.html((code.html()).replace(/\[\[/g, '')); { "Items": [ { "Id": 0, "OrderId": 0, "FormId": 0, "MemberId": 0, "CreatedDateTime": "2024-05-17T17:45:27.212Z", "CustomCrmGroups": { "<GroupAlias1>": { "<FieldAlias1>": "<value>", "<FieldAlias2>": false, "<FieldAlias3>": 0 } }, "Member": { "Id": 0, "Email": "string", "FirstName": "string", "LastName": "string" }, "Form": { "Id": 0, "Alias": "string", "Name": "string" }, "CaseFields": { "<FieldAlias1>": "<value>", "<FieldAlias2>": false, "<FieldAlias3>": 0 } } ], "TotalItemsCount": 0 } var obj = { "Items": [ { "Id": 0, "OrderId": 0, "FormId": 0, "MemberId": 0, "CreatedDateTime": "2024-05-17T17:45:27.212Z", "CustomCrmGroups": { "": { "": "", "": false, "": 0 } }, "Member": { "Id": 0, "Email": "string", "FirstName": "string", "LastName": "string" }, "Form": { "Id": 0, "Alias": "string", "Name": "string" }, "CaseFields": { "": "", "": false, "": 0 } } ], "TotalItemsCount": 0..." },{ "Id": "2350", "URL": "/crm-customer-relationship-management/event-bookings", "Name": "Event Bookings", "Description": " Managing View From the list view you can see all in a paginated table layout (with pagination controls at the bottom of the table) and a sortable column headers. You can also search the list via the search field at the top of the table, which will search for your keyword/s within the item name. Additionally, you’ll find controls for editing and deleting , as detailed further below. Import/Export Found under the main auxiliary menu (), you can import/export data to/from your . You can further add/update your in bulk using a spreadsheet application and re-import them in an Excel file format (.xlsx). If re-importing to update existing items, be sure to maintain the same 'ID' values from those exported items. Use the "Get Import Template" option from the auxiliary menu, or export the current items, in order to get a template import file you can use for importing new data. Delete Individual items can be deleted either by clicking the trash can icon () to the right of the item or when on the item's edit page, click the trash can icon ()..." },{ "Id": "2312", "URL": "/about-treepl-cms/glossary-of-terms", "Name": "Glossary of Terms", "Description": "" },{ "Id": "1964", "URL": "/liquid/request-object", "Name": "{{ request }} object", "Description": "This Liquid object is globally accessible in every liquid template or layout and outputs various data relating to your site. {{ request }} Liquid OutputAn live render of the data output is below. { "cookies": {}, "request_url": { "href": "https://docs.treepl.co/documentation-post-test?page=2&prop_ModuleId=1870", "origin": "https://docs.treepl.co", "protocol": "https", "hostname": "docs.treepl.co", "path": "/documentation-post-test", "params": { "page": "2", "prop_moduleid": "1870" }, "originalParams": { "page": [ "2" ], "prop_moduleid": [ "1870" ] } }, "request_data": { "ip": "216.73.216.192", "is_mobile": 0, "user_agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "referrer": "" }, "currentmember": "", "is_logged": false, "device_type": "Desktop", "timezone": { "label": "(UTC-06:00) Central Time (Chicago)", "offset": -5.0 }, "system_recaptcha_sitekey": "6Lf2cGcUAAAAABbL4aDrclASNZx9S3uaI9EvpvlI" }var obj = { "cookies": {}, "request_url": { "href": "https://docs.treepl.co/documentation-post-test?page=2&prop_ModuleId=1870", "origin": "https://docs.treepl.co", "protocol": "https", "hostname": "docs.treepl.co", "path": "/documentation-post-test", "[[a href=#secParams]]params[[/a]]": { "page": "2", "prop_moduleid": "1870" }, "originalParams": { "page": [ "2" ], "prop_moduleid": [ "1870" ] } }, "request_data": { "ip": "216.73.216.192", "is_mobile": 0, "user_agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "referrer": "" }, "[[a href=#secCurrentMember]]currentmember[[/a]]": "", "is_logged": false, "[[a href=#secDeviceType]]device_type[[/a]]": "Desktop", "timezone": { "label": "(UTC-06:00) Central Time (Chicago)", "offset": -5.0 }, "system_recaptcha_sitekey": "6Lf2cGcUAAAAABbL4aDrclASNZx9S3uaI9EvpvlI" }; var code = $('#code254 code'); code.text((JSON.stringify(obj, null, 4))); code.html((code.html()).replace(/\[\[/g, ''));..." },{ "Id": "1959", "URL": "/component-types/site_search", "Name": "site_search", "Description": "This component outputs data relating to a site search request passed in a URL parameter SearchKeyword to any page (typically from a search form submission). {% component type: "site_search", source: "Page", layout: "Site Search List" %} Search queries are currently made against all of the following modules: Pages Blogs (Blogs and Posts) Events (Groups and Items) Banners (Groups and Items) Galleries/Sliders (Groups and Items) FAQs (Groups and Items) Custom Modules Authors Products/Catalogs Parameters and Options Parameter Values Required Description type site_search This is the name of the entity that needs to be used for the component retrieving function. source Page (default)<Entity name/ID> The entity name or ID that the layout is to be referenced from. layout Site Search List..." },{ "Id": "2205", "URL": "/email-notifications/system-emails", "Name": "System Emails", "Description": " System Email Descriptions Name Description Admin Reset Member Password The email layout used when a member's password has been reset by a site admin user, providing the member with the new password and the email address of the admin that changed it. Confirm Email Notification The email layout used when the system needs to confirm the user’s email address. Typically when subscribing to a secure zone.This email is sent to the email address provided during the form submission. Deferred Order Payment The email layout used when sending an order payment request to a member for an unpaid order, providing them with a unique link to the 'Deferred Order Payment' system page identifying the order to be paid. GiftVoucher The email layout used when an eCommerce order includes the purchase of a gift voucher product.This email is sent to the supplied..." },{ "Id": "2444", "URL": "/liquid/liquidcontext-object", "Name": "{{ liquidContext }} object", "Description": "This Liquid object is globally accessible in every liquid template or layout and outputs a combination of the {{this}} and {{request}} Liquid objects as well as any Liquid variables available to the layout it is placed in. {{ liquidContext }}Below is a live example of the {{liquidContext}} output for this very documentation article, where a Liquid variable called sampleVar has been assigned in the content. You'll notice both the request and this data collections are output along with the sampleVar variable that was included in this articles content. The main purpose of this Liquid object is to assist with easier access to Liquid data while developing your site. See further below for examples of accessing this data during development. Liquid Output{ "empty": "", "blank": "", "siteglobals": {}, "si": {}, "this": { "Id": 2072, "Url": "/sample-page", "ParentId": -1, "LastUpdatedDate": "2020-06-17T00:38:29", "Name": "Sample Page", "UrlSlug": "sample-page", "Enabled": true, "ReleaseDate": "2020-06-16T00:00:00", "ExpiryDate": "2099-12-11T13:00:00", "Weighting": 0, "Description": "HTML Page content here...", "ItemTags": "", "Author_Name": "", "Author_Url": "", "Author": "", "SEOTitle": "", "MetaTitle": "", "MetaDescription": "", "ShowPageForSearchEngine": false, "CanonicalLink": "", "EnableAMP": false, "AMPContent": "", "CodeEditor": true, "ExternalId": 0, "SocialMetaTags": "", "OpenGraphProperties": "", "SeoPriority": "0.5", "DisableForSiteSearch": false, "CreatedByMemberId": 0, "ItemCategories":..." },{ "Id": "2586", "URL": "/liquid/siteglobals-object", "Name": "{{ siteglobals }}", "Description": "{{ siteglobals }} Notice the below data has duplicate values with shorthand names. Likewise the whole Site Globals object can also be access using a shorthand alias: {{ sg }} Liquid OutputAn example data structure for two Globals Groups defining the site's design elements and site contacts: { "demo_design_elements": { "site_logo": "/images/logo.png", "sl": "/images/logo.png", "primary_color": "#0091EA", "pc": "#0091EA" }, "dde": { "site_logo": "/images/logo.png", "sl": "/images/logo.png", "primary_color": "#0091EA", "pc": "#0091EA" }, "demo_site_contacts": { "phone": "1300 123 123", "p": "1300 123 123", "email": "info@yourdomain.com", "e": "info@yourdomain.com", "address": "1 Demo St,\nDemoville, CA, 10000", "a": "1 Demo St,\nDemoville, CA, 10000" }, "dsc": { "phone": "1300 123 123", "p": "1300 123 123", "email": "info@yourdomain.com", "e": "info@yourdomain.com", "address": "1 Demo St,\nDemoville, CA, 10000", "a": "1 Demo St,\nDemoville, CA, 10000" } }var obj = { "demo_design_elements": { "site_logo": "/images/logo.png", "sl": "/images/logo.png", "primary_color": "#0091EA", "pc": "#0091EA" }, "dde": { "site_logo": "/images/logo.png", "sl": "/images/logo.png", "primary_color": "#0091EA", "pc": "#0091EA" }, "demo_site_contacts": { "phone": "1300 123 123", "p": "1300 123 123", "email": "info@yourdomain.com", "e": "info@yourdomain.com", "address": "1 Demo St,\nDemoville, CA, 10000", "a": "1 Demo St,\nDemoville, CA, 10000" }, "dsc": { "phone": "1300 123 123", "p": "1300 123 123", "email": "info@yourdomain.com", "e":..." },{ "Id": "3161", "URL": "/about-treepl-cms/file-system", "Name": "File System", "Description": "This open file structure allows you to manage your site content fully and easily via the methods you are most comfortable with and that suits your workflow. File System Case Sensitivity With the release of Treepl CMS version 6.10, the file system case sensitivity is changing from a case-insensitive file system to a case-sensitive file system. For the majority of HTML and Liquid implementations throughout the CMS, within Page Content, Content Templates, Snippets, Module Layouts, etc. will be automatically checked for file paths and file names and converted to the appropriate case to avoid the breaking of existing implementations that may have letter case mismatches in the code. Additionally, existing file naming conventions for system items will be enforced and automatically adjusted (where inconsistencies are present). For example; a Snippet with item name My Snippet and file system name of my_snippet.html will be converted to My Snippet.html. Some obscure implementations may exist where the migration script will not be able to check or correct letter case mismatches in such places where Liquid tags, that point to a file path, are used within field/property values of a module item, along with other rare and custom implementations. After v6.10,..." },{ "Id": "1961", "URL": "/liquid/formsubmissiondata-object", "Name": "{{ formSubmissionData }} object", "Description": "You can use this on the default form submission page (/_form-submission-results/) or any custom redirect page you have setup for the confirmation page of your form. The output can also be used within the forms auto-response email Body, From Name, and Subject fields, as well as the Workflow Notification email Body/template, From Name, and Subject fields (and Invoice email body/template if applicable). {{ this.formSubmissionData }} Liquid OutputAn example of the data structure for a successfully submitted form is below. { "submissionid": 123, "form_name": "DEMO Contact Form", "form_alias": "demo_contact_form", "fields": { "system": { "firstname": { "id": "FirstName", "name": "First Name", "value": "Alex" }, "lastname": { "id": "LastName", "name": "Last Name", "value": "Smith" }, "email": { "id": "Email", "name": "Email", "value": "asmith@example.com" }, "phone": { "id": "Phone", "name": "Phone", "value": "11222333444" } }, "custom": { "enquiry": { "id": "Enquiry", "name": "Enquiry", "value": "Hi. This is a test message." } }, "all": [ { "id": "FirstName", "name": "First Name", "value": "Alex" }, { "id": "LastName", "name": "Last Name", "value": "Smith" }, { "id": "Email", "name": "Email", "value": "asmith@example.com" }, { "id": "Phone", "name": "Phone", "value": "11222333444" }, { "id": "Enquiry", "name": "Enquiry", "value": "Hi. This is..." },{ "Id": "3255", "URL": "/open-api-admin/crm-bookings-api", "Name": "CRM Bookings API", "Description": " GET CRM Bookings List Retrieves a list of Bookings as a JSON response based on your provided query parameters. /api/v2/admin/bookings Data / Response: { "Where" : {}, "Order_By" : "Id", "Offset" : 0, "Limit" : 100, } var obj = { "Where" : {}, "Order_By" : "Id", "Offset" : 0, "Limit" : 100, } ; var code = $('#code306 code'); code.text((JSON.stringify(obj, null, 4))); code.html((code.html()).replace(/\[\[/g, '')); { "Items": [ { "Id": 0, "EventId": 0, "OrderId": 0, "FormId": 0, "MemberId": 0, "Allocation": 0, "CreatedDateTime": "2024-05-15T20:00:19.006Z", "CustomCrmGroups": { "<GroupAlias1>": { "<FieldAlias1>": "<value>", "<FieldAlias2>": false, "<FieldAlias3>": 0 } }, "Member": { "Id": 0, "Email": "string", "FirstName": "string", "LastName": "string" }, "Form": { "Id": 0, "Alias": "string", "Name": "string" }, "Event": { "Id": 0, "Name": "string" }, "EventBookingFields": { "<FieldAlias1>": "<value>", "<FieldAlias2>": false, "<FieldAlias3>": 0 } } ], "TotalItemsCount": 0 } var obj = { "Items": [ { "Id": 0, "EventId": 0, "OrderId": 0, "FormId": 0, "MemberId": 0, "Allocation": 0, "CreatedDateTime": "2024-05-15T20:00:19.006Z", "CustomCrmGroups": { "": { "": "", "": false, "": 0 } }, "Member": { "Id": 0, "Email": "string", "FirstName": "string", "LastName": "string" }, "Form": { "Id": 0, "Alias": "string", "Name":..." },{ "Id": "2159", "URL": "/about-treepl-cms/infrastructure-security", "Name": "Infrastructure & Security", "Description": " Infrastructure Treepl CMS is fully hosted in Amazon Web Services (AWS) and it takes advantage of a large set of its products: Amazon Elastic Compute Cloud (EC2) for scalable computing capacity in the cloud, Elastic Block Store (EBS) and Simple Storage Service (S3) for storing and retrieving data, Virtual Private Cloud (VPC), Identity and Access Management (IAM), Security Groups, and others for security purposes, Simple Email Service (SES) for sending emails, CloudWatch for monitoring and others. In order to obtain a higher performance level, Treepl CMS customers are hosted and served from six AWS data centers: Germany (EU), Oregon (US), Virginia (US), Sydney (AU), Canada (CA), United Kingdom (UK). Infrastructure Overview Chart Security AWS offers a reliable platform for software services used by thousands of businesses worldwide, provides services in accordance with security best practices, and undergoes regular industry‐recognized certifications and audits. More information regarding AWS security can be found in the AWS Security White Paper. More information on Treepl CMS security and architecture see our Security Overview here. Portal & Admin User Passwords The setting of..." },{ "Id": "2141", "URL": "/component-types/module-blog", "Name": "module (Blog)", "Description": "This module component fetches data relating to Blogs. {% component type: "module", source: "Blog", layout: "Blog List Layout" %} Parameters and Options Parameter Values Required Description type module (default)module_of_member This is the name of the entity that needs to be used for the component retrieving function.module is the standard retrieving function to retrieve all items.module_of_member retrieves only those items 'Added by' the currently logged in user (identified by the CreatedByMemberId property in the module items Liquid data).The 'Added by' System Property will only be available where the modules settings have 'Allow Add New Items' turned on under the 'Site User Permissions'. source Blog (default) The module’s entity/alias name or ID that the data is to be sourced from. layout Blog..." },{ "Id": "2154", "URL": "/treepl-portal/my-settings", "Name": "My Settings", "Description": " Profile Update your Partner details for use with Treepl CMS accounts/invoicing. Enable Two-Factor Authentication (2FA) for your Partner login (Portal and all sites). See 2FA documentation here for more info. Branding You have the ability to customise the branding of your Treepl Admin and login screen. Below are the options available: Option Description My logo for dark background This is the logo that will appear in the upper left-hand corner of the admin area in the top banner bar with a background color of #292e34.Maximum size of the logo is 151px wide x 62px high. My logo for light background This is the logo used for the admin login screen. The logo will sit on a white background with approx. 45px padding all around.Maximum size of the logo is 200px wide but can be any height. Background image This image is used as a full screen background..." },{ "Id": "2283", "URL": "/liquid/member-object", "Name": "{{ member }} object", "Description": " This liquid object will output the Member's details of whom submitted a Form. You can use this on the default form submission page (/_form-submission-results/) or any custom redirect page you have setup for the confirmation page of your form. The output can also be used within the forms auto-response email Body, From Name, and Subject fields, the Workflow Notification email Body and Email Templates, and other member related System Emails. {{ this.member }} Liquid OutputAn example of the data structure for a successfully submitted form is below. { "id": 2, "email": "asmith@example.com", "firstname": "Alex", "lastname": "Smith", "address": null, "city": null, "state": null, "zipcode": null, "country": null, "site": null, "phone": "11222333444", "createddatetime": "2018-11-19T10:42:07.227", "updateddatetime": "2018-11-19T10:42:07.263", "securezones": [ { "id": 20, "name": "My Secure Zone", "landingpageid": 2541, "createddatetime": "2018-11-05T15:17:23.037", "updateddatetime": "2018-11-05T15:17:23.037" } ] } var obj = { "id": 2, "email": "asmith@example.com", "firstname": "Alex", "lastname": "Smith", "address": null, "city": null, "state": null, "zipcode": null, "country": null, "site": null, "phone": "11222333444", "createddatetime": "2018-11-19T10:42:07.227", "updateddatetime": "2018-11-19T10:42:07.263", "securezones": [ { "id": 20, "name": "My Secure Zone", "landingpageid": 2541, "createddatetime": "2018-11-05T15:17:23.037", "updateddatetime": "2018-11-05T15:17:23.037" } ] } ; var code = $('#code329 code'); code.text((JSON.stringify(obj, null, 4))); code.html((code.html()).replace(/\[\[/g, '')); " },{ "Id": "2351", "URL": "/crm-customer-relationship-management/orders", "Name": "Orders", "Description": " Managing View From the list view you can see all in a paginated table layout (with pagination controls at the bottom of the table) and a sortable column headers. You can also search the list via the search field at the top of the table, which will search for your keyword/s within the item 'Order Name', Invoice Number', 'Transaction Id', and 'Member Email' fields. Additionally, you’ll find controls for editing and deleting , as detailed further below. Export Found under the main auxiliary menu (), you can export data from your . Importing of is not currently available. When exporting Orders, additional order line items/products will be generated in rows preceding the initial Order item row. So, for example, a shopping cart order consisting of 3 products will export as 3 rows in the resulting spreadsheet. The first row for the main Order details and first product in the order, followed by 2 additional rows each with one of the products within the order. Delete Individual items can be deleted either by clicking the..." },{ "Id": "2133", "URL": "/content-modules/snippets", "Name": "Snippets", "Description": "Snippets allow the creation of reusable blocks of code or isolated sections of content. This helps keep code clean and more easily maintainable, eliminating the need to repeat yourself and the risk of inconsistent code. Quick Start " },{ "Id": "2142", "URL": "/component-types/module-blog-post", "Name": "module (Blog Post)", "Description": "This module component fetches data relating to Blog Posts. {% component type: "module", source: "Blog Post", layout: "List" %} Parameters and Options Parameter Values Required Description type module (default)module_of_member This is the name of the entity that needs to be used for the component retrieving function.module is the standard retrieving function to retrieve all items.module_of_member retrieves only those items 'Added by' the currently logged in user (identified by the CreatedByMemberId property in the module items Liquid data).The 'Added by' System Property will only be available where the modules settings have 'Allow Add New Items' turned on under the 'Site User Permissions'. source Blog Post (default) The module’s entity/alias name or ID that the data is to be sourced from. layout " },{ "Id": "3112", "URL": "/about-treepl-cms/disaster-recovery-plan", "Name": "Disaster Recovery Plan", "Description": " Backup Info Code and assets are stored on EBS volumes and are backed up twice daily by creating EBS snapshots. Additionally, code and assets are backed up before every update and before site termination. Backups are initially stored on the EBS volume and then moved to the S3. Data is stored in the RDS databases with daily backups. It can also be recovered on a point-in-time basis. Like code&assets, data is backed up before each update and upon site termination. Additionally, users can enable a backup extension that creates per-site backups daily. These backups are stored in S3. Backups to external services (Google Drive, Dropbox, etc.) will be possible in the future. Our primary response to the loss of data center is to recreate infrastructure in the differente availability zone or different AWS region - depending on the availability of the AWS infrastructure. Disaster Recovery Plan We have a Disaster Recovery Plan that includes the following: Guidelines for determining plan activation Response and recovery strategy Guidelines for recovery procedures Rollback procedures that will be implemented to return to the standard operating state Checklists outlining considerations for escalation, incident management, and plan activation ..." },{ "Id": "2353", "URL": "/component-types/module-event-group", "Name": "module (Event Group)", "Description": " This module component fetches data relating to Event groups. {% component type: "module", source: "Event group", layout: "List" %} Parameters and Options Parameter Values Required Description type module (default)module_of_member This is the name of the entity that needs to be used for the component retrieving function.module is the standard retrieving function to retrieve all items.module_of_member retrieves only those items 'Added by' the currently logged in user (identified by the CreatedByMemberId property in the module items Liquid data).The 'Added by' System Property will only be available where the modules settings have 'Allow Add New Items' turned on under the 'Site User Permissions'. source Event group (default) The module’s entity/alias name or ID that the data is to be sourced from. layout " },{ "Id": "2472", "URL": "/treepl-portal/my-invoices", "Name": "My Invoices", "Description": " Option Description Invoice ID Treepl CMS internal invoice reference. Site Name The current site instance name (the site name you gave during its creation or that you’ve changed it to since). URL The current primary site URL (ie: the custom domain applied during site activation). Date Created Then invoice creation date. Actions Send to my email: Send an email version of the invoice to the primary reseller’s email address. Download: Download a PDF version of the invoice directly. " },{ "Id": "2354", "URL": "/component-types/module-event", "Name": "module (Event)", "Description": "This module component fetches data relating to Events. {% component type: "module", source: "Event", layout: "List" %} Parameters and Options Parameter Values Required Description type module (default)module_of_member This is the name of the entity that needs to be used for the component retrieving function.module is the standard retrieving function to retrieve all items.module_of_member retrieves only those items 'Added by' the currently logged in user (identified by the CreatedByMemberId property in the module items Liquid data).The 'Added by' System Property will only be available where the modules settings have 'Allow Add New Items' turned on under the 'Site User Permissions'. source Event (default) The module’s entity/alias name or ID that the data is to be sourced from. layout List (default)<Your Layout..." },{ "Id": "2602", "URL": "/treepl-portal/projects-services", "Name": "Treepl Services", "Description": " Projects Easily submit new project enquiries from your reseller portal using the ‘New Project’ button (or click the Treepl Services website link to view more information on how we can help). You’ll also find a list of all past and current projects along with their type, progress, pricing, delivery date and access to the project chat history - where you can communicate directly with your project manager. Prepaid Packages Treepl Services also offers discounted prepaid credit packages, allowing you to save even more on any current or future project. From within any submitted project request you can view you prepaid balance and top-up your account as needed. Pricing Find more detailed information about Treepl’s pricing and service types to see exactly where we can help support your agency. Easily submit a project request from the service type you require. ..." },{ "Id": "3160", "URL": "/treepl-portal/leadership-team", "Name": "Leadership Team", "Description": "For general support issues please submit a Support Ticket via your reseller portal. See here for more information on the Treepl CMS Reseller Programs (FREE, ASSOCIATE, PARTNER and AGENCY levels)." },{ "Id": "2584", "URL": "/crm-customer-relationship-management/advanced-crm-groups", "Name": "Advanced CRM Groups", "Description": "Extending the CRM with your own custom fields can be done in the following CRM areas: Contacts Orders Form Submissions Booking Subscriptions Opening up the CRM in this way is great for building your customer data schema for your particular needs, tailoring the CRM to your requirements and making it more functional. Some examples could be; Adding additional contact information for all contact records, like a secondary phone number or email address, or extending company information such as business/licence numbers and postal/physical addresses. Or you could extend data collected and assigned to each customer’s Orders, such as delivery instructions or special notes needing to be saved against each individual purchase. Managing Groups From the Advanced CRM Group list view, click the “ADD NEW GROUP” button at the top to start creating a new group or click directly on the name of any existing group in the list. You can also duplicate a group via the duplicate icon (), or delete a group via the trash can icon () to the right of the group name in the list. Group Settings and Fields Upon creating/editing a CRM Group you’ll have access..." },{ "Id": "3079", "URL": "/open-api-admin/crm-orders-api", "Name": "CRM Orders API", "Description": " GET CRM Orders List Retrieves a list of Orders as a JSON response based on your provided query parameters. /api/v2/admin/orders Data / Response: { "Where" : {}, "Order_By" : "Id", "Offset" : 0, "Limit" : 100, } var obj = { "Where" : {}, "Order_By" : "Id", "Offset" : 0, "Limit" : 100, } ; var code = $('#code366 code'); code.text((JSON.stringify(obj, null, 4))); code.html((code.html()).replace(/\[\[/g, '')); { "Items": [ { "Id": 0, "AWBNumber": "string", "CurrencyCountry": "string", "Currency": "string", "Country": "string", "InvoiceDate": "2024-05-17T18:47:05.068Z", "InvoiceNumber": 0, "IsDeleted": true, "IsRecurring": true, "MainOrderId": 0, "MemberId": 0, "OrderName": "string", "PaymentState": "None", "StatusId": 0, "TotalCost": 0, "CreatedDateTime": "2024-05-17T18:47:05.068Z", "HasSubscriptions": true, "HasPaidSubscription": true, "TrackingURL": "string", "TransactionId": "string", "AmountPaid": 0, "AmountPending": 0, "OrderCaseType": "FormCase", "StatusShort": { "Id": 0, "Name": "string" }, "Discount": { "Code": "string", "Cost": 0 }, "GiftVoucher": { "Name": "string", "Cost": 0 }, "Tax": { "Code": "string", "Rate": 0 }, "ShippingInfo": { "Name": "string", "Cost": 0, "Address": "string", "City": "string", "State": "string", "Zipcode": "string", "Country": "string" }, "Member": { "Id": 0, "Email": "string", "FirstName": "string", "LastName": "string" }, "OrderLines": [ { "Id": 0, "EntityType": "Form", "ProductId": 0, "ModuleId": 0, "ProductName": "string", "Quantity": 0, "TaxRate":..." },{ "Id": "2134", "URL": "/content-modules/file-manager", "Name": "File Manager", "Description": "The File Manager provides browserable and functional access to the site’s file storage. You can see a tree view of the complete folder structure as well as a thumbnail, or optionally a list view, of the files within those folders. Quick Start File Naming Best Practises When creating a page (or file) via FTP (or via the admin File Manager), please follow these best practises to avoid unpredictable result and/or errors: 4Duplicate File Names Do not create files with the same name but with different variations of the same file extension. Eg; myfile.html and myfile.htm Doing so may result in inconsistent updating of file content when one or the other file is changed, along with other errors. 5Empty File Names Do not create files with an empty name (eg: .htm, .html). The CMS logic of creating and changing the page via FTP, or via the admin File Manager, will ignore such files and will not result in the creation of a page. 6Reserved URL Characters Avoid using % and # characters in file names - particularly where..." },{ "Id": "2272", "URL": "/about-treepl-cms/limits-restrictions", "Name": "Limits & Restrictions", "Description": "Below you'll find a 'work-in-progress' list of system resource limits to help in your development planning and troubleshooting, particularly for larger sites and more demanding client requirements. Forms Item Limits Restrictions Status Number of Forms created per site No limits - - Form field characters (inputs and textareas) 1,073,741,823 characters for ALL fields (including names and JSON special characters). All fields stored as JSON string in single db field. Scripts, Liquid markup - Form label characters 255 characters - - Fields added to a Form No limits - - Options added to Checkboxs,..." }, ]