Description
Plugin Structure
Plugin structure is very simple, we have resource components and windows which acts as containers for components. Together these two will create a layout structure. Currently there is three types of components, resource, resource type and groups. Resource component has assosiation to simple resource, whether it's a platform, a server or a service. Resource type component has assosiation to type of the resource. Group is basically similar type visible in HQ ui.
Resource Component
There is always one and only one specific resource behind this component. Status of this component is calculated by requesting last availability metric value. If value is 1.0 status is shown as green icon. When availability value falls below 1.0, icon is changed to red. Yellow icon is used when availability is 0.5. Yellow 'men in work' icon is shown when there is active alert related to resource which hasn't been fixed. If resource is down(red icon), it always has bigger priority to be visible, even if there is an active alert. Icons are identified by letter 'R'.
Resource Type Component
Icon status changes with resource types works similar than individual resources with only one difference. When status is checked, all similar resources are checked which are related to resource type. If you have 10 FileServer Mount resources, this will give you overall information if something is wrong within that resource type. Icons are identified by letter 'T'.
Compatible Group Component
Compatible group component is similar what's available in HQ ui. Tracking of group status is made by check status of every group member. This component wont track alerts from individual group members, instead it can catch normal group alerts. Icons are identified by letter 'G'.
Container
Every component needs a place to live. They can't live in background, so place them inside window. You can drag windows to place component groups to their appropriate position. Window also acts as dojo dnd container, so you are able to change component order within window and copy or move components between different windows. Clicking window title will give you inline editor to change title name. Similarly clicking item will give editor to change component name. Shortening resource names is must to do feature, since names inside HQ may be ridiculous long.
Status Updater
Currently timer which is requesting new component statuses from server is running once every 30 seconds. It's hard coded, but can be changed from source code if needed. Every time when user makes something which needs new request to server, timer is kicked. Kicking means that timer is stopped and started. This will make updater to do immediate status request and starting new 30 second interval.
Configure Layouts
Pressing mouse right button on plugin desktop should should give you menu to select certain action. Here's list what you can expect:
- Open Layout - contains stored layouts.
- Save Layout - request saving layout to server.
- Platform Types - opens new window containing all viewable platform types.
- Server Types - opens new window containing all viewable server types.
- Service Types - opens new window containing all viewable service types.
- Empty - opens empty window
- Platforms - submenu to open window containing all platforms related to platform type.
- Servers - submenu to open window containing all servers related to server type.
- Services - submenu to open window containing all services related to service type.
- Compatible Groups - opens new window containing compatible groups
- Groups - submenu to open window containing resources from groups.
Pressing mouse right button on component will open icon size selection menu. Currently selectable sizes are 32, 64, 128 and 256.
Handle Layouts
Plugin is attached under administration tab. There you have a choice to open empty layout where you can start building your wall mount view. If you have already stored some layouts, there's table showing that information. You will now notice that there is two types of links, day view and night view. Only difference between these links are the css stylesheet which are used. Night view is just style where background is black and unnesessary stuff is removed from ui. Also it will save you monitor, if this is plugin is visible long time on your monitor.
Layouts are stored to disk under server directory structure. (%HQ_HOME%\server-4.0.1-EE\hq-engine\server\default\deploy\hq.ear\wallmountTemplates).
If you store layout with name which already exists, it's overwritten without warning.
Source Repository
Development of this plugin (master rep) is hosted on github.com.
Master branch: http://github.com/jvalkeal/hqu-wallmount/tree/master
Global git address: git://github.com/jvalkeal/hqu-wallmount.git
Change Log
Version 0.6
Changes to support new APIs for HQ 4.5. Notice that templates directory is now different due to change HQ change away from JBoss. Template files can be copied from "hq-engine/server/default/deploy/hq.ear/wallmountTemplates" to "hq-engine/hq-server/webapps/ROOT/WEB-INF/wallmountTemplates"
Version 0.5
Change for dojo version bundled with HQ4.3. Dojo is changed from 1.1 (HQ4.2) to 1.1.2 (HQ4.3). This release is only compatible with HQ4.3.
Version 0.4
Fixes bug for viewing alerts with resource types. If resource had active alert, resource type tracker was shown as green ok image. Now it correctly shows 'men at work' triangle when at least one underlying resource has active alert.
Version 0.3
Just small bug fix for groups visibility. Some hq internal groups were visible on submenu.
Version 0.2
Data structure for storing layout information has some changes, which will break old stored layouts.
There's new icon set, which will give better information whether item is related to service, service type or group. If alert is catched, previously used yellow warn icon is replaced to 'men in work' icon. Warn icon is reserved for availability value. Also pause icon is used if plugin gives this specific metric value. Few plugins gives this, like script service.
Selecting new layout from ui, now cleans old layout before opening new one.
It's possible to select compatible groups and see if group alerts are fired. Also you can open window to contain resources from selected group.
Background service which requests new statuses from server has some improvements. Timeout for this specific request is now 10 seconds. Alert for failed request now comes after 10 failed attempts, which also stops timer. Update request is now done immediately when it's needed and timer is kicked to wait new 30 second interval for next automatic request.
Issues:
- Stored layouts can't be deleted from ui. Navigate to template folder on server and delete layout manually.
- Layout saving may fail if using special characters. There's no validity checks for filenames.
- Component has wrong size during dnd operation, if initial size was changed. Dropped component has correct size, thought.
Version 0.1
This first version brings basic functionality to this plugin.
Issues:
- Stored layouts can't be deleted from ui. Navigate to template folder on server and delete layout manually.
- Layout saving may fail if using special characters. There's no validity checks for filenames.
- Opening new layout from ui doesn't clear old layout. So currently switching is not working. You can however close all windows and then open new layout.
- Dojo framework is nice to use, but always causes problems with different browsers. This area needs some improvements.
- And probably numerous other issues.
Alarm program for HQU Wall Mount
Tested with Night View
This is a very simple program, we cant write more complex script because dont have time for develop.
Script watch screen and if found specify pixel with 0xD31E00 color Playing a sound(this is middle of red icon).
If you acknowledge the problem, Open New Sticky Notes(Win7) and move window above to red icon.
Download AutoIT tools from and you can compile to exe file:
http://www.autoitscript.com/autoit3/index.shtml
Set screensize, and sound file, Compile, and run.
alarm.au3 file: