Personal tools
Namespaces

Variants
Actions

Hosting Quota Notifications 1.X For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
<meta name="keywords" content="product linker for whmcs, product linker configuration, whmcs product linker management, whmcs product linker installation, whmcs product linker common problems, about whmcs product linker, whmcs product linker documentation, whmcs product linker faq, whmcs product linker help, whmcs product linker guide, whmcs product linker wiki, whmcs product linker tutorial, whmcs product linker tips, whmcs product linker wiki"></meta>
+
<meta name="keywords" content="client area designer for whmcs, client area designer configuration, whmcs client area designer management, whmcs client area designer installation, whmcs client area designer common problems, about whmcs client area designer, whmcs client client area designer documentation, whmcs client area designer faq, whmcs client area designer help, whmcs client area designer guide, whmcs client area designer wiki, whmcs client area designer tutorial, whmcs client area designer tips, whmcs client area designer wiki"></meta>
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Product Linker For WHMCS Module."></meta>
+
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Client Area Designer For WHMCS Module."></meta>
  
=About [https://www.modulesgarden.com/products/whmcs/product-linker Product Linker For WHMCS]=
+
=About [http://www.modulesgarden.com/products/whmcs/client_area_designer/features Client Area Designer For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 5px 0px;"|'''Product Linker For WHMCS''' allows you to create relations between your products, addons and configurable options. <br/>
+
|style="padding: 10px 0px 10px 0px;"|'''Client Area Designer For WHMCS''' is a module that allows administrators to manage their client area final view.<br/>
Consequently, clients may buy products in bundles along with flexible promo codes.<br />
+
Change the order of displayed elements, add new ones or hide them if you do not want your clients to access them.<br/>
Module will also allow you to view, filter and delete existing connections used by your customers.
+
Additionally, you may create new widgets and set up restrictions rules to show the widget to selected clients only.
 
|}
 
|}
<!--fix by comment, awesome-->
+
<!-- fixed -->
*'''Automation Features:'''
+
*'''Module Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Handle Dependencies Between Module Actions - Each Create/Terminate/Suspend/Unsuspend Action Called On Main Product Triggers Such Action On Child Products
+
|style="padding: 10px 0px 0px 30px;"|✔ Customize Your Client Area By Modifying:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Enable Product Updates With Automatic Email Notifications Sent To Administrators
+
|style="padding: 0px 0px 0px 45px;"|✔ Navbar Elements
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Copy Configurable Options From Parent To Child Product
+
|style="padding: 0px 0px 0px 45px;"|✔ Sidebar Elements
 
|}
 
|}
*'''Admin Area Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Define Relations Between Chosen Product, Addons, Configurable Options And Linked Products
+
|style="padding: 0px 0px 0px 45px;"|✔ Homepage Widgets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Define If Addon Price Should Be Switched With Linked Product Price
+
|style="padding: 0px 0px 0px 30px;"|✔ Add Your Own Elements And Widgets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Assign Custom Promo Codes To Relations
+
|style="padding: 0px 0px 0px 30px;"|✔ Scan Your Client Area In Search Of Custom Elements And Widgets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View, Filter And Delete Existing Connections
+
|style="padding: 0px 0px 10px 30px;"|✔ View And Modify List Of Known Locations In Your Client Area
 
|}
 
|}
 +
*'''Navbar Element Features:'''
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ View Error Logs
+
|style="padding: 10px 0px 0px 30px;"|✔ Define Name
 
|}
 
|}
*'''Client Area Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Buy Multiple Products, Addons And Configurable Options By Ordering At Least One Of Them
+
|style="padding: 0px 0px 0px 30px;"|✔ Define URI
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Icon
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ View Linked Product Added To Order By Triggering Relation
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Display Rules:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Client Owns Domain
 
|}
 
|}
 
*'''General Info:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Integrated With <u>cPanel Manage2 For WHMCS</u> - Easy Reselling Of cPanel Licenses [http://www.modulesgarden.com/products/whmcs/cpanel_manage2/features (read more)]
+
|style="padding: 0px 0px 0px 45px;"|✔ Client Owns Product
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>DirectAdmin Licenses For WHMCS</u> - Easy DirectAdmin Licenses Reselling [http://www.modulesgarden.com/products/whmcs/directadmin_licenses/features (read more)]
+
|style="padding: 0px 0px 0px 45px;"|✔ Client Is In Location
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Odin Key Administrator For WHMCS</u> - Easy Odin Licenses Reselling [http://www.modulesgarden.com/products/whmcs/odin_key_administrator/features (read more)]
+
|style="padding: 0px 0px 10px 30px;"|✔ Add Multiple Links To Element
 
|}
 
|}
 +
 +
*'''Sidebar Element Features:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support
+
|style="padding: 10px 0px 0px 30px;"|✔ Define Name
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.3 Up To PHP 7
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Icon
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Display Rules:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V6 and V7
+
|style="padding: 0px 0px 0px 45px;"|✔ Client Owns Domain
 
|}
 
|}
 
=Installation=
 
 
{|
 
{|
|style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install Product Linker For WHMCS.''' <br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Client Owns Product
We will guide you step by step through the whole installation and configuration process. <br />
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 20px 0px 20px 15px;"|'''1. Log in to your client area and download the module.'''
+
|style="padding: 0px 0px 0px 45px;"|✔ Client Is In Location
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL1.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose One Feature Per Element:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.3 up to PHP 5.6.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 0px 0px 0px 30px;"|✔ Add Multiple Links To Element
'' '''Note''': You can check current PHP version in your WHMCS. To do so proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2.png]]
+
|style="padding: 0px 0px 10px 30px;"|✔ Define Custom Body And Footer Content - Support HTML, CSS And JavaScript
 
