WooClientZone Lite - Communications areas for WooCommerce

WooClientZone Lite is fully integrated with WooCommerce to provide communication areas (Client Zones) where the client and the merchant can exchange rich-text messages.

Quick Start Plugin page Upgrade

Thank you for using WooClientZone Lite. If you need Client Zones to be able to handle drag & drop file uploads, you may want to consider upgrading to the premium version of the plugin. See what's included in the premium version.

Once installed and activated, WooClientZone Lite is ready to work with its default configuration.

You can start using WooClientZone Lite right away if you want to exchange rich-text messages with your customers in communication areas specific to each customer (independently from any specific order).

The default configuration also provides communications areas linked to specific orders. However, the default settings require that these orders must include at least one product that requires a Client Zone to be set up.

To specify eligible products you need to check the tick box named Use Client Zone from the Product Data section of any Edit Product page of WooCommerce.

To better understand how WooClientZone Lite works, you may also want to read about the two types of Client Zones provided by the plugin.

WooClientZone Lite provides two types of communication areas (Client Zones):

1. User-linked Client Zones are associated with individual customers independently from any order they may place.

In the front end, these zones are accessed from the My Account > Communications link (note that the text Communications is configurable from the back end settings. See the relevant parameter).

In the back end, these zones are accessed from the WordPress standard Users menu, or from the WooCommerce > Reports > Customers > Customer List page.

2. Order-linked Client Zones are associated with orders placed by customers. You may configure the system to create a zone for each and every order placed, or just for those orders that include certain specific products.

Order-linked zones are accessed (front end) from the My Account > My Orders link, and (back end) from the WooCommerce > Orders menu item.

 

Main configuration of the plugin

To configure WooClientZone Lite, we refer to the plugin settings page, which is reached from the admin dashboard menu. Click on WooCommerce > Settings, and from the settings page click on the Client Zones tab. Alternatively, just click on Settings from the WooClientZone entry in the Plugins page.

From the plugin settings you have access to all its configuration options. The meaning of each parameter is explained in detail by hovering on the '?' sign next to its name. This section explores the configuration options which are most commonly used to define the behavior of WooClientZone Lite. For more advanced options, please refer to the Advanced section.

With reference to the two types of Client Zones, we can now proceed with the actual steps to configure the plugin, if you wish to modify its default settings.

Step 1: User-linked Client Zones (for each customer, independently from orders)

Tick the Select user-linked zones box is you wish to have Client Zones directly associated with customers, independently from any order they may place. These communications areas as useful to exchange information before an order is places, or for communications unrelated to any specific order.

Leave this box unticked if you are only interested in Client Zones associated to individual orders.

Step 2: Order-linked Client Zones

If you wish to create communication areas associated to orders placed by customers, ensure that the parameter Create order-linked zones is set to either for all orders or to only for orders containing specific products.

In the first case a Client Zone is created for each and every order placed by the customer, while in the second case only orders containing specific products will trigger the creation of a Client Zone.

To specify that a particular product should trigger a Client Zone when it is included in an order, you need to check the tick box named Use Client Zone from the Product Data section of any Edit Product page of WooCommerce. Note that External/Affiliate products may not be enabled for Client Zones. 

When both User-linked and Order-linked Client Zones are enabled, you may want to select the tickbox Automatically move a user-linked Client Zone to the next eligible order. This will ensure that any user-linked Client Zone communication is moved to the order-linked Client Zone of the next eligible order. This is useful if you would like conversations to continue seamlessly from before to after an order is placed by the customer.

Notice that, from the back end admin site, you may also decide to move communications across Client Zones manually at any time from each Client Zone page. This is achieved by acting on the relevant expandable section displayed to the right (or the top, on smaller devices) of the communications area of each Client Zone.
Step 3: Default access
Client Zones are used to exchange rich-text messages. However, from the Default access area of the back end settings, you may inhibit by default the ability of the customer to submit messages, leaving this option for the merchant only, in case of one-way communications.
 
Default access is specified separately for user-linked and order-linked zones, and will not affect the ability of the merchant to always be able to upload files and submit messages.
Step 4: Display options

In the lite version, this section includes the option to define the format used for the date and time of each individual comunication/bubble.

Advanced configuration of the plugin

To configure WooClientZone Lite to your precise specifications, we refer to the plugin settings page, which is reached from the admin dashboard menu. Click on WooCommerce > Settings, and from the settings page click on the Client Zones tab. Alternatively, just click on Settings from the WooClientZone entry in the Plugins page.

