vRA 7.6 went GA on Friday 11th April 2019, and brought with it a fully functioning HTML 5 client for vRO. While the Java client is still available for use, the HTML 5 client provides some interesting new features alongside full feature parity with the existing client for the first time.
After upgrading my lab environment I thought I would share my experiences with the new vRO client, and explore some of the functionality it provides.
Accessing the client
The client can be accessed via a link on the vRA homepage (https://<vRA fqdn>) for the embedded vRO instance, or at http://<vRO fqdn> for the standalone appliance. Alternatively you can go directly to https://<vRA/vRO fqdn>:8283/vco-controlcenter/client to open the client.
To be able to use the client you have to first configure the authentication provider via the control center page, if you skip this step a warning banner appears at the top of the client informing you it is disabled.
Once the authentication provider is configured hitting the client url provides a login prompt, in my case I used vRA as my authentication provider so I am presented with the familiar vIDM login page that vRA uses.
Navigating the client
Upon login you are presented with the dashboard page, a new feature which gives you an overview on currently running workflows and workflows requiring attention. There’s also a System tab which provides details on your vRO cluster.
The tabs and different views from the java client are provided in a toolbar on the left of the screen, no need to switch to Design view to be able to see your actions and configuration elements. The toolbar contains the bare minimum options, so it looks really clean and its obviously very easy to locate any of the options without having to scroll up/down or expand/collapse different groups.
Workflow Performance Information
Part of the dashboard page is the usage tab, which provides:
- Most recent workflow runs (including completion status
- Workflows requiring attention
- Workflows waiting for user input
- Favourite workflows (workflows you have set as favourites)
Under the Workflows requiring attention section information is now provided on your workflow performance. Some of the options available are the slowest running workflows, those which are consuming the most CPU time and even those which have the highest number of transitions when executed.
This information could help you identify workflows which perhaps could be broken out into separate workflows (to reduce the runtime, or the number of transitions) or that are performing resource intensive operations (does the workflow contain a number of searches which use getAll or unfiltered operations for example). It’s not a full vROps management pack, but its definitely a whole lot more information than we had in previous versions.
Workflow Version History with Differences
The workflow version history option is available within the Java client, but the new HTML 5 client offers a better experience. It highlights the differences in the code contained within the workflow, any changes to the input form, as well as any changes in the position of elements within the schema pane. Additions are highlight in green, with deletions highlighted in red. The versions of the workflow that vRO has a record of are listed on the left of the screen, and the drop down box at the top of the screen allows you to select which version you want to compare against.
Editing and running workflows
Heading into the Workflows page you are presented with the same tiled view that vRA uses for its catalog, with each workflow from your inventory having its own tile. This doesn’t work very well for large inventories, but there is an option in the top right corner of the screen to switch to a list view, so you can scroll through the various workflows.
More importantly, the folder structure from the java client has been converted to a tag structure in the HTML 5 client. When you import your content from an older version (or upgrade vRO), each folder is automatically converted to a tag. The search function at the top of the page allows you to enter tag names to dynamically filter the list of workflows. I particularly like this feature. Having accumulated a large number of workflows and folders as I created content for various customers and projects, the vRO inventory in the java client would often see the screen space taken up by the folder structure to drill down to the workflow I needed. With a filtered list I can view all workflows related to vRA Event Broker Subscriptions for example, across what would have been multiple subfolders in the vRO inventory.
Selecting a workflow displays tabs with familiar names and information. The schema page is still present, with revamped icons and a cleaner looking inventory of elements that can be added to the workflow. When you select an element on the schema its details are presented in a new pane on the right of the screen, including the scripting page which I’ll cover in a bit more detail later.
If your workflow contains actions or other workflows as sub workflows on the schema the client now automatically prompts you that the bindings have been changed in the subworkflow with a warning banner at the top of the screen. There is no requirement to run the synchronise parameters command against it.
Another feature I particularly like is that when adding elements to the schema you aren’t immediately prompted to select the name of the action/workflow you are adding as per the java client. I’ve lost track of the number of times I have gone to add a workflow to the schema and then had a senile moment when the prompt box has appeared and had to cancel it to go and look up my workflow name.
Little changes like the ability to add a decision element to the schema and then toggle it between a simple and custom decision without having to remove and readd it will I’m sure also come in handy.
Another really nice feature is on the scripting page. Autofill/auto complete information is now provided as you start to enter code. This includes picking up suggested parameter names and methods e.g. typing System. will bring up a list of possible methods for the System object. It appears to handle minor typos like entering Ssytem, realising that you might have been looking for System instead. I’m sure it won’t be able to handle every typo you could possibly make but its a good start.
There is also autocomplete for things like curly braces for logic statements like if statements, and quote marks for string values. As soon as you add the opening brace or quote character the client will add the closing character for you. Even better, there is an auto indent functionality when you start loops or if statements. When you start entering code inside the curly braces of the if statement for example the client will auto ident the code to the right for you, and then switch back to the start of the line when you start entering code outside of the if statement again.
Kicking off a workflow in the client you are now provided with the execution time for each element within the workflow on the schema page as it is executing. When a failure occurs there is an inventory tree view on the left of the page which shows you where in the structure the failure occurred.
Performance information is also available under the Activity>Workflow Runs page while a workflow is running.
When viewing the logs of the workflow there is an option to filter the logs to show either the contents of the Server log file, or the Scripting log file or both. So if you use Server.log and System.log entries within your workflow (just above the log output on the right of the screen the Server and System icons are filters which you can click on/off). So now you can now filter the output you see beyond the basic debug/information/warning/error severity levels which are still available.
The old presentation tab from the java client is replaced by the new Input Form tab. The format is much more like vRA with the ability to add custom text, like a help prompt to the form without having to add a new input parameter. When you first save a workflow after upgrading to v7.6 you will be warned that the workflow presentation will be converted to the newer input form and will therefore can no longer be edited in the older java client.
Finally the bad stuff
Thankfully the only bad points I have come across so far are minor things, and with any luck they will be included in a future release, or I’ll simply get used to them and stop seeing them as negatives.
The first negative for me is that the screen panes are locked in place when editing a workflow or action, and you can’t rearrange them or hide them temporarily. I know most people now have at least one large wide screen monitor on which they can run the client, so this might not be an issue for the majority of users. For me, I spend a lot of time running vRO on my Mac with no external monitors at customer sites. With the scripting pane appearing on the right of the screen I don’t have a lot of screen space available in which to view the code. In the old java client I could make the scripting pane full screen to maximise the space available, although it did prevent me doing almost anything else until I closed the pane. The ability to make the scripting pane a floating window, or to temporarily collapse the other parts of the client would have been a bonus.
The HTML client doesn’t have the ability to save your preferred view, or remember the view you had open previously even if you haven’t logged out of the client. For example, as mentioned I have a fairly large inventory of workflows in my vRO library, so prefer the list view on the workflow tab. Each time I open the client it defaults back to the tile view.
Attributes vs Inputs/Outputs
I haven’t found a way yet in the new client to allow me to change an input or output parameter I have defined into an attribute and vice versa. This was possible in the java client, and I used it fairly frequently when for example I would start a workflow and then decide that it would be better suited as a separate subworkflow. Without this functionality I just have to delete and recreate the parameter, not a big deal in the grand scheme of things just a bit frustrating.
Not cleaning up the schema tab
There are a couple of things here which don’t affect the functionality or usability of the client, I just find them annoying.
Firstly, when you add an element to the schema like a decision element which contains an end workflow element, and then delete it the client does not remove the end workflow element. Even if it is no longer connected to anything. It’s easy enough to select and delete them, I’d just prefer they were automatically removed.
Secondly I found that if you validate a workflow and it reports an error with an element on the schema, the red exclamation mark remains on the element icon even after you fix the error and rerun the validation. It did not disappear until I saved and closed the workflow.
Overall I’m really impressed with the new client. It’s very responsive, loading different tabs or opening prompts to add parameters etc are all smooth and fast and I haven’t had any instances of the client freezing or crashing like the old java client. The interface itself looks clean, there aren’t lots of collapsable menus or tabs to navigate when you want to perform a task. The workflow version history and the autocomplete features in particular add real value over the java client. I’ll definitely be switching over to the new client when I’m working in my lab environment and will return to the view the performance information on the dashboard page to see how things shape up over time.