|}
 
|}
 +
 +
*'''Homepage Widget Features:'''
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.'''<br />
+
|style="padding: 10px 0px 0px 30px;"|✔ Define Name
The content of PHP version files should look like this.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:gfhdr.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Icon
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Style Color
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Product Linker For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Widget Button
File is located in '' 'modules/addons/productlinker/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL3.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Choose One Feature Per Widget:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' file.' '' '''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Add Multiple Links To Element
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area → '' 'My Products'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL4.png]]
+
|style="padding: 0px 0px 10px 45px;"|✔ Define Custom Body And Footer Content - Support HTML, CSS And JavaScript
 
|}
 
|}
 +
*'''General Info:'''
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system.'''<br />
+
|style="padding: 10px 0px 0px 30px;"|✔ Multi-Language Support
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules'. '' Afterwards, find '' 'Product Linker' '' and press '' 'Activate' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_5.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.3 Up To PHP 7
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V6 and V7
To do so, click on '' 'Configure' '' button, select administrator groups which should have access to this addon and press '' 'Save Changes'. ''
+
 
|}
 
|}
 +
 +
=Installation=
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_6.png]]
+
|style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install and configure Client Area Designer For WHMCS.''' <br/>
 +
We will guide you step by step through the whole installation and configuration process.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. To enable logs from failed actions, go to '' 'Utilities' '' → '' 'Logs' '' → '' 'Module Log'. '' '''<br />
+
|style="padding: 20px 0px 20px 15px;"|'''1. Log in to your client area and download Client Area Designer For WHMCS.'''
There, press '' 'Enable Debug Logging'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_7.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''9. You have just successfully installed Product Linker For WHMCS!'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''2. Upload and extract the module into the main WHMCS directory.'''<br/>
You can access your module at '' 'Addons' '' → '' 'Product Linker'. ''
+
Files in your WHMCS directory should look like on the following screen.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_8.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_2.png]]
 
|}
 
|}
 
=Configuration and Management=
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''Product Linker For WHMCS allows to sell bundles of products through ordering one product with specific product addons and configurable options.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''3. When you install Client Area Designer for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br/>
It also automatically forwards basic commands from the main product to all child products.<br />
+
File is located in '' 'modules/addons/ClientAreaDesigner/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
You can define relation between products through product addon or configurable option. You will find more information about it in '' 'Add Relation' '' section.<br />
+
 
|}
 
|}
==Basic Relations==
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|At '' 'Basic Relations' '' tab you can define links between products through product addons and configurable options.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_3.png]]
They will be triggered as soon as your client makes an order for product with product addon/configurable option chosen at the relation.<br />
+
Additionally, you can define a promo code added to the order by triggering the relation.
+
 
|}
 
