WooClientZone is a WordPress plugin, fully integrated with WooCommerce, to provide communication areas (Client Zones) where the client and the merchant can exchange files and messages, both before and after an order is placed.
WooClientZone is very flexible and may for example be configured to just allow communications either before or after an order is placed. It can also be configured to only allow exchange of rich-text messages (no files) or viceversa, with separate settings for Client Zones carrying communications before and after orders.
We recently developed a lite (free) version of the plugin, which is available from the official WordPress plugins repository. You can use the lite in place of the standard version if you do not require exchanging files, or if you would like to test the plugin before purchasing it (e.g. for compatibility with your configuration, or with other installed plugins). The lite version uses the same code base of the standard version.
WooClientZone ships with full documentation. The following is a description of the plugin.
Who is it forWooClientZone is built for businesses providing consultancy work and/or services, and more generally for those activities where strong interaction with the client (before or after an order is placed, or both) is part of the business model. Businesses from providers of legal or medical advice, to those creating custom graphics (from t-shirts to company logos) can greatly benefit from our WordPress plugin.
Client ZonesClient Zones are designed as chat-like communication areas, and mimic the look and feel of applications such as Whatsapp, which nowadays are a generally familiar environment. Client Zones are fully responsive, and look right on any device, from desktop to tablets and smartphones. They are also reactive, so clients can see a new message, or a posted file, pop up as they interact with the merchant (and vice versa).
Messages are written on the WordPress TinyMCE editor, thus allowing text to be easily formatted (to include links, for example). Files are uploaded by simple drag & drop (falling back to standard html upload when drag & drop is not available), and multiple file uploads are supported by default.
Client Zones may be associated to the customer before an order is placed, and/or they may be linked to individual orders.
The customer is then able to navigate though the Client Zones linked to their various orders (if order-linked Client Zones are enabled from the back end).
You may even specify that only orders containing specific products trigger the creation of a Client Zone. In fact, the plugin can be configured to automatically ensure that any conversation (files and messages) occurred before an order is placed will follow that order, once that is placed by the client.
NotificationsThe client may receive notifications of new communications via email, which are sent by the merchant from within the relevant Client Zone in the admin site. Emails are configured in the back end, but can be changed right before sending them from each Client Zone, and are sent in html format.
Within the My Account area of WooCommerce, clients can access all their Client Zones, and immediately see if new unseen communications are present.
Similarly, merchants are notified of any new unseen communication (messages and/or files unseen by either party) directly from the admin Dashboard, where WooClientZone defines its own widget. This is specifically designed for this purpose, and offers a direct link to any Client Zone containing unseen communications.
Flat files under the hoodClient Zones are built entirely in a flat-file architecture. This means that 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. Because WooClientZone does not use shortcodes to achieve its functionality, uninstalling it will keep the WordPress installation clean of any unused text codes. 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.
ExtensibleWooClientZone is built with extensibility in mind. The plugin’s codebase is commented to WordPress Documentation Standards.
Filter and action hooks are available to add functionality through plugins and themes, so any modification or extension is easily achieved.
SecureWooClientZone is programmed using the Plugin API and the recommended Coding Standards. It uses nonces throughout the code to secure internal links from unauthorised access.
Each File is stored with a prefix containing a timestamp as well as a random code, to make it as difficult as possible to guess a link to it from outside the application.
WooClientZone performs its logging within the WooCommerce logging system, and the administrator can set a minimum level of severity for the messages to be automatically logged. This avoids bloating the log file if the administrator is only interested in warning- to emergency-level messages, for example. WooClientZone uses the new logging class in forthcoming WooCommerce 3.x, but falls back to using the previous one if working alongside an earlier version.
Fully integrated with WooCommerceWooClientZone can be extensively customised from within its configuration page, which is integrated in the WooCommerce settings tabs. Client Zones can be configured to present message bubbles of different colours, in different positions, and even the upload progress bar colour can be specified without the need to modify any CSS file.
Client Zones are accessible from a number of WooCommerce standards pages, such as the order list and order edit pages in the front end, as well as from a number of pages in the back end.
Notice that WooClientZone requires customers to be logged in, so WooCommerce should ideally be configured to enable registration on the “My Account” page (unless you are only enabling Client Zones for after-purchase communications). The plugin will alert the administrator upon activation if this is required in any particular case. In general, however, Client Zones are only displayed to registered customers.
The following screenshots include comments to illustrate the functionality of the WooClientZone plugin, highlighting its integration with WooCommerce.
Version 1.0.3 – 1 June 2017 (published 3 June)
- WooClientZone now ready for translations; a POT file is included in the ‘languages’ subfolder, alongside PO/MO files of available translations (currently German);
- New German translation included (a big ‘thank you’ to Thomas Effendy);
- Security update to improve validation, sanitization and escaping of variables passed over the network;
- Restricted back end access: the user must have a WP role of Administrator or a WooCommerce-defined capability of ‘edit_shop_orders’;
- Modified client link to order-based Client Zones on ‘thank-you’ order summary page, which would break on WP installations with installed translations;
- Improved definition of rewrite rule to generate customer-facing Client Zones (did not work on certain installations);
- In Client Zones, all text bubbles are now left-aligned, to improve display of numbered/un-numbered lists;
- Other minor fixes.
Version 1.0.2 – 19 May 2017
- Improved Ajax polling functionality, to avoid overlapping requests, which might in certain cases collide causing error notices;
- Added new filter hook ‘wooclientzone_client_notification_email_to’ to enable (for example) sending client notification emails to a range of addresses;
- Added direct links to Settings and Docs from the WooClientZone listing in the Plugins page;
- Other minor fixes.
Version 1.0.1 – 10 May 2017 (published 11 May)
- Fixed error with public Client Zones not loading (error code 1) on some platforms;
- Message editor and file dropzone are now open by default (thanks Alexander Kucenkov for suggesting this);
- Now custom client permissions can be set even on a new (empty) Client Zone;
- Admin action box for moving a Client Zone is now only displayed if that Zone is not empty;
- Other minor fixes.