...
...
...
...
...
...
...
...
Table of Contents |
---|
This documentation is deprecated
Excerpt |
---|
The Tutorials feature enables a system administrator to create custom tutorials for specific user roles. The tutorial system enables you to provide information, focus on a specific Abiquo UI element, and require the user to perform an action in order to continue. Thus you can streamline the process of onboarding users with your own platform walkthroughs. Events and tracers to monitor users working with tutorials will be added in a future version. You can easily customize the sample tutorials or design your own following the instructions below. Enable or disable tutorialsBy default in new installations, tutorials are enabled and in upgraded environments, tutorials are disabled. |
...
Sample content is available in all environments. Abiquo displays a tutorial on login when:
Users can manually open the tutorials at any time by clicking the tutorials link at the bottom of the screen. |
...
IntroJs libraryThis feature is based on the IntroJs library, which has been customized to fit our requirements. Architecture
|
...
'tutorials' content folder in Abiquo 3.2.2 and aboveAbiquo will read the tutorials from /var/www/html/ui/config/tutorials. This will be a symbolic link to the default Abiquo tutorials content folder or to your own custom content folder. New tutorials content folder and symbolic link
The tutorials content folder is found under the default Abiquo install folder: By default this will be: /opt/abiquo/tutorials/ This folder will contain a folder for each user role with a sample tutorial.
To create your own tutorials content, create a new tutorials folder, for example, /opt/abiquo/mytutorials and create a new symbolic link from /var/www/html/ui/config/tutorials to your directory. For example:
Apache configurationCheck the Apache configuration, which by default is at /etc/httpd/conf/httpd.conf. Within the directive /var/www/html/ui , in the Options line, you should enable FollowSymLinks by adding this as an option.
'tutorials' content folder in Abiquo 3.2 to Abiquo 3.2.1The tutorials content folder is found under the UI folder: By default this will be: /var/www/html/ui/config/tutorials/ This folder will contain a folder for each user role with a sample tutorial.
'{role_name}' foldersFor example, for the USER role, the tutorials folder contains a USER folder. This folder contains a file named tutorials.json and then a file for each tutorial you want the user to work through. You can see the user role at the bottom of the following filesystem diagram.
To create a new tutorial, for example for a role in your environment called CLOUD_USER, create a folder in the tutorials folder called CLOUD_USER.
See Manage Roles for more information about user roles. 'tutorials.json' fileThis file will contain some information about the tutorials and the list of available tutorials. The file must be named tutorials.json, otherwise it will not work. General attributes
Tutorials list array
Sample and screenshotThis is a sample of a tutorials.json file |
...
tutorials.json
And a screenshot of the sample tutorials popup in Abiquo |
...
Tutorial detailsWe saw how to create tutorials for a group of users (by adding content for their Role). Now let's see how to create new tutorials and how to configure them. Previously, we saw that, in the tutorials.json file, you have to specify the list of available tutorials, by specifying each tutorial name and file. So now you have to create a JSON file for each tutorial, in the same folder where the tutorials.json is located. {tutorial_name}.json fileThis file must be located in /config/tutorials/{ROLE_NAME}/ General attributes
As you can see, for now the only attribute should be the steps one, in future releases we will probably add more attributes to improve this feature Step attributes
|
...
SampleHere you can find a sample of a tutorial file |
...
Tutorial sample file
List of clientUi eventsHere you can find some most useful clientUI events
How to find the element id/nameYou can find an element's id or name using your browser. The following sections explain how to do this on Chrome and Firefox, but you can use another browser, inline UI analyzer or whatever software you want. ChromeFirst, open the clientUI in your browser and then press CTRL + ALT + i to open the Developer tools. Then click Elements tab, then the inspector icon and select the element that you want to find out the id/name of. In this example, you can see that the element has the id = vapp.vm-0 so you can use it as the element attribute. FirefoxFirst, open the clienUI in your browser and then press F12 to open the Developer tools. Then click Inspector tab, then the inspector icon and select the element you want to know its id/name In this example, you can see that the element has the id = vapp.vm-0 so you can use it as the element attribute. |
Troubleshooting tips
'Next' button is not enabled when current step is done
...
To determine if this issue affects your system, you can open the browser JavaScript console and look for the following error message:
Uncaught TypeError: Cannot read property 'offsetWidth' of null
If you see this error, you can easily work around it by adding a delay attribute to the tutorial element step.
For example, in the following step, the tutorial is expecting to find the virtualdatacenters tab:
Virtualdatacenter's element
Code Block | ||||
---|---|---|---|---|
| ||||
{ "element": "#virtualdatacenters\\.tab", "intro": "In the <strong>Virtual datacenter</strong> section, you will manage all your virtual infrastructure. Let's begin by clicking this icon<br><br><span style='color: orange'><strong>Action needed:</strong></span><br><i>Click the <strong>'Virtual datacenters'</strong> icon to continue</i>", "position": "bottom", "actionType": "onclick", "blockPrevious": true }, |
If the 'Next' button is not enabled and the error described above is shown, simply add delayBeforeNextItem attribute to the element, specifying a delay in milliseconds. For example:
Virtualdatacenter's element
Code Block | ||||
---|---|---|---|---|
| ||||
{ "element": "#virtualdatacenters\\.tab", "intro": "In the <strong>Virtual datacenter</strong> section, you will manage all your virtual infrastructure. Let's begin by clicking this icon<br><br><span style='color: orange'><strong>Action needed:</strong></span><br><i>Click the <strong>'Virtual datacenters'</strong> icon to continue</i>", "position": "bottom", "actionType": "onclick", "blockPrevious": true, "delayBeforeNextItem": 1000 }, |
This will be enough to resolve the issue.
It is up to you specify a suitable delay value depending on the screen and tutorial step, but it would be better to set higher delays than lower ones in order to avoid problems.