|}
===Add Relation===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|To add a new relation, go to '' 'Product Linker' '' '' 'Basic Relations'. ''<br /> Now, select relation type from '' 'Type' '' dropdown menu, you can choose between relation triggered by product addon or configurable option.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit the previously renamed '' 'license.php' file.'''''<br/>
''Note: For '' 'Addon' '' type there is also '' 'Swap Price' '' option available. If you select it, the price of the linked hosting/product will be overwritten with the addon price.''
+
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area → '' 'My Products'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_9.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_4.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Next, select product addon or configurable option name from '' 'Product Addon/Configurable Option' '' dropdown menu.<br />
+
|style="padding: 0px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system. '''<br/>
If you have chosen '' 'Configurable option' '' relation type, additionally you have to select a configurable option value.
+
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules'. '' Afterwards, find '' 'Client Area Designer' '' and press '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_10.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_5.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Finish through selecting child product which will be linked after triggering the relation.<br />
+
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step you need to permit access to this module.'''<br/>
Choose a promo code that will be added to the order and save relation through pressing '' 'Add Relation' '' button.<br />
+
To do so, click on '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes'. ''
''Note: Only one promo code can be assigned to the order, you can specify the assignment of promo code at the '' 'Settings' '' page.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_11.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_6.png]]
 
|}
 
|}
 
===Edit Relation===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Editing relations is quite easy, go to '' 'Basic Relations' '' tab and start making changes.<br />
+
|style="padding: 0px 0px 15px 15px;"|'''7. You have just successfully installed Client Area Designer For WHMCS!'''<br/>
You can alter one relation or multiple relations simultaneously, the only difference is button used to save changes.<br />
+
You can access your module under '' 'Addons' '' '' 'Client Area Designer'.''
If you are making changes in only one relation, press '' 'Save Changes' '' button next to it, otherwise use '' 'Save Changes' '' at the bottom of the page (pointed with a green arrow).
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_12.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_7.png]]
 
|}
 
|}
  
==Product Relations==
+
=Configuration and Management=
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At '' 'Product Relations' '' tab you can set up relation linking one product with another.<br />
+
|style="padding: 10px 0px 30px 15px;"|'''Client Area Designer For WHMCS is a module which allows you to adjust the layout of any panels available on your client area as well as add new widgets.'''<br/>
To create a new configuration simply choose product which will trigger relation from '' 'Product' '' dropdown menu. Next, select product which will be added from '' 'Linked Product' ''<br /> dropdown menu.
+
The module does not require highly advanced configuration.<br/>That is why we will immediately move to the most crucial aspect, which is customizing the panels layout.
Optionally, assign promo code and enable configurable option copying (if possible). Press '' 'Add Relation' '' to save relation.
+
 
|}
 
|}
 +
 +
==Panels==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_12_1.png]]
+
|style="padding: 10px 0px 30px 15px;"|Under '' 'Panels' '' tab you will find three sections dedicated to the visibility of different types of panels in your client area.
 +
*Navbars - Management of positions available on the navigation bar in your client area
 +
*Sidebars - Management of panels available on the left sidebar in your client area
 +
*Homepage Widgets - Modify and create new widgets available on your home page
 
|}
 
|}
 +
===Navbars===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Our module allows you to enable copying parent's product configurable options to the child product upon ordering them.<br />
+
|style="padding: 10px 0px 15px 15px;"|On the first sight you will see two tables, each related to Primary Navbar Left or Right side.<br/>
To enable copying, mark checkbox next to configurable options and press '' 'Save Changes' '' as shown on the screen below.<br />
+
There are already all the predefined sections outlined with their official names and positions.<br/>
''Note: You can enable configurable option copying only if configurable option is assigned to both products.''
+
''Info:
 +
If you already see that you have more elements than it is visible in the addon, then use '' 'Scanner' '' to search for them.<br/> Read more about scanning option [http://www.docs.modulesgarden.com/Client_Area_Designer_For_WHMCS#Scanner here].''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_12_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_8.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Those are the below navbar panels visible in the client area.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_9.png]]
 
|}
 
|}
 
==Existing Connections==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'' 'Existing Connections' '' tab allows you to view the list of all products ordered by your clients for which relations exist.<br />
+
|style="padding: 0px 0px 15px 15px;"|First of all, you may change the position of the elements.<br/>
You can find all information about the relation, like main product, linked product, their owner or domain used by both products.<br />
+
Drag one panel and drop it in the required place.
You can quickly move to the customer or any of their products by simply clicking on client/product name.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_10.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Module also allows you to order records on the list by selected column through pressing on its headline.<br />
+
|style="padding: 0px 0px 15px 15px;"|Use action buttons to:
For example, to order by client name, press on '' 'Client Name' '' column header as shown on the following screen.
+
*edit the section
 +
*delete '''(only custom elements)'''
 +
*view child elements
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_14.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_11.png]]
 
|}
 
|}
 +
====Edit Element====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You can use filters to display only specific records.<br />
+
|style="padding: 10px 0px 15px 15px;"|When you are editing an existing parent element, you may:
To open filters form, press '' 'Toggle Filters'. ''
+
*provide a new display name
 +
*add icon
 +
*hide the element
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_12.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You are able to set up filtering by client name, both main and linked products and domain.<br />
+
|style="padding: 0px 0px 15px 15px;"|You may also provide some display rules, only clients who fulfill the rules will see the element.<br/>
When you select values you desire, click '' 'Filter Results' '' button (red arrow).<br />
+
If you leave this part empty, the element will be visible for all clients without limitations.
If you decide to clear filters you have set up earlier, open filters form and press '' 'Clear Filter' '' (green arrow).
+
*select domains a client must own
 +
*point product that must be owned
 +
*location a client must enter<br/>
 +
Do not forget to save the changes when ready.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_16.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_13.png]]
 
|}
 
|}
  
==Module Logs==
+
====New Parent Element====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|If there was any trouble with linked products, information about error will be displayed at '' 'Module Logs' '' page.<br />
+
|style="padding: 10px 0px 15px 15px;"|It is possible add a completely new parent element either on left or right side.<br/>Press '' 'Add'.''  
Error message can be found at '' 'Clean Response' '' and '' 'Parsed Response' '' column.<br />
+
To locate products for which error occurred, you can use data at '' 'Request Parameters' '' column.<br />
+
For example, '' '[accountid]' '' and '' '[domain]' '' should be enough to quickly localize products.<br />
+
''Note: Module also checks if the module log is turned on and provides a link to it.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_17.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_14.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|You can look for the product with details you found in the previous step, but a way faster method is to use a link.<br />
+
|style="padding: 0px 0px 15px 15px;"|Then you will have to fill out all the general info, content and display rules.<br/>
All you have to do is enter value of '' '[accountid]' '' in place of account_id in the link below.<br />
+
Start with '' 'General'.'' Provide:
your_whmcs/admin/clientsservices.php?id=account_id<br />
+
*name visible for clients
To confirm if you are looking at right product, check if domain in the product matches domain you found in the error log.
+
*unique for the system identifier
 +
*URI
 +
*select icon from available
 +
*finally select '' 'Display' '' to make the panel visible
 
|}
 
|}
 
==Settings==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In '' 'Settings' '' section you may manage the promo codes assignment to linked products and add some information to the order form.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_15.png]]
Due to assignment of promo codes to the relation, it may happen that multiple promo codes will be assigned to one order form. WHMCS doesn't support such actions, <br/>therefore only one promo code has to be chosen.<br />
+
1. '' 'Highest Discount Available' '' - if checked, a promo code giving the highest discount to your clients will be chosen at the order form.<br />
+
2. '' 'Discount Limit' '' - if '' 'Highest Discount Available' '' is disabled, a promo code giving the closest discount to the value provided will be chosen.<br />
+
Discount has to be greater than the value provided.<br />
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_17_1.png]]
+
|style="padding: 0px 0px 15px 15px;"|If you want only some of the clients to see the panel, then set up the '' 'Display Rules'.''<br/>
 +
In our case we have decided to select products a client must own to get access to '' 'Support Chat'.''<br/>
 +
Save the changes in the end.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|3. Display Product Info - if this option is selected in '' 'Settings' '' section, there is information visible on the linked product on the order form.
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_16.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_17_2.png]]
+
|style="padding: 0px 0px 20px 15px;"|This is how our new panel looks like in the client area:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_17.png]]
 
|}
 
|}
  
==Exemplary Connections==
+
====New Child Element====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At '' 'Exemplary Connections' '' section we will show you how to set up relations between specific products.<br />
+
|style="padding: 10px 0px 20px 15px;"|Let's now add one more element to the already existing '' 'Support' '' panel.
One of the many possibilities is connecting [http://www.docs.modulesgarden.com/CPanel_Manage2_For_WHMCS cPanel Manage2 For WHMCS], [http://www.docs.modulesgarden.com/DirectAdmin_Licenses_For_WHMCS DirectAdmin Licenses For WHMCS] and [http://www.docs.modulesgarden.com/Odin_Key_Administrator_For_WHMCS Odin Key Administrator For WHMCS] with other products.<br />
+
This will allow you to automatically provision ready to use licenses for clients once they order a product of your choice, e.g. a VPS server.<br />
+
''Note: Before following any of exemplary configurations below, make sure that both products you will be using in the configuration are set up correctly.''<br />
+
''Additionally, product linked to the main product should be set to hidden and free. You will be able to set its price at the product addon.''
+
 
|}
 
|}
===cPanel Extended + cPanel Manage2===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In these steps we will show you how to link cPanel Manage2 with cPanel Extended through the product addon.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_18.png]]
''Note: You can also link them using configurable options.''<br />
+
1. Start from creating '' 'IP' '' custom field at the main product visible on order form.<br />
+
To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your cPanel Extended product.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_18.png]]
+
|style="padding: 0px 0px 15px 15px;"|You have to fill out the same data as in case of parent element:<br/>
 +
*name
 +
*identifier
 +
*URI
 +
*icon
 +
*finally select '' 'Display' '' to make it visible<br/>
 +
This time we want all the clients to have access to our FAQ site, so we do no set any '' 'Display Rules'. ''
 
|}
 
|}
 
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_19.png]]
Confirm changes through pressing '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_19.png]]
+
|style="padding: 0px 0px 20px 15px;"|As a custom element, you may delete it completely or edit.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|3. It is time to create a product addon which will trigger the relation.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_20.png]]
Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_20.png]]
+
|style="padding: 0px 0px 20px 15px;"|Let's take a look at the new position in the client area:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price. Choose billing cycle from '' 'Billing Cycle' '' dropdown menu.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_21.png]]
It is advised to set up the same billing cycle as in the main product. Additionally, you have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product.<br/> In this example it will be '' 'cPanel - cPanel Extended'. ''<br />
+
Next, press '' 'Save Changes'. ''
+
 
|}
 
|}
 +
 +
===Sidebar Panels===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_21.png]]
+
|style="padding: 10px 0px 15px 15px;"|Sidebar panels section refers to the elements located on the left side of your client area.<br/>
 +
Generally, management of sidebars is very similar to the Navbar panels described in the previous section.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|5. Now, create relation at your '' 'Product Linker' '' → '' 'Basic Relations'. ''
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_24.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_22.png]]
+
|style="padding: 0px 0px 15px 15px;"|Available actions:
 +
*change positioning by dragging and dropping the element in required place
 +
*edit the section - change name, icon, content (if possible) and display rules
 +
*delete elements - this option is available for custom entries only
 +
*view child elements
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_23.png]]
Do not forget to type the domain and IP address. Afterwards, press '' 'Submit Order'. ''
+
 
|}
 
|}
 +
 +
====Edit Element====
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_23.png]]
+
|style="padding: 10px 0px 15px 15px;"|'''General''' section:
 +
*provide a new display name
 +
*add icon
 +
*hide the element
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Select '' 'Run Module Create' '' and press '' 'Accept Order'. ''
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_25.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_24.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''Content:'''
 +
