Customizing Universes, Groups, and Report Templates
This section provides information about how to customize the universes and report templates that are generated by Angles Generator for SAP Business Objects (Angles Generator ).
Customization Methods
The Angles Generator provides administrators with a high level of customizability to modify what the generator creates. There are a number of methods that can be used to customize the generated universes. Before choosing one, it is important to understand the differences between them. Once this is done, you can choose the method most applicable to your specific needs.
The following table describes the different customization methods available.
Method | Description | Syntax/Tool | Affected Objects | Expected Frequency of Use |
---|---|---|---|---|
NoetixViews Hook Scripts | Modifies and limits Noetix Views (NoetixViews) metadata available to all generations. Allows granular control of how the generator reads the NoetixViews schema. | Oracle PL/SQL | All generated NoetixViews objects | Common and recommended |
Metadata Manager | Modifies Noetix Analytics or RapidDecision metadata directly. Allows granular control of metadata values used by the generator. Modifications will always be reflected in Noetix Search (Noetix Search). | Metadata Manager | Most generated Noetix Analytics or RapidDecision objects. | Common and recommended |
Generator Hook Scripts | Modifies and limits the metadata available to the generator without modifying NoetixViews, Noetix Analytics, or RapidDecision itself. Allows granular control of the metadata used by the generator. This customization method allows customization of generator-specific metadata describing custom dimension hierarchies, contexts, and other objects. | Oracle PL/SQL | All generated objects | Common and recommended. Scripts will usually be portable for use with Noetix Search. |
Metadata Override File | Performs similar functions as NoetixViews hook scripts without altering NoetixViews metadata. You may easily switch override files between generations. | Oracle PL/SQL, XML | Generated NoetixViews objects in the current generation | Relatively uncommon. Generator hook scripts will usually prove easier to debug and maintain. |
Method | Description | Syntax/Tool | Affected Objects | Expected Frequency of Use |
Manual Universe Modifications | Additions are made directly to the universes using Universe Designer. | Universe Designer | Objects in specific generated universes | Recommended, but only for objects and properties not described in metadata. |
While it is possible to make manual additions to the generated universes through Universe Designer, the other approaches will usually be more efficient and maintainable in the long term.
Using NoetixViews Hook Scripts
Hook scripts offer a powerful mechanism of suppressing, extending, and modifying the default objects in your NoetixViews schema. Changes you make via hook scripts will affect any downstream processes that rely on these objects. If you use hook scripts to customize generator output, you will need to re-run the appropriate NoetixViews stages prior to running the generator. See the NoetixViews product documentation and training materials for more information on creating hook scripts.
Using Metadata Manager
Metadata Manager is often the easiest way to customize the Noetix Analytics or RapidDecision content generated into BusinessObjects universes. Some generator-specific metadata cannot be modified using this tool. For those items, use one of the other customization methods.
Using Generator Hook Scripts
Angles Generator also provides customization points that can be used to customize the content generated into BusinessObjects universes and Central Management Server. These customization points can be utilized by modifying the stock hook script files that come as part of the installation of Angles Generator .
These hook script files can be found in the [Generator install folder]\Scripts folder and have names starting with “hk_”. Each hook script file will execute any PL/SQL statements contained within the file. These hook script files are executed at the end of the script file with a similar name. For example, the hk_popgvw.sql hook script executes at the end of the popgvw.sql script.
Contact Magnitude for more information on utilizing these hook scripts.
If the Angles Generator hook scripts are used to customize the content generated by Angles Generator , those files should be backed up in case the computer that Angles Generator is installed on experiences an unrecoverable hardware or software failure.
Creating and Using a Metadata Override File
Metadata override files duplicate most of the functionality of generator hook scripts. In practice, hook scripts will usually be easier to maintain and debug for all but the simplest scenarios.
The generator uses a series of SQL SELECT statements to read metadata from the generator metadata layer. The generator nests some of these SELECT statements to read from views with parent-child relationships. For example, the generation processes multiple records in n_gen_view_columns_v for each record in n_gen_views_v. The default SELECT statements used by the generator are described in a plain text file, MetadataReader.xml, which resides by default in C:\Program Files\Noetix\Angles for Oracle Generator
for SAP BusinessObjects. For example, the XML block:
<Query id="RolesToViews">
<Select>
<Columns>
<Column id="role_name">role_name</Column>
<Column id="view_name">view_name</Column>
<Column id="view_description">view_description</Column>
<Column id="view_essay">view_essay</Column>
</Columns>
<From>n_gen_role_views_v</From>
<OrderBy>role_name, view_name</OrderBy>
</Select>
</Query>
directs the generator to use the SQL:
SELECT role_name,
view_name,
view_description,
view_essay
FROM n_gen_role_views_v
ORDER BY role_name, view_name
when organizing the classes in the generated universes.
All or part of the MetadataReader.xml
file can be customized with an override file. The procedure that follows describes how to create a metadata override file. If a file is specified, the generator automatically merges the information in your metadata override file in with the defaults in MetadataReader.xml. It is not necessary or recommended that you include any redundant data elements in your XML; only include the elements you wish to add or replace.
Never modify MetadataReader.xml
directly. If you do, your changes will automatically be overwritten the next time you reinstall or upgrade the generator. Instead, see the section below.
To create and use a metadata override file:
- Open a text editor, such as Notepad, and create a new XML file.
- Add XML to the file, using the format found in
MetadataReader.xml
, to define the SELECT, FROM, WHERE and ORDER BY clauses of the metadata SQL statements that you wish to modify (See the “Metadata Override File Example” section for more information). - Save the file. This file is now a metadata override file.
- Open the generation arguments file used for your generation using a text editor. If you do not have a generation arguments file, open the [Generator Install Folder]\DefaultGenerationArguments.xml file.
- Find the <MetadataOverrideFile /> tag in the <NoetixViewsArguments> tag within the file.
- Replace the <MetadataOverrideFile /> tag with <MetadataOverrideFile>[Metadata Override File Path]</MetadataOverrideFile>, replacing [Metadata Override File Path] with the path to the actual metadata override file you wish to use.
- Save the file.
- Launch Angles Generator and continue with the generation. The generator will utilize the metadata override file, taking into account the overrides specified in the file.
The Angles for Oracle Generator graphical user interface no longer allows administrators to specify metadata override files there. They must be specified now by directly editing the generation arguments file. Magnitude deemed this feature to be very infrequently used and removed it from the user interface to avoid future confusion.
The metadata override file will continue to be used during future generations or regenerations until the generation arguments file is modified again, eliminating the metadata override file specified in the <MetadataOverrideFile> tag.
Metadata Override File Example
This example illustrates how to create a metadata override file. Continuing with the example introduced earlier, suppose you would now like to:
- keep two views out of the generated universes
- make the view essays appear in all uppercase
To do this, you need to direct the generator to use this SQL instead:
SELECT role_name,
view_name,
view_description,
UPPER(view_essay)
FROM n_gen_role_views_v
WHERE view_name NOT IN ('MyFirstExcludedView', 'MySecondExcludedView')
ORDER BY role_name, view_name
This is accomplished by creating a separate XML file with the following text:
<?xml version="1.0" encoding="utf-8"?>
<Reader>
<Query id="RolesToViews">
<Select>
<Columns>
<Column id="view_essay">
UPPER(view_essay)
</Column>
</Columns>
<Where>
view_name NOT IN ('MyFirstExcludedView', 'MySecondExcludedView' )
</Where>
</Select>
</Query>
</Reader>
This is a metadata override file. If you included it in a generation, the generator would automatically:
- add a WHERE clause to the query to filter out the two excluded views
- overwrite the “view_essay” column within the “RolesToViews” query
Additional details on applying metadata overrides are given in the comment block in MetadataReader.xml.
Manual Universe Modifications
The Angles Generator supports the addition of custom third party classes and objects to the generated universes using SAP BusinessObjects Universe Designer. It also supports modification to some of the properties of Noetix-owned objects. Before introducing custom content, confirm that the same content cannot be made available through customizations to NoetixViews or by exposing the custom objects in Noetix Analytics or RapidDecision using Metadata Manager.
For more information about customizing NoetixViews, see the Noetix Views Administrator Guide. See the Universe Designer documentation for more information on working with Universe Designer. Also see the Regenerating Universes and Report Templates chapter of this document for details on the core regeneration algorithm.
While manual additions can be made to the generated universes, insightsoftware recommends that you make changes via NoetixViews hook scripts, Metadata Manager, generator hook scripts, or a metadata override file. Noetix objects and classes should never be deleted from the generated universes directly. Instead, use a NoetixViews hook script or Metadata Manager to suppress the unneeded items.
Noetix-Owned attributes of universe items
The generator controls the value of most, but not all, attributes of items within the universe. Attributes that are not controlled by the generator can generally be changed manually and changes will be preserved during regeneration.
If you find yourself making several manual modifications, please contact insightsoftwareSupport and provide feedback. Magnitude will use customer feedback when prioritizing customization capabilities in future generator releases.
Tables
Custom tables may be added directly to the universe. Tables created by the generator should not be modified directly using Universe Designer.
The following properties of tables are Noetix-owned and will be overwritten during regeneration.
- Name
- SQL Expression
Joins
Custom joins may be added directly to the universe. Joins created by the generator should not be modified or removed using Universe Designer. Instead, use one of the other customization methods mentioned earlier in this chapter.
The following properties of joins are Noetix-owned and will be overwritten during regeneration.
- Expression
- Cardinality
- Outer join checkboxes
Classes
Custom classes may be added directly to the universe. Classes created by the generator should not be modified or removed using Universe Designer. Instead, use one of the other customization methods mentioned earlier in this chapter.
The following properties of classes are Noetix-owned and will be overwritten during regeneration.
- Name
- Description
Objects
Custom objects may be added directly to the universe. Objects created by the generator will have some properties overwritten while other properties will remain untouched. To change a value that would otherwise be overwritten, use one of the other customization methods mentioned earlier in this chapter.
The following properties of objects are Noetix-owned and will be overwritten during regeneration.
- Name
- Type
- Description
- Select
- Where
- Qualification and Function
- Associate a List of Values (LoVs)
- Allow users to edit this list of values
- LoVs custom SQL statement (XI 3.1 SP3 FP4 and later; only applied to objects which have an LoV listed in the current metadata.)
For example, since the current version of the generator doesn’t modify values in the Can be used in section on the Advanced tab, you could manually modify this value and it would be preserved during regeneration.
Contexts
The generator removes manually modified contexts and recreates them using the generator metadata. A renamed context will be ignored unless its new name collides with a context in the history or in the metadata. You may customize generated contexts using a generator hook script.
Hierarchies
The generator removes the class membership information from modified hierarchies and recreates them using the generator metadata. As a result, generated hierarchies cannot be modified directly using Universe Designer. Instead they may be modified using a generator hook script.
Lists of Values
As indicated in “”, the generator does not use its standard intelligent regeneration logic for LoVs, and maintains no history of LoV mapping ownership. Hence it will not currently remove any object’s existing LoV mapping. It will, however, overwrite the SQL of any LoV mappings associated with objects which have LoVs in the Noetix metadata.
Customizing NoetixAnswers
The report templates generated during the Generate NoetixAnswers step can be customized. The generated report templates should never be modified using BusinessObjects InfoView or BusinessObjects Web Intelligence, however. Instead, they should be modified using the methods outlined in this section and then regenerated using the Angles Generator .
The attributes (columns, filters, parameters, etc.) of the generated report templates can be modified using NoetixViews hook scripts or a metadata override file. For more information on creating hook scripts, see the NoetixViews product documentation and training materials. For instructions on creating a metadata override file, see “Creating and Using a Metadata Override File” in “Customizing Universes, Groups, and Report Templates”.