Integration between Repository Object Browser and Headstart Utilities Quality Reports

The Repository Object Browser is a valuable web-based interface to the Oracle Designer and SCM Repository, as I discussed in a recent post: Installing the Oracle Designer Web Interface – Repository Object Browser (dig up that little nugget). Another valuable tool that adds functionality to Oracle Designer is the Headstart Utilities. This component of the iDevelopment Accelerator’s Suite provides the backbone for CDM RuleFrame as well as a number of general Productivity Boosters. In addition, the Headstart Utilities contain a set of Quality Reports.

These Quality Reports perform an audit of elements in Oracle Designer, such as Modules, Table Definitions or Entities. This audit is performed against the CDM (Custom Development Method) standards. However, if you want to, you can implement your own quality checks in addition to or instead of the CDM based checks. The user interface to the Headstart Utilities is a WebForm. Needless to say that using the Headstart Utilities requires a WebForm Server installation. This can be somewhat of a obstacle. This post discusses how – with minor changes – you can integrate the Headstart Utilities Quality Reports with the ROB. This integration means that you invoke the Headstart Quality Reports from the ROB report. The Quality Report is displayed in the browser window. No Form Server is required any longer, the server side installation of Headstart Utilities – just a number of database packages and tables – suffices!

When the changes described in this post have been applied, every ROB Report will have an icon added to the menubar
Integration between Repository Object Browser and Headstart Utilities Quality Reports rob MenuBar
The last icon in the bar is the new icon for the Headstart Utilities Quality Report. This icon provides access to the quality report belonging to the element shown in the normal ROB Report. Below we see a Table Definition Report for table HSD_EMPLOYEES.
Integration between Repository Object Browser and Headstart Utilities Quality Reports ROB qaIcon
When the icon is clicked on, the Headstart Utilities Quality Report is invoked. Its results are retrieved and returned as web-page in the ROB framework:
Integration between Repository Object Browser and Headstart Utilities Quality Reports rob qareport

From the Quality Report there are direct links to a document containing the CDM Standards and descriptions about these standards:
Integration between Repository Object Browser and Headstart Utilities Quality Reports rob qaCDMStandards

The second part of this post will discuss how to actually integrate Headstart Utilities with the ROB. Note: this whole article is only relevant to you if you are a Headstart Utilities user – which you can only become by acquiring the iDevelopment Accelerator’s Suite from Oracle; see for example http://www.oracle.com/technology/products/headstart/index.html.

Steps to integrate Headstart Utilities with the Repository Object Browser

The Repository Owner – the database schema that contains the Repository Object Browser’s packages – requires a number of execute privileges on database packages owned by the Headstart Utilities owner.

Access to Headstart Utilities objects

grant execute on blapi to repos10g;
grant execute on htp to repos10g;
grant execute on hws_util to repos10g;
grant execute on hsu_qa to repos10g;
grant execute on hsu_qa_html to repos10g;
grant execute on hsu_ent to repos10g;
grant execute on hsu_fun to repos10g;
grant execute on hsu_dom to repos10g;
grant execute on hsu_tbl to repos10g;
grant execute on hsu_vw to repos10g;
grant execute on hsu_gem to repos10g;
grant execute on hsu_plm to repos10g;
grant execute on hsu_osq to repos10g;
grant execute on hsu_orc to repos10g;
grant execute on hsu_evt to repos10g;

The Repository Owner also needs to create a synonym hsuhtp on the HTP package in the Headstart Utilities owner schema:

create synonym hsuhtp for hsu65.htp

Upload images and static HTML document to server

The Headstart Utilities Quality reports make use of a number of images, for the menu-bar and also for the layout of the report itself. The reports also contain links to a document with background reference details on all CDM Standards that are being audited against. This document – cdmli.htm – as well as all images must be copied to the directory on the server that also contains all ROB images (and has been setup as ROB_IMAGES alias in the Apache configuration file.

Create new package: ROB_HSU

Download rob_hsu.pks and rob_hsu.pkb

Run both files in SQL*Plus or another SQL environment as Repository Owner. This will create the ROB_HSU package.

Make a (very small) change in the cdwp package

Open the Package Body for package CDWP, either directly in the database – through TOAD, PL/SQL Developer or JDeveloper for example – or using the package body source – file cdwp.pkb in directory ORACLE_HOMEREPADM61robddl

Locate procedure menu_bar.

Add these lines of code, at the end of the first if-then block:

		-- ADDED for HSU integration with ROB
	     l_menu_bar:= l_menu_bar
         ||rob_hsu.hsu_menu_bar(p_el_short_name, p_el_id);
		-- END ADDED for HSU integration

The result looks like this:

...
       if not odwactxt.get_static
       then
        l_menu_bar:= l_menu_bar
        ||brw_link
          ( p_ivid       => nvl( odwactxt.get_pac_ivid, cdwpbase.get_best_ivid(odwactxt.get_pac_irid))
          );
        l_menu_bar:= l_menu_bar
--          ||repsearch_link
          ||cdwpbase.ifThenElse
            ( nvl( odwactxt.get_pac_ivid, odwactxt.get_pac_irid) is not null
            , vhv_link(p_js_available => true)
            )
          --||compare_link( p_app_name     => p_app_name
--               ,          p_app_version  => p_app_version
--               ,          p_el_short_name=> p_el_short_name
--               ,          p_el_id        => p_el_id
--             )
             ;
		-- ADDED for HSU integration with ROB
	     l_menu_bar:= l_menu_bar
         ||rob_hsu.hsu_menu_bar(p_el_short_name, p_el_id);
		-- END ADDED for HSU integration
        end if; -- p_static = false

        htp.tabledata
         ( cvalue=> l_menu_bar
...

Compile the package body.

This completes the integration of Repository Object Browser with the Headstart Utilities Quality Reports.

Next Steps

Next steps can be the following:

  • Integrate the Headstart Utilities Productivity Boosters in the ROB. That would allow usage of the Headstart Utilities from the ROB applications. This requires a reconstruction of the Headstart Utilities Start Form in HTML using Web PL/SQL. Due to the meta-data foundation for the Start Form – everything is specified in tables – this should be fairly easy.
  • Add your own Quality Checks to the hsu_qa_element type packages.