preload

Project Entities (HP ALM/QC)

Posted by Albert Gareev on May 06, 2015 | Categories: HP ALM / QC

This is a technical entry with my research-and-experiment notes. Feel free to add or argue. Try at your own risk.

This entry is dedicated to customization of “Project Entities” – i.e. data objects in QC, with the examples from “Defects” module (or “Issues”, as I renamed it).

Overview

Project Customization view (1) enlists components on the left side (2) with the component details view in the center panel.  Project Lists (2a) is a cross-component collection: whenever an enumeration type is used, the lists and their elements need to be declared as a standalone entity.

For Issues (3), QC has System Fields and User Fields categories (4).  In fact, it’s all issue properties. System Fields are hard-coded in QC database and cannot be removed but are still customizable to some extent. We cannot add a new System Field either. User Fields category (4) enables adding /removing new fields (5) and custom setting of their properties.

HPALM1

General Field Settings

There’s a fixed list of System Fields (1) . Adding or removing (2) new System Fields is not allowed. Settings (3), however, are a bit customizable.

  • Name (4) is hard-coded (“BG_STATUS” in the example below).
  • Label (5) is customizable, and that’s what is displayed in the UI.
  • Type (6) is hard-coded for System Fields.
  • Length (7) is hard-coded for System Fields.
  • Sanitization (8) is hard-coded for System Fields.
  • Flags (9) are partially customizable for System Fields.
  • Lookup list (10) for System Fields is pre-defined; you can add/remove  your custom elements but cannot modify/remove pre-defined items.

Online help system provides a good description for all these Field Settings. There are few tricks though:

  • You’ll have to explicitly hide unwanted fields and make them un-editable for users
  • All references to the fields in the code are done through name, so you may need to create a table mapping field names (“BG_..” type) to meaningful labels
  • History flag is required both for change tracking and data collection for trending reports
  • Verify Value flag turns on automatic verification of user input. Make sure to turn it on for List type.

HPALM2

User Fields

HPALM3

User Fields category allows adding/removing (1) and customizing settings of the fields. Name (2) is auto-generated and hard-coded, so again – you may need to have a translation table for yourself to map “BG_..” type names to meaningful labels (3). There are four data types (4). And you can declare your custom lists (5).

There are also a few tricks:

  • Come up with a consistent naming convention for the lists for better tracking during future maintenance
  • Severity and Priority have a reversed (comparing to the industry common) order. Severity 1 is a ‘cosmetic’ problem by default.
  • It seems HP ALM does not consistently handle timing out for when you’re in customization mode. So make sure to save changes to prevent their loss or corruption during time out.
  • I’ve also experienced a few crashes upon saving of the customization (at least, in version 12.2) which led to unknown state – some changes were saved, some were not. So I applied changes one by one in a careful sequence, saving and logging out to make sure that the changes are “committed” to the server.
  • It takes a few minutes before admin changes become effective. So when customizing and testing the changes you may encounter that “it didn’t work” – wait 3-5 minutes and retry before digging for mistake.

And remember main connections of Project Entities:

  • Project Lists for List data types
  • Permissions for customization of access depending on User Group
  • Workflow for customization of defect lifecycle model and on-the-fly rules and permissions
  • Reports – for they are based on the data fields

  • Leave a Reply

    * Required
    ** Your Email is never shared

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by Albert Gareev is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.