From the plugin settings you have access to all its configuration options. The meaning of each parameter is explained in detail by hovering on the '?' sign next to its name. This section explores some more advanced configuration options available within the plugin. To view the most commonly used parameters intead, please refer to the Configuration section.

With reference to the two types of Client Zones, we can now present some parameters which do not normally require changing from their default values.

File locations

WooClientZone Lite stores Client Zones with a flat-file architecture. Each individual comunication (a rich-text message) is stored as a file on the filesystem of your WordPress installation.

This is beneficial because the WordPress database never gets bloated with data. Also, administrators can very easily manage Client Zone areas. For example, by zipping a Client Zone folder, the communications are immediately archived, or files can be deleted manually from the server if needed.

Client Zones folders are not deleted when uninstalling the plugin, but due to their flat-file nature their existence won’t affect database performance, and they can be archived/removed by the system administrator when and if needed.

The parameter Files root folder defines the root folder for all client and merchant files of which a Client Zone is made of. It is defined starting from the "Site Address (URL)" in Wordpress General Settings, and it can include subfolders, such as in wooclientzone_repo/[subfolder].

Under the root, files are organised inside "User ID [user_id] / Common" folders for user-linked files, and inside "User ID [user_id] / Order ID [order_id]" folders for files of client zones embedded in orders.

Client notifications

Customers are never automatically notified via email of each new message or uploaded file that relates to one of their Client Zones. Instead, the merchant has the option to manually send an email when deemed appropriate.

This is achieved from the back end admin site. Each Client Zone has an expandable relevant section to the right (or the top, on smaller devices) of the communications area of each Client Zone. From there the merchant can send the email to the customer.

The email subject and text are defined globally by the back end configuration parameters under the Client notification section. Separate subject and email texts are configurable for user-linked and order-linked Client Zones.

When sending emails form the relevant section within a Client Zone, as described above, the merchant has the option to modify the default email text and subject before sending it.

Notice that the plugin provides for some placeholders keywords to be used within the email body text. These must be written in square brackets and are:

WooClientZone Lite helps the merchant decide if an email notification is appropriate, by displaying a red flag next to the Notify Client expandable section header, when it detects that the Client Zone contains communications which have not yet been seen by the customer.
Logging options

WooClientZone Lite implements the new logging class introduced in WooCommerce v.3.x. However, it seamlessly falls back to using the functionality of previous versions of WooCommerce.

The new logging system implemented by WooCommerce provides for different severity levels of the logging messages. WooClientZone allows the administrator to define a minimum level of severity for the messages to be logged by the plugin. The debugging level log messages are specified separately.

WooClientZone log messages are integrated with all the other WooCommerce logs, and may be inspected under the menu entry for WooCommerce > System Status > Logs, then selecting the 'wooclientzone-' log file from the dropdown menu.

Advanced options

Advanced options include the following parameter:

Check for new messages - specifies the frequency at which WooClientZone Lite polls the back end for new messages when displaying a Client Zone. You may leave the default value of 5 seconds. Reducing this frequency will result in less frequent calls made from the browser to the back end of your website, but will increase the time it takes for the merchant or the client to see newly created communications by the other party. This may not be important unless you require a more chat-like functionality, where the merchant and the client interact more promptly with each other.

Load a maximum of - [new in version 1.1] when viewing a Client Zone, the system will initially load the maximum number of communications specified by this parameter, then the same will be loaded at every click of the 'Load previous' link (which only appears if undisplayed communications exist).

My Account menu text - specifies the text displayed in the menu entry for Client Zones within the front end My Account area. This is useful if a different name is required depending on the theme you are using, the page settings or even your personal preference as a merchant.

My Account menu icon - in the ‘My Account’ front end page of WooCommerce, the icons next to each menu item depend on the specific theme you are using. The theme Storefront by WooCommerce, for example, displays a different icon for each entry. Leave this parameter checked to make WooClientZone display its own icon, too. However, if the theme you use shows the menu entries as a bulleted list, where each item has the same image, then uncheck this option to ensure that the WooClientZone entry is shown with the same icon your theme uses for all other menu entries.

Reset on activation - If checked, all settings will be removed from the database when deactivating the plugin (actual Client Zones will not be affected, although they may have to be 'repointed' if the 'Files root folder' was changed from its default value).

Using Client Zones from the front end

Client Zones are accessed from the My Account area provided by WooCommerce to registered customers/users. The menu link Communications (unless the default name has been changed in the back end) provides access to any user-linked Client Zone, while order-linked Client Zones (see Zone Types for more information on these two types of Client Zones) are accessible from any eligible order from the My Account > My Orders link.