*change the Body or Footer content.<br/>
 +
Note that it is possible only if the element has no child elements.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the addon.
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_26.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_25.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''Display rules''' - only clients who fulfill the rules will see the element.<br/>
 +
If you leave this part empty, the element will be visible for all clients without limitations.
 +
Do not forget to save the changes when ready.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_27.png]]
 
|}
 
|}
  
===DirectAdmin Extended + DirectAdmin Licenses===
+
====New Parent Element====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In these steps we will show you linking DirectAdmin Licenses to DirectAdmin Extended through product addon.<br />
+
|style="padding: 10px 0px 15px 15px;"|You may add a completely new parent element either on left or right side.<br/>Press '' 'Add'.''  
''Note: You can also link them using configurable options.''<br />
+
1. Start by creating '' 'IP' '' custom field at the main product visible on order form.<br />
+
To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your DirectAdmin Extended product.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_26.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_28.png]]
 
|}
 
|}
 
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br />
+
|style="padding: 0px 0px 15px 15px;"|Then you will have to fill out all the general info, content and display rules.<br/>
Confirm changes through pressing '' 'Save Changes'. ''
+
Start with '' 'General'.'' Provide:
 +
*name visible for clients
 +
*unique for the system identifier
 +
*select icon from available
 +
*finally select '' 'Display' '' to make the panel visible
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_27.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_29.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|3. It is time to create a product addon which will trigger the relation.<br />
+
|style="padding: 0px 0px 15px 15px;"|Define Body and Footer content.<br/>
Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. ''
+
Note that if you provide the content here, you will not be able to add child elements to this item.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_28.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_30.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price. Choose a billing cycle from '' 'Billing Cycle' '' dropdown menu.<br />
+
|style="padding: 0px 0px 15px 15px;"|If you want only some of the clients to see the panel, then set up the '' 'Display Rules'.''<br/>
It is advised to set up the same billing cycle as in the main product. You also have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product.<br />
+
Save the changes in the end.
In this example it will be '' 'DirectAdmin - DirectAdmin Extended'. ''<br />
+
Next, press '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_29.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_31.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|5. Now, create a relation at your '' 'Product Linker' '' → '' 'Basic Relations'. ''<br/> Note that '' 'Swap Price' '' option has been also marked here. Consequently, the price for the addon will be changed with the price for the linked product/hosting.
+
|style="padding: 0px 0px 20px 15px;"|This is how our new panel looks like in the client area:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_30.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_32.png]]
 
|}
 
|}
 +
 +
====New Child Element====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br />
+
|style="padding: 10px 0px 20px 15px;"|Let's now add one child element to client's '' 'Shortcuts'.''
Do not forget to type in the domain and IP address. Afterwards, press '' 'Submit Order'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_31.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_33.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Select '' 'Run Module Create' '' and press '' 'Accept Order'. ''
+
|style="padding: 0px 0px 15px 15px;"|Fill out all the required data to crate a correct link:<br/>
 +
*name
 +
*identifier
 +
*URI
 +
*icon
 +
*select '' 'Display' ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_32.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_34.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon.
+
|style="padding: 0px 0px 20px 15px;"|Any custom element can be deleted. In contrast to the default ones which may be only edited and hidden.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_33.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_35.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Now, you see an additional link under '' 'Shortcuts'.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_36.png]]
 
|}
 
|}
  
===Virtuozzo VPS + Odin Key Administrator===
+
===Homepage Widgets===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In these steps we will show you how to link Odin Key Administrator with Virtuozzo VPS through a product addon.<br />
+
|style="padding: 10px 0px 15px 15px;"|The last type of panels are homepage widgets.<br/>
It is required to set a key type in your '' 'Odin Key Administrator' → 'Module Settings' '' to '' 'VIRTUOZZO'. ''<br />
+
Available actions:
Only in this way a linked product will create a license for Virtuozzo VPS product.<br />
+
*change positioning by dragging and dropping the elements in required place
''Note 1: You can also link these products using configurable options.''<br />
+
*edit the widget
''Note 2: In order to create a license successfully, you have to select at least one feature from a dropdown menu.''
+
*view child elements if there are any
 +
*delete custom widgets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_34.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_37.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|1. Start by creating '' 'IP' '' custom field at the main product which will be visible on the order form.<br />
+
|style="padding: 0px 0px 20px 15px;"|To visualize, these are the client area widgets we are going to alter in a moment:
To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your VirtuozzoVPS product.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_35.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_38.png]]
 
|}
 
|}
 +
 +
====Edit widget====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br />
+
|style="padding: 10px 0px 15px 15px;"|'''General:'''
Additionally, you can enter a description of this custom field and set up field validation (it is one line validation, do not split it into two lines):<br />
+
*provide a new display name
/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)<br />
+
*change icon
\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/<br />
+
*hide the element
Confirm changes through pressing '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_36.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_39.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|3. It is time to create a product addon which will trigger the relation.<br/>
+
|style="padding: 0px 0px 15px 15px;"|Under '' 'Content' '' section you can overwrite the default text.<br/>
Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. ''
+
We will leave it empty as we do not want to change the content, just the look and feel of the widget.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_37.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_39_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price.<br />
+
|style="padding: 0px 0px 15px 15px;"|'''Extras''' - here you can change the visual parts:
Choose billing cycle from '' 'Billing Cycle' '' dropdown menu. It is advised to set up the same billing cycle as in the main product.<br />
+
*widget color
Additionally, you have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product. In this example it will be '' 'Odin Group - VirtuozzoVPS'. ''<br />
+
*button name, URI and icon
Next, press '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_38.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_40.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|5. Now, create a relation at your '' 'Product Linker' '' → '' 'Basic Relations'. ''
+
|style="padding: 0px 0px 20px 15px;"|That is how our adjusted widget looks like now:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_39.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_41.png]]
 
|}
 
|}
 +
====Add New Widget====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br />
+
|style="padding: 10px 0px 15px 15px;"|For presentation purposes we will create now a completely new widget.<br/>It will include a button redirection to our Knowledgebase and two links to FAQ and Upload Files form.<br/>
Do not forget to type IP address. Afterwards, press '' 'Submit Order'. ''
+
To start, simply press '' 'Add' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_40.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_42.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Select '' 'Run Module Create' '' and press '' 'Accept Order'. ''
+
|style="padding: 0px 0px 15px 15px;"|Then fill out all the general info, content and extras.<br/>
 +
Start with '' 'General','' provide:
 +
*widget name
 +
*unique for the system identifier
 +
*select icon from available
 +
*finally select '' 'Display' '' to make the panel visible
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_41.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_43.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon.
+
|style="padding: 0px 0px 15px 15px;"|As we are going to add two links inside the widget, so we have to skip this section.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_42.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_44.png]]
 
|}
 
|}
 
===Plesk Extended + Odin Key Administrator===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In these steps we will show you how to link Odin Key Administrator with Plesk Extended through a product addon.<br />
+
|style="padding: 0px 0px 15px 15px;"|Finally, customize your widget by defining color and button details.
There are a few key types in your Odin Key Administrator that are licenses for Plesk Extended.<br />
+
Save the changes in the end.
In this example we will use '' 'PLESK_10_AND_LATER' '' key type.<br />
+
''Note 1: You can also link these products using configurable options.''<br />
+
''Note 2: In order to create a license successfully, you have to select at least one feature from a dropdown menu.''<br />
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_43.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_45.png]]
 
|}
 
|}
 +
 +
====New Child Widget====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|1. Start by creating '' 'IP' '' custom field at the main product which will be visible on the order form.<br />
+
|style="padding: 10px 0px 15px 15px;"|Let's now add a child element to the just created '' 'Knowledgebase'.''
Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your Plesk Extended product.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_44.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_46.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br />
+
|style="padding: 0px 0px 15px 15px;"|Fill out the required data:<br/>
Additionally, you can enter a description of this custom field and set up field validation (it is one line validation, do not split it into two lines):<br />
+
*name
/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)<br />
+
*identifier
\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/<br />
+
*URI
Confirm changes through pressing '' 'Save Changes'. ''
+
*icon
 +
*select '' 'Display' ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_45.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_47.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|3. It is time to create a product addon which will trigger the relation.<br />
+
|style="padding: 0px 0px 15px 15px;"|As you can see, we added two new entries under '' 'Knowledgebase' '' widget.<br/>
Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. ''
+
Surely, you can edit each one of them or delete.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_46.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_48.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price.<br />
+
|style="padding: 0px 0px 20px 15px;"|Here is a final view of our customized client area with new elements:
Choose billing cycle from '' 'Billing Cycle' '' dropdown menu. It is advised to set up the same billing cycle as in the main product.<br />
+
You also have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product. In this example it will be '' 'Odin Group - Plesk Extended'. ''<br />
+
Next, press '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_47.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_49.png]]
 
|}
 
|}
 +
 +
==Locations==
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|5. Now, create a relation at your '' 'Product Linker' '' '' 'Basic Relations'. ''
+
|style="padding: 10px 0px 15px 15px;"|In this you will find an extended list of all standard locations in your client area with its common name and URI.<br/>
 +
These locations are searched through by the module scanner in search of custom panels and are available in '' 'Locations' '' field when setting up '' 'Display Rules'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_48.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_50.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the addon triggering the relation.<br />
+
|style="padding: 0px 0px 20px 15px;"|Press button with pencil icon next to location you are interested in to edit it.
Do not forget to type IP address. Afterwards, press '' 'Submit Order'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_49.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_51.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Select '' 'Run Module Create' '' and press '' 'Accept Order'. ''
+
|style="padding: 0px 0px 20px 15px;"|There you can edit the name of existing location and its URI.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_50.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_52.png]]
 
|}
 
|}
 +
===New Location===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon.
+
|style="padding: 10px 0px 15px 15px;"|You may also add new if you have some custom locations and you wish to use them in our module.<br/>
 +
Please note that your locations must be manageable by WHMCS.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_51.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_53.png]]
 
|}
 
|}
==Client Area==
 
 
{|
 
{|
|style="padding: 10px 0px 5px 15px;"|At this section we will try to visualize how a client may benefit from the connections made between certain products.<br/>
+
|style="padding: 0px 0px 15px 15px;"|Provide location name and URI.<br/>
Let's take a look at an exemplary situation.
+
When ready, your new location will be from now on used by Client Area Designer module.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Administrator has created a connection between a VPS product: '''VPS 2x2.4GHz 16 GB RAM, 1TB HDD'''<br/>
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_54.png]]
and allowed to purchase two addons along with it:<br/>
+
- cPanel License<br/>
+
- Direct Admin License<br/>
+
Our Test Tester client decided to add cPanel License to the cart next to the VPS product.<br/>
+
Thanks to the connection created in Product Linker addon, the final price is lower than as if the two items were ordered separately.
+
 
|}
 
|}
 +
 +
==Scanner==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PL2_52.png]]
+
|style="padding: 10px 0px 15px 15px;"|Scanner is a tool that allows our module to carefully browse through a chosen client's client area in search of any elements in known locations.<br/>
 +
Select a client to log in as one and run the scanner.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|When items are activated, client may see their pricing on the products list.
+
|style="padding: 0px 0px 20px 25px;"|[[File:CAD_59.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_53.png]]
+
|style="padding: 0px 0px 15px 15px;"|You will see a preview of all locations. When the scan is finished, you will see a summary with the number of found panels.<br/> All newly found elements will be automatically added to proper positions in the addon.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_60.png]]
 
|}
 
|}
  
=Tips=
+
==Documentation==
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|1. If your client orders a product with settings triggering two relations with the same product, only one product will be created.
+
|style="padding: 10px 0px 20px 15px;"|The last position in your navigation menu, when pressed, redirects to the article you are currently reading.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|2. If your client orders product configurable options upgrade/downgrade, old linked product bound by previous configurable option will stay active.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:CAD_55.png]]
:You need to remove the link between an old linked product and a main product in an addon, and terminate old linked product manually.
+
 
|}
 
|}
 +
 +
=Tips=
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|3. If a child product is at the same time a parent product in the other relation, changes made on its parent will be also commanded on its child.''
+
|style="padding: 10px 0px 5px 15px;"|1. When you area adding new element into your client area, you may add the langs used in the lang file to allow translations and changes.<br/>
 +
To do so:<br/>
 +
*open your english.php file
 +
*type in a new line in format:
 +
$_LANG['element name'] = 'Element Name';
 +
*to change/translate it simply, change the content after the '' '=' '' sign.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|4. Keep in mind that the second product, linked by the module, is never visible in the cart. It is automatically added once the first one is activated.
+
|style="padding: 0px 0px 30px 15px;"|2. Client Area Designer module supports only WHMCS template Six and any custom documentation that is based on this template and has been customized according to this  [https://developers.whmcs.com/themes/ documentation].
 
|}
 
|}
  
 
=Common Problems=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
 
|}
 
|}
 +
<!--
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|
+
|style="padding: 0px 0px 10px 15px;"|2.
 
|}
 
|}
 +
 +
-->

Revision as of 10:47, 7 June 2017

Contents

About Client Area Designer For WHMCS

Client Area Designer For WHMCS is a module that allows administrators to manage their client area final view.

Change the order of displayed elements, add new ones or hide them if you do not want your clients to access them.
Additionally, you may create new widgets and set up restrictions rules to show the widget to selected clients only.

  • Module Features:
✔ Customize Your Client Area By Modifying:
✔ Navbar Elements
✔ Sidebar Elements
✔ Homepage Widgets
✔ Add Your Own Elements And Widgets
✔ Scan Your Client Area In Search Of Custom Elements And Widgets
✔ View And Modify List Of Known Locations In Your Client Area
  • Navbar Element Features:
✔ Define Name
✔ Define URI
✔ Define Icon
✔ Define Display Rules:
✔ Client Owns Domain
✔ Client Owns Product
✔ Client Is In Location
✔ Add Multiple Links To Element
  • Sidebar Element Features:
✔ Define Name
✔ Define Icon
✔ Define Display Rules:
✔ Client Owns Domain
✔ Client Owns Product
✔ Client Is In Location
✔ Choose One Feature Per Element:
✔ Add Multiple Links To Element
✔ Define Custom Body And Footer Content - Support HTML, CSS And JavaScript
  • Homepage Widget Features:
✔ Define Name
✔ Define Icon
✔ Define Style Color
✔ Define Widget Button
✔ Choose One Feature Per Widget:
✔ Add Multiple Links To Element
✔ Define Custom Body And Footer Content - Support HTML, CSS And JavaScript
  • General Info:
✔ Multi-Language Support
✔ Supports PHP 5.3 Up To PHP 7
✔ Supports WHMCS V6 and V7

Installation

This tutorial will show you how to successfully install and configure Client Area Designer For WHMCS.

We will guide you step by step through the whole installation and configuration process.

1. Log in to your client area and download Client Area Designer For WHMCS.
CAD 1.png
2. Upload and extract the module into the main WHMCS directory.

Files in your WHMCS directory should look like on the following screen.

CAD 2.png
3. When you install Client Area Designer for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/ClientAreaDesigner/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

CAD 3.png
4. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area → 'My Products'.

CAD 4.png
5. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'. Afterwards, find 'Client Area Designer' and press 'Activate' button.

CAD 5.png
6. In the next step you need to permit access to this module.

To do so, click on 'Configure' button, tick 'Full Administrator' and press 'Save Changes'.

CAD 6.png
7. You have just successfully installed Client Area Designer For WHMCS!

You can access your module under 'Addons' 'Client Area Designer'.

CAD 7.png

Configuration and Management

Client Area Designer For WHMCS is a module which allows you to adjust the layout of any panels available on your client area as well as add new widgets.

The module does not require highly advanced configuration.
That is why we will immediately move to the most crucial aspect, which is customizing the panels layout.

Panels

Under 'Panels' tab you will find three sections dedicated to the visibility of different types of panels in your client area.
  • Navbars - Management of positions available on the navigation bar in your client area
  • Sidebars - Management of panels available on the left sidebar in your client area
  • Homepage Widgets - Modify and create new widgets available on your home page

Navbars

On the first sight you will see two tables, each related to Primary Navbar Left or Right side.

There are already all the predefined sections outlined with their official names and positions.
Info: If you already see that you have more elements than it is visible in the addon, then use 'Scanner' to search for them.
Read more about scanning option here.

CAD 8.png
Those are the below navbar panels visible in the client area.
CAD 9.png
First of all, you may change the position of the elements.

Drag one panel and drop it in the required place.

CAD 10.png
Use action buttons to:
  • edit the section
  • delete (only custom elements)
  • view child elements
CAD 11.png

Edit Element

When you are editing an existing parent element, you may:
  • provide a new display name
  • add icon
  • hide the element
CAD 12.png
You may also provide some display rules, only clients who fulfill the rules will see the element.

If you leave this part empty, the element will be visible for all clients without limitations.

  • select domains a client must own
  • point product that must be owned
  • location a client must enter

Do not forget to save the changes when ready.

CAD 13.png

New Parent Element

It is possible add a completely new parent element either on left or right side.
Press 'Add'.
CAD 14.png
Then you will have to fill out all the general info, content and display rules.

Start with 'General'. Provide:

  • name visible for clients
  • unique for the system identifier
  • URI
  • select icon from available
  • finally select 'Display' to make the panel visible
CAD 15.png
If you want only some of the clients to see the panel, then set up the 'Display Rules'.

In our case we have decided to select products a client must own to get access to 'Support Chat'.
Save the changes in the end.

CAD 16.png
This is how our new panel looks like in the client area:
CAD 17.png

New Child Element

Let's now add one more element to the already existing 'Support' panel.
CAD 18.png
You have to fill out the same data as in case of parent element:
  • name
  • identifier
  • URI
  • icon
  • finally select 'Display' to make it visible

This time we want all the clients to have access to our FAQ site, so we do no set any 'Display Rules'.

CAD 19.png
As a custom element, you may delete it completely or edit.
CAD 20.png
Let's take a look at the new position in the client area:
CAD 21.png

Sidebar Panels

Sidebar panels section refers to the elements located on the left side of your client area.

Generally, management of sidebars is very similar to the Navbar panels described in the previous section.

CAD 24.png
Available actions:
  • change positioning by dragging and dropping the element in required place
  • edit the section - change name, icon, content (if possible) and display rules
  • delete elements - this option is available for custom entries only
  • view child elements
CAD 23.png

Edit Element

General section:
  • provide a new display name
  • add icon
  • hide the element
CAD 25.png
Content:
  • change the Body or Footer content.

Note that it is possible only if the element has no child elements.

CAD 26.png
Display rules - only clients who fulfill the rules will see the element.

If you leave this part empty, the element will be visible for all clients without limitations. Do not forget to save the changes when ready.

CAD 27.png

New Parent Element

You may add a completely new parent element either on left or right side.
Press 'Add'.
CAD 28.png
Then you will have to fill out all the general info, content and display rules.

Start with 'General'. Provide:

  • name visible for clients
  • unique for the system identifier
  • select icon from available
  • finally select 'Display' to make the panel visible
CAD 29.png
Define Body and Footer content.

Note that if you provide the content here, you will not be able to add child elements to this item.

CAD 30.png
If you want only some of the clients to see the panel, then set up the 'Display Rules'.

Save the changes in the end.

CAD 31.png
This is how our new panel looks like in the client area:
CAD 32.png

New Child Element

Let's now add one child element to client's 'Shortcuts'.
CAD 33.png
Fill out all the required data to crate a correct link:
  • name
  • identifier
  • URI
  • icon
  • select 'Display'
CAD 34.png
Any custom element can be deleted. In contrast to the default ones which may be only edited and hidden.
CAD 35.png
Now, you see an additional link under 'Shortcuts'.
CAD 36.png

Homepage Widgets

The last type of panels are homepage widgets.

Available actions:

  • change positioning by dragging and dropping the elements in required place
  • edit the widget
  • view child elements if there are any
  • delete custom widgets
CAD 37.png
To visualize, these are the client area widgets we are going to alter in a moment:
CAD 38.png

Edit widget

General:
  • provide a new display name
  • change icon
  • hide the element
CAD 39.png
Under 'Content' section you can overwrite the default text.

We will leave it empty as we do not want to change the content, just the look and feel of the widget.

CAD 39 1.png
Extras - here you can change the visual parts:
  • widget color
  • button name, URI and icon
CAD 40.png
That is how our adjusted widget looks like now:
CAD 41.png

Add New Widget

For presentation purposes we will create now a completely new widget.
It will include a button redirection to our Knowledgebase and two links to FAQ and Upload Files form.

To start, simply press 'Add' button.

CAD 42.png
Then fill out all the general info, content and extras.

Start with 'General', provide:

  • widget name
  • unique for the system identifier
  • select icon from available
  • finally select 'Display' to make the panel visible
CAD 43.png
As we are going to add two links inside the widget, so we have to skip this section.
CAD 44.png
Finally, customize your widget by defining color and button details.

Save the changes in the end.

CAD 45.png

New Child Widget

Let's now add a child element to the just created 'Knowledgebase'.
CAD 46.png
Fill out the required data:
  • name
  • identifier
  • URI
  • icon
  • select 'Display'
CAD 47.png
As you can see, we added two new entries under 'Knowledgebase' widget.

Surely, you can edit each one of them or delete.

CAD 48.png
Here is a final view of our customized client area with new elements:
CAD 49.png

Locations

In this you will find an extended list of all standard locations in your client area with its common name and URI.

These locations are searched through by the module scanner in search of custom panels and are available in 'Locations' field when setting up 'Display Rules'.

CAD 50.png
Press button with pencil icon next to location you are interested in to edit it.
CAD 51.png
There you can edit the name of existing location and its URI.
CAD 52.png

New Location

You may also add new if you have some custom locations and you wish to use them in our module.

Please note that your locations must be manageable by WHMCS.

CAD 53.png
Provide location name and URI.

When ready, your new location will be from now on used by Client Area Designer module.

CAD 54.png

Scanner

Scanner is a tool that allows our module to carefully browse through a chosen client's client area in search of any elements in known locations.

Select a client to log in as one and run the scanner.

CAD 59.png
You will see a preview of all locations. When the scan is finished, you will see a summary with the number of found panels.
All newly found elements will be automatically added to proper positions in the addon.
CAD 60.png

Documentation

The last position in your navigation menu, when pressed, redirects to the article you are currently reading.
CAD 55.png

Tips

1. When you area adding new element into your client area, you may add the langs used in the lang file to allow translations and changes.

To do so:

  • open your english.php file
  • type in a new line in format:
$_LANG['element name'] = 'Element Name';
  • to change/translate it simply, change the content after the '=' sign.
2. Client Area Designer module supports only WHMCS template Six and any custom documentation that is based on this template and has been customized according to this documentation.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
Navigation
WHMCS Modules
WHMCS Widgets
Tools And Applications
Translations
General
FAQ
Community