1. Knowledge Base Home
  2. Additional Functionality

QW QLM - Using Generic Table Interface

This document describes how the Generic Table Interface (GTI) in Qualiware provides a way for clients to interact with multiple types of database tables or other structured data sources.

Introduction 

In the context of database management, a Generic Table Interface (GTI) provides a way for clients to interact with multiple types of database tables or other structured data sources. Data can easily be accessed and manipulated using GTIs, and QualiWare can do just that.  

QualiWare allows the extraction of content to be used as an instance of a template within the QualiWare Lifecycle Manager (QLM). This feature can be utilized to import data from any file separated by commas, tabs, or semi-colons. This data can then be directly mapped to more than seven hundred templates in QLM. The contrary is also possible as this is a two-way interface; objects in QLM with all related content can be exported in CSV format which can be visualized on applications such as Microsoft Excel, Google Sheets, etc.  

GTI Setup 

The GTI source spreadsheet file must be saved in a comma-separated value (CSV) format. QLM differentiates sets of data as separated by a defined delimiter: commas, tabs, or semi-colons as mentioned earlier.  

 

There are a couple of things to be noted about the source spreadsheet file: 

  • The first column should not contain information that doesn’t need to be loaded nor should it have numbered.  
  • Column names should not start with numbers of special characters. 
  • If the column names for the desired property in the first row contain more than one word, the words should be connected with an underscore or space removed (i.e., Short Description would become Short_Description or ShortDescription). Otherwise, QLM will automatically insert underscores between words with spaces.   
  • The property of the first-row titles is favored to match the spelling of the desired template, (i.e., for a Business Process Diagram, the spellings of example templates can be Activity, ShortDescription, Description, Responsible, etc.) 
  • The file should be saved in CSV format when saving and the file directory noted. 

    A sample CSV file looks like this:  Calendar

Description automatically generated with medium confidence

Once a CSV file has been generated, QLM can be set up to import data from the file.  

Setting up a GTI in QLM: 

  1. Once QLM has loaded, click the “Show all Templates” button to show the Generic Table Interface template.                                                                                                    Graphical user interface, text, application

Description automatically generated
  2. Navigate to “Generic Table Interface” (it may be easier to scroll through QLM by pressing the “g” key on the keyboard to jump to templates starting with the letter g). Create a new GTI and rename it as desired. In this example, it will be named “TestGTI”. Graphical user interface, application

Description automatically generatedGraphical user interface, application

Description automatically generated
  3. Open the GTI to move on to the steps for importing or exporting. Graphical user interface, application

Description automatically generated

Import to QLM 

To import into QLM, some steps need to be followed.  Graphical user interface, application

Description automatically generated

  1. First, click on the “Input” dialogue to select the Import function.  
  2. If the CSV file can be located, browse for the file using the “Browse” button.  
  3. If the file is browsed for, there is no need to select the “Prompt for file” option. If the Input File field is left blank and the Prompt for File checkbox is checked, then when running the GTI the user will simply be presented with a dialog to choose the input file.  
  4. In the Delimiter field, the correct delimiter must be selected accordingly. The four delimiters available in the QLM dropdown list are semicolon (;), space, comma (,), and tab.  Graphical user interface, application

Description automatically generated
  5. In the CSV file, the user must have a row where the column headings are identified, typically row 1. The “Skip Input Line(s)” field must be set to appropriately deal with the number of lines to skip before reading the first line that will be transformed into objects in the repository. 
  6. If the user were using a Database as a Data source, then the fields of the Database area of the dialog would be filled in, but in the case of using a CSV file, it is not necessary to complete any of the Database fields. 
  7. Select the checkbox where it says, "For each record create an object ...." and choose the desired QLM template from the drop-down box. 
  8. If there are QCL functions to process the data, this will be inputted in the box after, "For each record call the function". 
  9. By selecting the Autofill Input Choices button, the Input Choices window will be populated with the names of the columns from the CSV file. 

Once these are filled out, the “Fields to Attribute mapping” section will need to be completed. To insert a new entry, right-click and press “insert”.                                                 Graphical user interface

Description automatically generated

The next 7 fields will need to be edited as needed. By double-clicking in the Field column of the window (or pressing F2), the attribute list from the Input Choices window will appear. Chart, bubble chart

Description automatically generated

  1. This is where the Attribute name can be renamed to one of the objects in the selected templates from Step 8 above.  
  2. The Field column of the window will have an attribute list from which Input choices will appear. Choose the appropriate attribute to link to.  
  3. The Type column is where the type of data is being inputted: 
    a. ID: This implies that for each row of the spreadsheet where the Field is populated, a new Object will be created in the repository with the name. (Note: If the type is set to ID, the import routine will reuse objects with the same name instead of creating duplicate objects in the repository. If it is not set to ID, duplicate objects with the same name will populate. 
    b. Other types include Text, Link, LinkedBy, or Date formats, depending on the data in the field of the corresponding CSV file.  
  4. If multiple links or text fields are in the CSV file, the Action column of the Attribute Mapping window can also be used to define what sort of action should be taken. I.e., Overwrite, Append to list in object, Prepend to list in object, etc.  
  5. The Translate column allows the user to specify how the text should be formatted. There are options for all lower case, all upper case, or mixed case. Should an option not be chosen, the text will appear as in the CSV file.  
  6. The Link Template allows the field to be linked to another template, only if the Type is set to Link. This field specifies what template the objects should link to and the type of relation between the objects is selected in the Attribute column. 
  7. Similar to the Link Template field, the Link Attribute field is only required when the type is set to LinkedBy. The Link Template field will represent what template the imported objects should be LinkedBy, and the LinkedBy-relationship is specified in the LinkedAttribute column. 

Once all the information required is filled out, press Apply, and navigate back to the GenericTableInterface dialogue.

Graphical user interface, text, application

Description automatically generated

From here, select Generate Functions. Once a Summary is created, pressing the Test Input button will execute the import and the data from the CSV file will be imported. Note: the name on this button may be interpreted incorrectly. It may say test, but this is not a test; it will run the function.  

Export from QLM 

The generic table interface can be used to export repository content from the QualiWare Lifecycle Manager in CSV file format. The format is similar to the input section.  Graphical user interface, application, Word

Description automatically generated

GTI Scenarios 

Here are 3 examples of scenarios where a GTI would be beneficial for the sake of allocating time and resources efficiently. Each example will have a screenshot of the CSV file that the information is being retrieved from, the GTI input page of what functions were manipulated, and lastly the output of what can be expected from the Input. The final example will include the context view (see Context view for more information). 

1. Stakeholders or Org Chart import 


An organization chart is a very common diagram representing the structure of an organization, showing the relationships between different positions and departments. Often, this information can be stored in a document or an Excel file, and creating objects for each part of the organization can become tedious. With the GTI function, with the correct settings, an object will be created for each different position. Relationships can be auto-created within these objects from the CSV file as well.  

Text Box

CSV File:

 

Graphical user interface, text, application

Description automatically generated

GTI Input:  

Graphical user interface, application

Description automatically generated

Output: 

Graphical user interface, application

Description automatically generated

Context View: 

Diagram

Description automatically generated

If changes are made to the CSV file and more people are added to the organization, performing another input will reflect the changes. 

Updated CSV File: 

Text

Description automatically generated

Updated Input: 

Same as before 

A picture containing scatter chart

Description automatically generated

Updated Context View: 

Diagram

Description automatically generated

 

2. Application Portfolio Management (APM)  

APM is the process of analyzing and managing a company’s portfolio of various software applications, aiming to optimize the use of resources, reduce costs, and mitigate risk among other goals. These can easily be imported through the use of GTIs.  

CSV File (File attached below):                                                                                                                               Graphical user interface, text, application, chat or text message

Description automatically generatedGraphical user interface, text, application, chat or text message

Description automatically generated

GTI Input: 

Graphical user interface, text, application, email

Description automatically generated

Output: 

Graphical user interface, text, application, email

Description automatically generated

3. Business Process

An organization may have numerous business processes, defining the set of activities or tasks designed to achieve the business or organization’s goals. These are standard objects in QualiWare and can be easily imported with GTIs.  

CSV File:                                                                                                                                                                                                           Table

Description automatically generated

GTI Input: 

Graphical user interface, application, email

Description automatically generated

Output: 

Graphical user interface, text, application

Description automatically generated

Context view

QualiWare provides users with a swift way to view relationships among objects using the ContextView button. This button provides a visual representation of an object and any relationship it may have with other objects. The limitations to such a button are that this view cannot be saved, and a permanent diagram would have to be modeled for saving.  

Changes in CSV File 

What does a change in data from the source CSV file cause to the information in QLM? 

After edits have been made to a CSV file, it would need to be reimported to reflect the changes made. Editing a title causes a change to the Input Choices. Meanwhile, editing a text field causes changes in the content. If the object title does not change from one edit to the other, the original object will be edited. On the other hand, if the title has a different name in the edited file, a new object will be created.  

Alternatives for Porting Data  

1. Load file content into spreadsheet-QW Web GTI Alternative 

This feature is a web alternative to the generic table interface. It allows architects and plus license users to import the content into QW with a very similar user interface to GTI. There are certain limitations to this feature as it lacks core documentation. However, CloseReach has prepared some examples to demonstrate how this feature works. Please find that here:                            

2. Table-to-Model 

Another excellent feature available only in the QW Web is the Table to Model feature. Recently introduced in QW 10.8, the feature can create a diagram from a CSV table. The primary difference from the previous feature is Table-to-Model requires HTMLModelGenerator setup in QLM and it is superior in visualizing and manipulating objects on the diagram. It is capable of setting connectors and swim lanes. Depending on the structure of CSV’s columns, Table-to-Model can save a lot of time by automatically drawing the diagram and plus-users can do so with minimal QW technical training. For more information on how to use and set up Table-to-Model, visit HTML Model Generator Settings | QualiWare Center of Excellence. Otherwise, an example can be found here:                                                                                                                                

More Resources 

A list of further resources on this subject matter which may be useful: 

1. QualiWare’s guide on Generic Table Interfaces  

2. PSPC GTI Example and Guidelines                                                                                                            

3. QualiWare 2014 guide on Generic Table Interfaces