Once within a Client Zone, the customer may (unless disabled from the back end) submit a new rich-text message (using the WordPress TinyMCE editor).

Should a customer have more than one Client Zone available (for example a user-linked zone and one or more order-linked ones), it is always possible to switch view from one to another Client Zone directly from the current zone, by selecting the appropriate zone from the dropdown menu located at the top right side of the Client Zone area.

Using Client Zones from the back end

Client Zones are accessed by the merchant from several areas of the back end admin site. The back end user must have a WP role of Administrator or a WooCommerce-defined capability of 'edit_shop_orders' to be able to operate on Client Zones;

User-linked Client Zones are viewable from the the WordPress standard Users menu, or from the WooCommerce > Reports > Customers > Customer List page, where they are available by clicking on the custom Client Zone action icon at the right of the default WooCommerce actions. User-linked zones are also accessible from the standard WordPress user edit page.

Order-linked Client Zones are viewable from the WooCommerce > Orders page, where they are available by clicking on the custom Client Zone action icon at the right of the default WooCommerce actions. Order-linked zones are also accessible from the WooCommerce order edit page.

Same as per the front side, the merchant can submit a new rich-text message (using the WordPress TinyMCE editor).

Merchant actions on Client Zones

When viewing a Client Zone, the merchant may perform actions related to that zone. In the area to the right (or the top for smaller devices) of the communications area, there are expandable sections to perform the following actions:

Notify Client - Send an email to the client, to alert about an unseen message or uploaded file. The email text and subjects may be changed just before sending it, and the default values are specified in the back end configuration;

Switch View - Navigate through Client Zones of the same customer. This action is only available if more than one Client Zone is present for the same customer.

Move this Client Zone - Manually move the communications within the current Client Zone to another Client Zone of the same customer. This action is only available if more than one Client Zone is present for the same customer (e.g. a personal user-linked Zone and one or more order-linked Zones). Notice that this action is only available if the current Client Zone contains some communications (files and/or messages).

Notifications dashboard widget for merchants

WooClientZone Lite includes a dashboard widget that provides immediate visibility and access to Client Zones within the entire system where communications are present that have not been yet seen by either party.

This is very useful for merchant to know which customers have sent new communications, which might require the merchant's input. It is also useful to let the merchant know which Client Zones have communications still unseen by customers, which might for example require email notification.

The following information is for developers interested in extending WooClientZone, or to develop WP plugins that hook directly to functionality provided by WooClientZone.

WooClientZone provides the followig hooks:

Action hooks
"wooclientzone_my_account_notifications_before" // Fired in the front end (My Account) page right before listing the Client Zones that have communications unseen by the customer
"wooclientzone_my_account_notifications_after" // Fired in the front end (My Account) page right after listing the Client Zones that have communications unseen by the customer
"wooclientzone_public_clientzone_before" // Fired in the front end right before a Client Zone
"wooclientzone_public_clientzone_after" // Fired in the front end right after a Client Zone
"wooclientzone_admin_clientzone_before" // Fired in the back end (admin site) right before a Client Zone
"wooclientzone_admin_clientzone_after" // Fired in the back end (admin site) right after a Client Zone
Filter hooks
"wooclientzone_settings" // To filter all the back end options by passing the settings array
"wooclientzone_new_clientzone_message" // To filter the message the client sees on a new (empty) Client Zone
"wooclientzone_clientzone_title_userlinked" // To filter the title of a user-linked Client Zone (the callback function is passed the title)
"wooclientzone_clientzone_title_orderlinked" // To filter the title of an order-linked Client Zone (the callback function is passed the title and the order ID)
"wooclientzone_clientzone_subtitle_userlinked" // To filter the subtitle of a user-linked Client Zone (the callback function is passed the title)
"wooclientzone_clientzone_subtitle_orderlinked" // To filter the subtitle of an order-linked Client Zone (the callback function is passed the title and the order ID)
"wooclientzone_order_edit_clientzone_link_public" // To filter the message the client sees in the front end order-edit page with a link to the relevant Client Zone. This is only available for those orders that have a linked Client Zone (the callback function is passed the message and a nonced url to the Client Zone linked to that order)
"wooclientzone_client_notification_email_to" // To filter the client email address where the notification is sent; this filter can be used to add extra email addresses (as a comma-separated list)

Changelog available on the WordPress listing.

WooClientZone Lite, which has been written and is maintained by Enrico Sandoli, would not have been possible without: