Radia Reporting Server - Hewlett Packard Enterprise Community

Hewlett Packard
One International Blvd., Suite 200
Mahwah, NJ 07495
(201) 512-1000
Radia Reporting Server
Reporting Filter and View Customization
Prepared By: Joe Marrinan
Hewlett Packard
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 1 of 40
All Rights Reserved
Revisions
DATE
2004-12-30
REV
1.0
AUTHOR
Joe Marrinan
COMMENTS
Initial Draft
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 2 of 40
All Rights Reserved
Legal Notices
Warranty
Hewlett-Packard makes no warranty of any kind with regard to this document, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be held liable for errors
contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing,
performance, or use of this material.
A copy of the specific warranty terms applicable to your Hewlett-Packard product can be obtained from your local Sales and
Service Office.
Restricted Rights Legend
Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights
in Technical Data and Computer Software clause in DFARS 252.227-7013.
Hewlett-Packard Company
United States of America
Rights for non-DOD U.S. Government Departments and Agencies are as set forth in FAR 52.227-19(c)(1,2).
Copyright Notices
© Copyright 1998-2004 Hewlett-Packard Development Company, L.P.
No part of this document may be copied, reproduced, or translated into another language without the prior written consent of
Hewlett-Packard Company. The information contained in this material is subject to change without notice.
Trademark Notices
Linux is a registered trademark of Linus Torvalds.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Acknowledgements
PREBOOT EXECUTION ENVIRONMENT (PXE) SERVER
Copyright © 1996-1999 Intel Corporation.
TFTP SERVER
Copyright © 1983, 1993
The Regents of the University of California.
OpenLDAP
Copyright 1999-2001 The OpenLDAP Foundation, Redwood City, California, USA.
Portions Copyright © 1992-1996 Regents of the University of Michigan.
OpenSSL License
Copyright © 1998-2001 The OpenSSLProject.
Original SSLeay License
Copyright © 1995-1998 Eric Young (eay@cryptsoft.com)
DHTML Calendar
Copyright Mihai Bazon, 2002, 2003
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 3 of 40
All Rights Reserved
Table of Contents
1
2
Overview ............................................................................................................. 5
Reporting Server Directory Structure ....................................................................... 6
2.1
3
Data Filters .......................................................................................................... 8
3.1
3.2
3.3
3.4
3.5
4
The Objects Directory ...................................................................................................................................... 7
Filtergroups (Top-Level)................................................................................................................................... 9
Filtergroups (Sub-Menu) ................................................................................................................................ 10
Filters.............................................................................................................................................................. 11
Filter Data Queries ......................................................................................................................................... 12
Creating a Custom Filter ................................................................................................................................ 13
Reporting Views and Windows .............................................................................. 18
4.1
4.2
4.3
4.4
Viewgroups (Top-Level) ................................................................................................................................. 20
Viewgroups (Sub-Menu) ................................................................................................................................ 21
Views.............................................................................................................................................................. 23
Windows......................................................................................................................................................... 25
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
4.5
4.6
RAMDevices.window – Global Section.................................................................................. 26
RAMDevices.window – Detail Mode - WindowFunctions Section ........................................ 27
RAMDevices.window – Detail Mode – Query Tags ............................................................... 28
RAMDevices.window – Detail Mode - Actions Section .......................................................... 29
RAMDevices.window – Detail Mode - Columns Section........................................................ 30
RAMDevices.window – Graph Mode – WindowFunctions and Charts Sections ................... 32
Window Data Queries .................................................................................................................................... 34
Creating a Custom Report View and Window................................................................................................ 35
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 4 of 40
All Rights Reserved
1 Overview
This document provides details on the Radia Reporting Server (RRS) object structure and details to
facilitate customization of reporting filters, views and windows.
The following image shows a sample RRS report as seen in a web browser. The RRS interface consists
of a Data Filters menu in the left frame. This menu contains selectable filters that may be used to apply
conditions to the set of data returned in a report. The RRS uses ‘filtergroup’ objects to create menu
items, and ‘filter’ objects to define individual filters.
The Reporting Views menu appears below the Data Filters menu. The Reporting views menu contains
categorized reports that may be selected for viewing. The RRS uses ‘viewgroup’ objects to create the
menu items. Each report that appears in the right-side frame is contained in a ‘view’ object. Each view
may contain one or more ‘window’ objects. These window objects contain the details required to format
data queried for the report.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 5 of 40
All Rights Reserved
2 Reporting Server Directory Structure
The following figure shows the expanded directory structure used to contain the files for the Radia
Reporting Server.
ReportingServer
The root directory of the Radia
Reporting
Server.
This
directory
contains
the
config.tcl
file
used
to
configure all of the core RRS
server options.
Contains
nvdkit.exe
–
this
bin
executable is configured as a web
server CGI file and is used to
generate dynamic components of the
reports
Contains
the
default.css
file
css
(Cascading Style Sheet).
Contains various documents and
doc
samples
images
Contains images used within the
web pages.
images\devices Contains subdirectories by PC
manufacturer. Images within the
manufacturer directories are used to
display an image of the computer
model in the detail reports. This
directory
structure
can
be
supplemented with additional images
for models not found in the default
reports.
Contains various supporting files for
lib
Reporting Server functions.
Contains the reporting.log file
log
which contains details of the
reporting server transactions. This is
a source of valuable troubleshooting
information.
objects
Contains the objects used to define
filters, views, windows and queries.
Contains updates to other Radia
prereq
components and database imports to
support Radia Reporting Server (see
installation documentation)
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 6 of 40
All Rights Reserved
2.1 The Objects Directory
The files within the ReportingServer\objects directory are used to define each of the filters, views,
windows and queries that make up a filter or report.
ReportingServer\objects directory substructure
Directories containing files specific to Data Filters are highlighted
in blue, these include:
• objects\english\filtergroups
• objects\english\filters
• objects\english\filters\data
Directories containing files specific to Reporting Views are
highlighted in yellow, these include:
• objects\english\viewgroups
• objects\english\views
• objects\english\windows
• objects\engligh\windows\data
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 7 of 40
All Rights Reserved
3 Data Filters
Data filters are used to apply one or more conditions to the set of devices that appear in a report.
Data Filter Files and Function
File Location
File
Extension
objects\
.filtergroup
english\
Function/Example
(Screen area modified by object file highlighted in blue)
A filtergroup file defines the Top level and sub-level menu options
found under the Data Filters menu
filtergroups
objects\
english\
filters
.filter
A filter file defines the layout and function of an individual filter.
objects\
english\
filter\
data
.sql .oracle
A sql or oracle file defines an MS SQL or Oracle ODBC query to return
a list of devices limited by the applied filter.\
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 8 of 40
All Rights Reserved
3.1 Filtergroups (Top-Level)
Directory: filtergroups
Extension: .filtergroup
The filtergroup directory contains files that define the structure of the Data Filters menu. Each file in
the filtergroup directory has a .filtergroup extension.
The .filtergroup files can define either ‘top’ level menu items, or ‘sub’ menu items. Top level menu
items appear at the top level of the Data Filters menu. Sub-Menu filtergroups appear below Top-Menu
items or within other Sub-Menu filtergroups. Sub-Menu filtergroups can be nested to define multiple
levels of menu items.
The following example shows the ‘Inventory Manager Related’ Filtergroup as defined in the
‘RIM.Filtergroup’ file. RIM.Filtergroup is an example of the Top-Menu Filtergroup. Several of the more
significant tags within the Filtergroup file are defined below.
Filtergroup
Top-Menu
Inventory Manager Related
.filtergroup File:
filtergroup\RIM.filtergroup
<filtergroupobject>
<global>
<description>Inventory Manager Related</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-inventorymanager16.gif</image>
<treelevel>top</treelevel>
</global>
<filters>
<filtergroupobject>RIM Hardware</filtergroupobject>
<filtergroupobject>RIM Operating System</filtergroupobject>
<filtergroupobject>RIM Software</filtergroupobject>
</filters>
</filtergroupobject>
<description>
The <description> tag defines the text that will appear in the Data Filters menu for this
Filtergroup item.
<treelevel>
Top level menus are defined with a <treelevel>top</treelevel> tag in the .Filtergroup file.
Sub menu items appear as an options within Data Filter menus. Sub menu items are defined
with a <treelevel>sub</treelevel> tag in the .filtergroup file.
<filtergroupobject>
The <filtergroupobject> tag defines associations to .filtergroup files that make up sub-menu
options within a filtergroup. The text defined in the <filtergroupobject> tag must match the
filename of the sub-menu filtergroup file that defines that sub-menu (without the .filtergroup
extension).
As seen in the example below, the following tag:
<filtergroupobject>RIM Operating System</filtergroupobject>
refers to the sub-menu filtergroup file “filtergroup\RIM Operating System.filtergroup”
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 9 of 40
All Rights Reserved
3.2 Filtergroups (Sub-Menu)
Directory: filtergroups
Extension: .filtergroup
Sub-Menu
Filtergroups
work
in
the
same
manner
as
Top-menu
filtergroups.
The
<treelevel>sub</treelevel> tag defines a Sub-Menu Filtergroup. As seen in the example below, The
‘OS Related’ Sub-Menu Filtergroup as defined in the ‘RIM Operating System.filtergroup’ file is
shown
<filterobject>
The <filterobject> tag defines links to .filter files. The .filter files contain the individual data filter
definitions.
Note: A single .filtergroup may contain both <filtergroup> and <filterobject>
tags. A combination of sub-menu items and filters would appear in the menu list.
Filtergroup Sub-Menu
OS Related
.filtergroup File
filtergroup\RIM Operating System.filtergroup
<filtergroup>
<global>
<description>OS Related</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-container16.gif</image>
<treelevel>sub</treelevel>
</global>
<filters>
<filterobject>RAM Operating System</filterobject>
<filterobject>RAM OS Level</filterobject>
<filterobject>RIM WBEM Service Name</filterobject>
<filterobject>RIM WBEM Process Name</filterobject>
</filters>
</filtergroup>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 10 of 40
All Rights Reserved
3.3 Filters
Directory: filter
Extension: .filter
The ‘Operating System’ Filter as defined in the ‘RAM Operating System.filter’ file is shown below.
Filter
Operating System
.filter File:
filter\RAM Operating System.filter
<filterobject>
<global>
<description>Operating System</description>
<visible>false</visible>
<require>RAMENABLE</require>
<image>ads-search16.gif</image>
<filtertype>DEVICELIST</filtertype>
<querytype>RAMSQL</querytype>
<queryfile>RAM Operating System</queryfile>
<inputmask>text</inputmask>
<inputhelp>Enter the Operating System
value.</inputhelp>
<inputvalues>[sql execute RIM "SELECT DISTINCT
from [config RAMPREFIX]deviceconfig order by
OS"]</inputvalues>
OS
</global>
</filterobject>
<filtertype>
<querytype>
<queryfile>
The <queryfile> tag identifies associations to .sql or .oracle files that define the filter query.
The text defined in the <queryfile> tag must match the filename of the filter data query file
that defines the query to execute (without the .sql or .oracle extension).
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 11 of 40
All Rights Reserved
3.4 Filter Data Queries
Directory: filter\data
Extension: .sql or .oracle
The “RAM Operating System.sql” and “RAM Operating System.oracle” files are shown below. These files
define the SQL query that returns a list of devices with the selected filter applied.
RAM Operating System SQL Query File:
filter\data\RAM Operating System.sql
select
device_id
from
<<NEGATE>> = '<<VALUE>>'
<<RAMPREFIX>>DeviceConfig
where
os
RAM Operating System Oracle Query File:
filter\data\RAM Operating System.oracle
select device_id from <<RAMPREFIX>>DeviceConfig where upper(os)
<<NEGATE>> = upper('<<VALUE>>')
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 12 of 40
All Rights Reserved
3.5 Creating a Custom Filter
The following steps describe the process of creating a simple
custom filter using existing examples as a template. In the
example to follow, a new top menu item will be created called
‘Custom Filters’. The Custom Filters menu item will have a submenu item called ‘Hardware Filters’. Within the Hardware Filters
menu a ‘Subnet Location’ filter will be created that will allow
filtering based on a client’s subnet.
Creating the Top Menu
It is often easiest to use an existing item as a template. In this
case the ‘RIM.filtergroup’ file will be used to create our ‘Custom Filters’ Top-Menu.
When creating new filters it is important to give your custom files a consistent prefix so that they can
be easily identified as custom files and they will remain isolated from future updates to the core
reporting files. In the examples to follow, each of the files will begin with the prefix ‘Custom’.
1. Create a new ‘Custom Filters’ Top Level Menu
1.1. In the filtergroups directory, copy ‘RIM.filtergroup’ to ‘Custom.filtergroup’
1.2. Edit the new Custom.filtergroup file.
It should appear similar to the one below:
<filtergroupobject>
<global>
<description>Inventory Manager Related</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-inventorymanager16.gif</image>
<treelevel>top</treelevel>
</global>
<filters>
<filtergroupobject>RIM Hardware</filtergroupobject>
<filtergroupobject>RIM Operating System</filtergroupobject>
<filtergroupobject>RIM Software</filtergroupobject>
</filters>
</filtergroupobject>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 13 of 40
All Rights Reserved
1.3. Edit the text in the <description> tag to read ‘Custom Filters’. The <description> tag
defines the description of the Top menu item found in the Data Filters on the reporting web
page.
1.4. Edit the text in the first <filtergroupobject> tag to read
‘Custom Hardware Filters’. The <filtergroup> tag defines
the filename of the file containing sub-menu filtergroup
information (the .filtergroup extension should be omitted).
1.5. Remove the remaining <filtergroupobject> tags.
1.6. Save the ‘Custom.filtergroup’ file.
Your file should now appear similar to the one shown below:
<filtergroupobject>
<global>
<description>Custom Filters</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-inventorymanager16.gif</image>
<treelevel>top</treelevel>
</global>
<filters>
<filtergroupobject>Custom Hardware Filters</filtergroupobject>
</filters>
</filtergroupobject>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 14 of 40
All Rights Reserved
2. Create a new ‘Hardware Filters’ Sub Menu
2.1. In the filtergroups directory, copy ‘RIM Operating System.filtergroup’ file to
‘Custom Hardware Filters.filtergroup’
2.2. Edit the ‘Custom Hardware Filters.filtergroup’ file.
Before modification, it should appear similar to the one below:
<filtergroup>
<global>
<description>OS Related</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-container16.gif</image>
<treelevel>sub</treelevel>
</global>
<filters>
<filterobject>RAM Operating System</filterobject>
<filterobject>RAM OS Level</filterobject>
<filterobject>RIM WBEM Service Name</filterobject>
<filterobject>RIM WBEM Process Name</filterobject>
</filters>
</filtergroup>
2.3. Edit the text in the <description> tag to read ‘Hardware
Filters’. The <description> tag defines the description of the
sub menu item found under the ‘Custom Filters’ top menu on
the reporting web page
2.4. Edit the text in the first <filterobject> tag to read ‘Custom
Subnet Location’. The <filterobject> tag defines the
filename of the file containing the filter definition (the .filter
extension should be omitted).
2.5. Remove the remaining <filterobject> tags.
2.6. Save the ‘Custom Hardware Filters.filtergroup’ file.
Your file should now appear similar to the one shown below:
<filtergroup>
<global>
<description>Hardware Filters</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-container16.gif</image>
<treelevel>sub</treelevel>
</global>
<filters>
<filterobject>Custom Subnet Location</filterobject>
</filters>
</filtergroup>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 15 of 40
All Rights Reserved
3. Create a new ‘Subnet Location’ Filter
3.1. In the filters directory, copy ‘RAM Operating System.filter’ file to
‘Custom Subnet Location.filter’
3.2. Edit the ‘Custom Subnet Location.filter’ file.
Before modification, it should appear similar to the one below:
<filterobject>
<global>
<description>Operating System</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-search16.gif</image>
<filtertype>DEVICELIST</filtertype>
<querytype>RAMSQL</querytype>
<queryfile>RAM Operating System</queryfile>
<inputmask>text</inputmask>
<inputtext></inputtext>
or
<inputhelp>Enter the Operating System value. 
Example: Windows*
SunOS or HPUX</inputhelp>
<inputvalues>[sql execute RIM "SELECT DISTINCT OS from [config
RAMPREFIX]deviceconfig order by OS"]</inputvalues>
</global>
</filterobject>
3.3. Edit the text in the <description> tag to read ‘Subnet Location’. The <description> tag
defines the description of the filter item found under the ‘Hardware Filters’ sub menu on the
reporting web page
3.4. Edit the text in the first <queryfile> tag to read ‘Custom Subnet Location’. The <queryfile>
tag defines the filename of the file containing the filter query to return a list of devices resulting
from the applied filter (the .sql or .oracle extension should be omitted).
3.5. Edit the text of the <inputhelp> tag to read:
Enter the Subnet Location value. 
Example: 10_17_10* or 10_17_10_0
The <inputhelp> tag defines the text that appears when hovering over the help
Filter
3.6. Edit the text of the <inputvalues> field to read:
[sql execute RIM "SELECT DISTINCT netloc from
[config RAMPREFIX]deviceconfig order by netloc"]
The <inputvalues> field defines the query that will retrieve a
list of available options from the database for this field. This
query is executed when a user selects the magnifying glass
icon of the filter (V4.1 feature). In this example, a list of
distinct (unique) values found in the DeviceConfig table’s
‘netloc’ column (Subnet Locations) will be returned.
Note: If you were querying a value found in a table other
than ‘DeviceConfig’, you would replace the DeviceConfig
reference with the name of the table containing the field
you wanted to filter on
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 16 of 40
All Rights Reserved
icon of the
3.7. Save the ‘Custom Subnet Location.filter’ file.
Your file should now appear similar to the one shown below:
<filterobject>
<global>
<description>Subnet Location</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-search16.gif</image>
<filtertype>DEVICELIST</filtertype>
<querytype>RAMSQL</querytype>
<queryfile>Custom Subnet Location</queryfile>
<inputmask>text</inputmask>
<inputtext></inputtext>
or
<inputhelp>Enter the Subnet Location value. 
Example: 10_17_10*
10_17_10_0 </inputhelp>
<inputvalues>[sql execute RIM "SELECT DISTINCT netloc from [config
RAMPREFIX]deviceconfig order by netloc"]</inputvalues>
</global>
</filterobject>
Note: <inputhelp> and <inputvalues> are shown wrapping across multiple lines in the above example for
clarity in documentation. The values in these fields should appear on a single line in the file.
4. Create a new Filter Data Query
4.1. In the filters/data directory, copy ‘RIM Operating System.sql’ file to ‘Custom Subnet
Location.sql’
4.2. Edit the ‘Custom Subnet Location.sql’ file.
Before modification, it should appear similar to the one below:
select
device_id
from
<<RAMPREFIX>>DeviceConfig
where
os
<<NEGATE>>
<<CONDITION>> '<<VALUE>>'
4.3. Edit the ‘where’ clause to reference the value we want to filter on. In this case it is the
DeviceConfig table’s ‘netloc’ column.
4.4. Save the ‘Custom Subnet Location.sql’ file.
Your file should now appear similar to the one shown below:
select
device_id
from
<<RAMPREFIX>>DeviceConfig
where
netloc
<<NEGATE>>
<<CONDITION>> '<<VALUE>>'
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 17 of 40
All Rights Reserved
4 Reporting Views and Windows
Reporting Views and Windows are used to provide a selectable set of reports, and present the results of
a report query to the end user. Filters applied from the Data Filters menu are automatically applied to
the reports.
View and Window Files and Function
The following table summarizes the different file types responsible for building reporting Views and Windows. The area
of the interface affected by the contents of each file is highlighted in yellow.
File
File
Example
Location
Extensio
(Screen area modified by object file highlighted in blue)
n
objects\
.viewgrou
A viewgroup file defines the Top level and sub-level menu options found
english\
p
under the Reporting Views menu
viewgrou
ps
objects\
english\
views
.view
A view file defines a reference to one or more windows to display in the rightside reporting pane, and refers to the functions to display the top menu and
applied filters.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 18 of 40
All Rights Reserved
objects\
english\
.window
A window file defines the presentation of queried data.
.sql
.oracle
A sql or oracle file defines an MS SQL or Oracle ODBC query to return data to
a window for display.
windows
objects\
english\
windows
\
data
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 19 of 40
All Rights Reserved
4.1 Viewgroups (Top-Level)
Directory: viewgroups
Extension: .viewgroup
The viewgroup directory contains files that define the structure of the Reporting Views menu. Each file
in the viewgroup directory has a .viewgroup extension.
The structure of viewgroups is identical to the structure to define filtergroups. The only difference being
that viewgroup menu items refer to sub-viewgroup, and view objects.
The .viewgroup files can define either ‘top’ level menu items, or ‘sub’ menu items. Top level menu
items appear at the top level of the Reporting Views menu. Sub-Menu viewgroups appear below TopMenu items or within other Sub-Menu viewgroups. Sub-Menu viewgroups can be nested to define
multiple levels of menu items.
The following example shows the ‘Inventory Manager Reports’ viewgroup as defined in the
‘RIM.viewgroup’ file. RIM.viewgroup is an example of the Top-Menu viewgroup.
Viewgroup
Top-Menu
Inventory Manager Reports
.viewgroup File:
viewgroup\RIM.viewgroup
<viewgroupobject>
<global>
<description>Inventory Manager Reports</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-inventorymanager16.gif</image>
<treelevel>top</treelevel>
</global>
<views>
<viewgroupobject>RIM Hardware</viewgroupobject>
<viewgroupobject>RIM Software</viewgroupobject>
</views>
</viewgroupobject>
Note the use of the following tags within the viewgroup file.
<description>
The <description> tag defines the text that will appear in the Reporting Views menu for a
Viewgroup item.
<treelevel>
Top level menus are defined with a <treelevel>top</treelevel> tag in the .viewgroup file.
Sub menu items appear as options within Reporting Views menus. Sub menu items are defined
with a <treelevel>sub</treelevel> tag in the .viewgroup file.
<viewgroupobject>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 20 of 40
All Rights Reserved
The <viewgroupobject> tag defines associations to .viewgroup files that make up sub-menu
options within a viewgroup. The text defined in the <viewgroupobject> tag must match the
filename of the sub-menu viewgroup file that defines that sub-menu (without the .viewgroup
extension).
As seen in the example below, the following tag:
<viewgroupobject>RIM Hardware</viewgroupobject>
refers to the sub-menu viewgroup file “viewgroups\RIM Hardware.viewgroup”
4.2 Viewgroups (Sub-Menu)
Sub-Menu
Viewgroups
work
in
the
same
manner
as
Top-menu
viewgroups.
The
<treelevel>sub</treelevel> tag defines a Sub-Menu Viewgroup. As seen in the example below, The
‘Hardware Reports’ Sub-Menu Viewgroup as defined in the ‘RIM Hardware.viewgroup’ file is
shown. This viewgroup contains two <viewgroupobject> tags that refer to another sub-Menu
Viewgroup.
Viewgroup
Sub-Menu .viewgroup File:
viewgroup\RIM Hardware.viewgroup
Hardware Reports
<viewgroupobject>
<global>
<description>Hardware Reports</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-computer16.gif</image>
<treelevel>sub</treelevel>
</global>
<views>
<viewgroupobject>RIM Hardware Standard</viewgroupobject>
<viewgroupobject>RIM Hardware Count By</viewgroupobject>
</views>
</viewgroupobject>
<viewobject>
The <viewobject> tag defines the leaves of the menu tree. Each <viewobject> tag references
one or many .view files found in the objects\views directory. The .view files define what
appears in the right-pane report area.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 21 of 40
All Rights Reserved
Viewgroup
Sub-Menu
Hardware Reports
.viewgroup File:
viewgroup\RIM Hardware Standard.viewgroup
<viewgroupobject>
<global>
<description>Detail Reports</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-computer16.gif</image>
<treelevel>sub</treelevel>
</global>
<views>
<viewobject>RIMHardwareSummary</viewobject>
<viewobject>RAMDevices</viewobject>
<viewobject>RIMHardwareVendor</viewobject>
<viewobject>RIMHardwareCPUMEM</viewobject>
<viewobject>RIMHardwareSERIALBIOS</viewobject>
</views>
</viewgroupobject>
Note: A single .viewgroup file may contain both <viewgroupobject> and
<viewobject> tags. A combination of sub-menu items and views would appear in
the menu list.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 22 of 40
All Rights Reserved
4.3 Views
Directory: views
Extension: .view
A view file contains the framework for reports displayed in the right-side reporting frame. Elements that
may be contained within a view include headers, windows and footers. Headers define processes that
appear at the top of the screen such as the frame functions (back, refresh, home, etc…) and search
criteria summary. Windows define references to window objects that display queried reporting data.
Footers display elements that appear at the bottom of the screen.
The ‘Radia Managed Devices’ View as defined in the ‘RAMDevices.view’ file is shown below. The
portions of the screen affected by the .view file are highlighted in yellow with arrows pointing to the
section of the file that defines each portion of the screen.
View Radia Managed Devices
.view File: views\RAMDevices.view
<viewobject>
<global>
<description>Radia Managed Devices</description>
<visible>true</visible>
<require>DEFENABLE</require>
<image>mode-detail.gif</image>
</global>
<headers>
<header>
<procname>windows_PrintFrameFunctions</procname>
<functions>-</functions>
</header>
<header>
<procname>windows_PrintFilterSummary</procname>
<functions>-</functions>
</header>
</headers>
<windows>
<window>
<windowobject>RAMDevices</windowobject>
<!-- Window Object Overrides -->
<windowstate>Maximize</windowstate>
<windowmode>detail</windowmode>
<detailindex>1</detailindex>
<detailrange>10</detailrange>
<detailsortfield>-</detailsortfield>
<detailsortorder>-</detailsortorder>
</window>
</windows>
<footers>
<footer>
<procname></procname>
<functions></functions>
</footer>
</footers>
</viewobject>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 23 of 40
All Rights Reserved
Note the use of the following tags within the RAMDevices.view file:
<global> section
<description>
As seen in the viewgroups object, the <description> tag defines the text that will appear in the
Reporting Views menu for a View item.
<headers> section
<header>
Each Header tag contains the details for each view header procedure and functions
<procname>
The procname tag refers to built in procedures. In the view example shown, two procedures are
called.
1. The windows_PrintFrameFunctions displays the top menu icons.
2. The windows_PrintFilterSummary displays the currently active filters.
<windows> section
The windows section contains one or more window tags. Multiple window tags can be defined to show
query results from several window objects within one reporting view. Each window displayed in a view
will have its own title row which can be maximized to show the window contents, or minimized to hide
the window contents.
<window>
The Window tag defines a reference to a window object and overrides to tags found within the
window object.
<windowobject>
The windowobject tag references a .window file found in the objects\windows
directory. The .window files contain the details that appear for each report query.
<!-- Window Object Overrides -->
The tags following the ‘window object overrides’ comment can be used to override
several parameters normally defined within a window object (.window file). Several of
these tags will be discussed in the window object section.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 24 of 40
All Rights Reserved
4.4 Windows
Directory: windows
Extension: .window
The window file contains definitions for how detail and graphical data are queried and displayed.
Windows are what the reporting server is all about – displaying data retrieved from the database in an
easy to understand and easy to view format.
Each window may have two modes. Detail mode displays queried data in a row and column format.
Graph mode can display charts and graphs. The definition for how each mode will appear in the window
is defined in the window file.
Since the window file provides a significant amount of flexibility in formatting each field returned from a
query, the file can be quite large in comparison to a typical viewgroup or view file. In the interest of
clarity, each significant section of the window file will be discussed separately below
Detail Mode
Graph Mode
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 25 of 40
All Rights Reserved
Window Radia Managed Devices
.window File: windows\RAMDevices.window
4.4.1 RAMDevices.window – Global Section
<windowobject>
<!-- Global Window Parameters -->
<global>
<description>Primary Listing of Devices</description>
<visible>true</visible>
<windowname>RAMDevices</windowname>
<proc>window_PrintWindow</proc>
<tcl></tcl>
<require>RAMENABLE</require>
<datasource>RIM</datasource>
<cacheenable>[config RAMCACHEENABLE]</cacheenable>
<cachelife>[config RAMCACHELIFE]</cachelife>
<windowtitle>Radia Managed Devices</windowtitle>
<windowstate>Minimize</windowstate>
<windowmode>detail</windowmode>
<detailindex>1</detailindex>
<detailrange>10</detailrange>
<detailsortfield>mtime</detailsortfield>
<detailsortorder>desc</detailsortorder>
</global>
<global> section
The global section of the .window file defines various default parameters for the window. Many of these
parameters can be overridden within a view to provide additional flexibility in the use of window files.
<description> - Unlike the <description> tag of other objects, the <description> tag of the
window object is only informational. It is not displayed.
<windowname> - You should create a unique windowname for each window. When data
caching is enabled, windowname is used to identify the cache file. If a unique name is not used
for each window, cached data from one window’s query may be used as source data for another
window object.
<windowtitle> - This field defines the title that will appear at the top of the window within the
view.
<windowmode> - Defines the default mode of the window
<detailrange> - Defines the default number of records that will be displayed within the window.
<detailsortfield> - Defines the default field that will be used to sort the data. The value defined
in this tag must be the name of the field as returned from the SQL query. The value defined
here is actually used to build add the ‘ORDER BY’ clause to the SQL query. This tag should NOT
contain the name defined by the descriptive <columname> tag defined in the columns section of
the window object (more on the <columname> tag later).
<detaisortorder> - Defines the order to sort the field (desc for descending or asc for
ascending)
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 26 of 40
All Rights Reserved
RAMDevices.window windows object detail / windowfunctions / queryfile section
4.4.2 RAMDevices.window – Detail Mode - WindowFunctions Section
<!-- Detail Section -->
<detail>
<!-- Window Toolbar Functions -->
<windowfunctions>
<function>
<name>ViewMode</name>
</function>
<function>
<name>ExportCSV</name>
</function>
<function>
<name>ExportIQY</name>
</function>
<function>
<name>Notify</name>
<options>devicename</options>
</function>
<function>
<name>NavBar</name>
</function>
</windowfunctions>
<windowfunctions> section
The <windowfunctions> section defines the options that will appear just below the window title. Each
function is defined within a <function> tag containing a name. The names of the functions are built-in
to the RRS core. In the example above, the following functions are shown:
Viewmode – Provides an icon to switch between detail and graphical mode. If you define a window
object with only one mode, then you will want to remove this <function> definition.
ExportCSV – Exports detail data to a CSV file.
ExportIQY – Exports detail data to a dynamic Excel Web Query (IQY) file. This allows Excel to
dynamically retrieve data from the Radia Reporting Server, and even refresh the data requested from
the Reporting Server without having to visit the Reporting Web Site.
Notify – Provides a icon to the Client Notify function of the RRS. The <options> tag must define the
field name containing the machine name of the system used for notification. The Notify icon will not be
visible unless the {NOTIFYENABLE} option in the config.tcl file is enabled.
NavBar – Displays the navigation bar which allows the user to select the number of rows to display at
one time, and to page through the result.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 27 of 40
All Rights Reserved
4.4.3 RAMDevices.window – Detail Mode – Query Tags
<!-- Query Filename and field ID -->
<queryfile>RAMDevices</queryfile>
<queryfield>device_id</queryfield>
The <queryfile> tag within the <detail> section defines the name of the query file to use to query the
database for ‘detail’ mode data. It is important to note that this <queryfile> tag is independent of the
<queryfile>
tag
used
to
query
data
for
‘graph’
mode.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 28 of 40
All Rights Reserved
4.4.4 RAMDevices.window – Detail Mode - Actions Section
<!-- Detail Mode Columns -->
<actions>
<action>
<enabled>1</enabled>
<image>details.gif</image>
<columnname>Details</columnname>
<url>[url]?setview=RAMDeviceDetails_[lindex
7].view&filter=RAM Device ID.filter&value=[lindex $row 0]&</url>
<urlalt>[language "Window Controls" SHOWDETAILS]</urlalt>
<urltarget>_self</urltarget>
</action>
<action>
<enabled>1</enabled>
<image>task-vncviewer.gif</image>
<columnname>Details</columnname>
<url>http://[lindex $row 3]:5800</url>
<urlalt>Remote Control (VNC)</urlalt>
<urltarget>_new</urltarget>
</action>
</actions>
$row
<actions> section
The actions section of the window file defines icons that will be displayed on the left of each row –
allowing a unique action to be initiated based on data from a column within that row. Two common
actions are; Notify, which allows a Client Notify to a single machine and Remote Control , which allows
a VNC session to be established to the machine.
<image> - The name of the image file used to display the icon.
<columnname> - The name of the column that will appear in the header row.
<url> - The web url that will be activated when the user clicks on the icon. Note the <url>
definition
in
the
second
action
above:
<url>http://[lindex
$row
3]:5800</url>
The tcl code [lindex $row 3] would be executed to retrieve the third field returned from the
query. That value would be merged into the remaining text of the <url> tag. Using the first row
of the example screenshot above, the result would be the following URL:
http://wal_esdlab42:5800
<urlalt> - The alternate text that appears when hovering over the action icon.
<urltarget>
The
url
target.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 29 of 40
All Rights Reserved
4.4.5 RAMDevices.window – Detail Mode - Columns Section
<columns>
<column>
<fieldname>device_id</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname></columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
<column>
<fieldname>mtime</fieldname>
<fieldtype>datelocal</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Last Connect</columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
<column>
<fieldname>userid</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Radia ID</columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
<column>
<fieldname>devicename</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Device</columnname>
<columnsettings></columnsettings>
<url>[url]?filter=RAM
Device
Name.filter&value=[quote
$col]]&</url>
<urlalt>[language "Search Controls" ADDFILTER]</urlalt>
<urltarget>_self</urltarget>
</column>
<column>
<fieldname>ipaddr</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>IP Address</columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 30 of 40
All Rights Reserved
[link
4.4.5 RAMDevices.window – Detail Mode - Columns Section
<column>
<fieldname>os</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Operating System</columnname>
<columnsettings></columnsettings>
<url>[url]?filter=RAM Operating System.filter&value=[quote
[link $col]]]&</url>
<urlalt>[language "Search Controls" ADDFILTER]</urlalt>
<urltarget>_self</urltarget>
</column>
<column>
<fieldname>os_level</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>OS Level</columnname>
<columnsettings></columnsettings>
<url>[url]?filter=RAM OS Level.filter&value=[quote [link
$col]]]&</url>
<urlalt>[language "Search Controls" ADDFILTER]</urlalt>
<urltarget>_self</urltarget>
</column>
<column>
<fieldname>tableschema</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname></columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
</columns>
</detail>
[link
[link
<columns> section
The <columns> section contains one <column> tag for each column returned by the query defined by
the <queryfile> tag. Every column returned from a query must have a corresponding <column> tag
identifier
<column> tag – Each column tag contains several fields that define the layout and behavior of a
column.
<fieldname> - Defines the name of the field to be displayed. This field name
should match the name of the field from the SQL query.
<fieldtype> - Defines the type of field for formatting purposes. Fields may be
text, date, numeric.
<columnname> - Defines the text that will appear in the top header column in the
window. If this tag is left blank, the field will not appear in the window at all – it
will
he
hidden.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 31 of 40
All Rights Reserved
4.4.6 RAMDevices.window – Graph Mode – WindowFunctions and Charts Sections
<!-- Graphical Mode/Chart Section -->
<graph>
<!-- Window Toolbar Functions -->
<windowfunctions>
<function>
<name>ViewMode</name>
</function>
</windowfunctions>
<!-- Chart Objects for Graphical Mode -->
<charts>
<chart>
<queryfile>RIMDevices_VENDORMODEL_Graph_OperatingSystems</queryfile>
<queryfield>device_id</queryfield>
<charttype>chart_drawBarChartStacked</charttype>
<chartwidth>700</chartwidth>
<chartheight>150</chartheight>
<charttitle>Operating Systems</charttitle>
<charturl>[url]?RAM OS Level.filter=$charturldata</charturl>
<params>
</params>
</chart>
</charts>
</graph>
</windowobject>
The figure above shows the power of the chart objects in the graph mode. A chart representing
Operating Systems and Service Packs is shown using the ‘chart_drawBarChartStacked
Note the use of the ‘ViewMode’ function to provide an icon to switch back to Detail View.
<charts> section
The <charts> section may contain several chart objects – allowing multiple charts to appear within one
windowobject.
<chart> - Each <chart> section defines an individual chart.
<queryfile> - The name of the file that contains the query used to provide data to the
chart function.
<charttype> - The type of chart drawn.
<chartwidth> - The width in pixels of the entire chart object.
<chartheight> - The height in pixels of the entire chart object.
<charttitle> - The title that will appear at the top of the chart.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 32 of 40
All Rights Reserved
<charturl> - The URL that will be activated when the user clicks on an area of the chart.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 33 of 40
All Rights Reserved
4.5 Window Data Queries
Directory: windows\data
Extension: .sql or .oracle
The “RAMDevices.sql” and “RAMDevices.oracle” files are shown below. These files define the SQL query
to return a set of data used by the RAMDevices.window object ‘Detail’ mode. Since the SQL clause
between MS SQL and Oracle is the same for this query, both files are the same.
RAM Devices – Detail - SQL Query File:
filter\data\RAMDevices.sql
SELECT device_id,
mtime,
device_id as userid,
devicename,
ipaddr,
os,
os_level,
CASE WHEN os like '%Window%' then 'WBEM' else 'CIM' end as tableschema
FROM
<<RAMPREFIX>>deviceconfig
WHERE [devicelist device_id 99]
RAM Devices – Detail - Oracle Query File:
filter\data\RAMDevices.oracle
SELECT device_id,
mtime,
device_id as userid,
devicename,
ipaddr,
os,
os_level,
CASE WHEN os like '%Window%' then 'WBEM' else 'CIM' end as tableschema
FROM
<<RAMPREFIX>>deviceconfig
WHERE [devicelist device_id 99]
The
“RIMDevicesVENDORMODEL_Graph_OperatingSystems.sql”
and
“RIMDevicesVENDORMODEL_Graph_OperatingSystems.sql” files are shown below. These files define
the SQL query to return a set of data used by the RAMDevices.window object ‘Graph’ mode. Since the
SQL clause between MS SQL and Oracle is the same for this query, both files are the same.
RAM Devices – Graph – SQL Query File:
filter\data\ RIMDevicesVENDORMODEL_Graph_OperatingSystems.sql
SELECT
os,
os_level,
COUNT(os) as count
FROM <<RAMPREFIX>>deviceconfig
WHERE [devicelist device_id 99]
GROUP BY os, os_level
ORDER BY os, os_level asc
RAM Devices – Graph - Oracle Query File:
filter\data\ RIMDevicesVENDORMODEL_Graph_OperatingSystems.oracle
SELECT
os,
os_level,
count(os) as count
FROM
<<RAMPREFIX>>deviceconfig
WHERE [devicelist device_id 99]
GROUP BY os, os_level
ORDER BY os, os_level asc
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 34 of 40
All Rights Reserved
4.6 Creating a Custom Report View and Window
The following steps describe the process of creating a simple custom window and view using existing
examples as a template. In the example to follow, a new top menu item will be created called ‘Custom
Reports’. Within the Custom Reports Menu a ‘Video Info’ View will be created that will contain a single
window displaying Video Controller and resolution information.
Additionally, the window will contain the option to enable graph mode. Graph mode will display a bar
chart of the video controllers and screen
resolutions.
For this example, we will start with the
query required to retrieve the data from
the database, and work our way back up
the tree by building a window for the
data, a view for the window, and a
viewgroup to create a menu item for the
report.
Just as creating new filters, it is important to give your custom files a consistent prefix so that they can
be easily identified as custom files and they will remain isolated from future updates to the core
reporting files. In the examples to follow, each of the files will begin with the prefix ‘Custom’.
In the examples to follow, we will be creating query files targeted at a MS SQL database. To create the
same files for an Oracle database, simply save the query files with a .oracle extension, and verify the
correct syntax for an oracle environment.
All files added or modified for the following procedure are found within the reporting server
‘objects\english’ directory structure. All references to directory and file paths are relative to this
directory.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 35 of 40
All Rights Reserved
1. Create a new ‘CustomRIMDeviceVideoInfoDetail’ query file.
1.1. In the windows\data directory, create a new file called
CustomRIMDeviceVideoInfoDetail.sql (or .oracle if you are using an oracle database)
1.2. Edit the new CustomRIMDeviceVideoInfoDetail.sql file to read:
SELECT
device_id,
mtime,
device_id as userid,
devicename,
video,
video_res
FROM <<RAMPREFIX>>deviceconfig
WHERE
[devicelist device_id 99]
Note: The ‘RIMDevice.sql file was used as a template to build this file
2. Create a new ‘CustomRIMDeviceVideoInfoGraph’ query file.
2.1. In the windows\data directory, create a new file called
CustomRIMDeviceVideoInfoGraph.sql (or .oracle if you are using an oracle database)
2.2. Edit the new CustomRIMDeviceVideoGraph.sql file to read:
SELECT
video,
video_res,
count(video) as count
FROM <<RAMPREFIX>>deviceconfig
WHERE
[devicelist device_id 99]
GROUP BY video, video_res
ORDER BY video, video_res asc
Note: The ‘RIMDevicesVENDORMODEL_Graph_OperatingSystems.sql’ file was used as a template to
build this file
3. Create a new ‘CustomRIMDeviceVideoInfo’ window file.
3.1. In the windows directory, copy ‘RAMDevices.window’ to
‘CustomRIMDeviceVideoInfo.window’
3.2. Edit the new CustomRIMDeviceVideoInfo.window file. Here is a summary of the changes:
3.2.1. Update the <global> section to modify title and window name
3.2.2. Update <queryfile> in the <detail> section to reference our
CustomRIMDeviceVideoInfoDetail query file
3.2.3. Remove all information from within the <action> tags to remove the ‘Details’ column.
Note: Do not remove the <action></action> tag completely – they are required within a
window file.
3.2.4. Remove unused columns in the <columns> section, and add columns for the video and
video_res fields
3.2.5. Update the <queryfile> in the <graph> section to reference our
CustomRIMDeviceVideoInfoGraph query file.
The updated CustomRIMDeviceVideoInfo.window file appears below. Significant updates are
indicated in bold blue.
<windowobject>
<!-- Global Window Parameters -->
<global>
<description>Listing of Video Controllers</description>
<visible>true</visible>
<windowname>CustomRIMDeviceVideoInfo</windowname>
<proc>window_PrintWindow</proc>
<tcl></tcl>
<require>RAMENABLE</require>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 36 of 40
All Rights Reserved
<datasource>RIM</datasource>
<cacheenable>[config RAMCACHEENABLE]</cacheenable>
<cachelife>[config RAMCACHELIFE]</cachelife>
<windowtitle>Video Controller Info</windowtitle>
<windowstate>Minimize</windowstate>
<windowmode>detail</windowmode>
<detailindex>1</detailindex>
<detailrange>15</detailrange>
<detailsortfield>mtime</detailsortfield>
<detailsortorder>desc</detailsortorder>
</global>
<!-- Detail Section -->
<detail>
<!-- Window Toolbar Functions -->
<windowfunctions>
<function>
<name>ViewMode</name>
</function>
<function>
<name>ExportCSV</name>
</function>
<function>
<name>ExportIQY</name>
</function>
<function>
<name>Notify</name>
<options>devicename</options>
</function>
<function>
<name>NavBar</name>
</function>
</windowfunctions>
<!-- Query Filename and field ID -->
<queryfile>CustomRIMDeviceVideoInfoDetail</queryfile>
<queryfield>device_id</queryfield>
<action></action>
<!-- Detail Mode Columns -->
<columns>
<column>
<fieldname>device_id</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname></columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
<column>
<fieldname>mtime</fieldname>
<fieldtype>datelocal</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Last Connect</columnname>
<columnsettings></columnsettings>
<url></url>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 37 of 40
All Rights Reserved
<urlalt></urlalt>
<urltarget></urltarget>
</column>
<column>
<fieldname>userid</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Radia ID</columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
<column>
<fieldname>devicename</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Device</columnname>
<columnsettings></columnsettings>
<url>[url]?filter=RAM Device Name.filter&value=[quote
[link $col]]&</url>
<urlalt>[language "Search Controls" ADDFILTER]</urlalt>
<urltarget>_self</urltarget>
</column>
<column>
<fieldname>video</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Video Controller</columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
<column>
<fieldname>video_res</fieldname>
<fieldtype>text</fieldtype>
<fieldsettings></fieldsettings>
<columnname>Video Resolution</columnname>
<columnsettings></columnsettings>
<url></url>
<urlalt></urlalt>
<urltarget></urltarget>
</column>
</columns>
</detail>
<!-- Graphical Mode/Chart Section -->
<graph>
<!-- Window Toolbar Functions -->
<windowfunctions>
<function>
<name>ViewMode</name>
</function>
</windowfunctions>
<!-- Chart Objects for Graphical Mode -->
<charts>
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 38 of 40
All Rights Reserved
<chart>
<queryfile>CustomRIMDeviceVideoInfoGraph</queryfile>
<queryfield>device_id</queryfield>
<charttype>chart_drawBarChartStacked</charttype>
<chartwidth>700</chartwidth>
<chartheight>150</chartheight>
<charttitle>Video Controllers</charttitle>
<charturl></charturl>
<params>
</params>
</chart>
</charts>
</graph>
</windowobject>
4. Create a new ‘CustomRIMDeviceVideoInfo’ view file.
4.1. In the view directory, copy ‘RAMDevices.view’ to ‘CustomRIMDeviceVideoInfo.view’
4.2. Edit the new CustomRIMDeviceVideoInfo.view file to reference our new window file as seen
below:
<viewobject>
<global>
<description>Video Info</description>
<visible>true</visible>
<require>DEFENABLE</require>
<image>mode-detail.gif</image>
</global>
<headers>
<header>
<procname>windows_PrintFrameFunctions</procname>
<functions>-</functions>
</header>
<header>
<procname>windows_PrintFilterSummary</procname>
<functions>-</functions>
</header>
</headers>
<windows>
<window>
<windowobject>CustomRIMDeviceVideoInfo</windowobject>
<!-- Window Object Overrides -->
<windowstate>Maximize</windowstate>
<windowmode>detail</windowmode>
<detailindex>1</detailindex>
<detailrange>15</detailrange>
<detailsortfield>-</detailsortfield>
<detailsortorder>-</detailsortorder>
</window>
</windows>
<footers>
<footer>
<procname></procname>
<functions></functions>
</footer>
</footers>
</viewobject>
5. Create a new ‘CustomRIMDeviceVideoInfo’ viewgroup file.
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 39 of 40
All Rights Reserved
5.1. In the viewgroup directory, copy ‘RAMDevices.viewgroup’ to ‘CustomReports.viewgroup’
5.2. Edit the new CustomReports.viewgroup file to reference our new view file as seen below:
<viewgroupobject>
<global>
<description>Custom Reports</description>
<visible>true</visible>
<require>RAMENABLE</require>
<image>ads-inventorymanager16.gif</image>
<treelevel>top</treelevel>
</global>
<views>
<viewobject>CustomRIMDeviceVideoInfo</viewobject>
</views>
</viewgroupobject>
6. Start a web browser, and visit the Radia Reporting Server web site. You will see a new ‘Custom
Reports’ menu item in the Report Views List. Selecting this menu item will expose the ‘Video Info’
reporting view menu option. Selecting the ‘Video Info’ view will present the new detail report.
7. Selecting the Graph mode icon ( ) will present the defined chart:
© Copyright 2004 Hewlett Packard Development Company, L.P.
2005-07-22
Page 40 of 40
All Rights Reserved