Oracle® Agile Product Lifecycle Management for Process

PQM Extension Library Solution Pack

Extensibility Pack 3.6
E50238-01

  

 

  

 

October 2013

 

 

 

 

 

 

 

 

 

 

 

 


Copyrights and Trademarks

Agile Product Lifecycle Management for Process

Copyright © 1995, 2013, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

 


 

Contents

Preface.. 6

Audience. 6

Variability of Installations. 6

Documentation Accessibility. 6

Access to Oracle Support. 6

Software Availability. 6

Introducing the PQM Extension Library.. 7

Purpose. 7

Overview.. 7

Object Notifications. 7

Action Menu Icon. 7

Notification Panel 8

Object Notification Locations. 8

Grid Notifications. 9

Quality Concern Count. 9

Quality Concern Alert. 9

Grid Notification Locations. 10

Installing/Upgrading the PQM Extension Library.. 11

Installing the Solution Pack. 11

Database Setup. 11

Application Installation/Upgrade. 11

Installation. 12

Upgrade. 12

Configuring the PQM Extension Library.. 12

Enabling Columns. 12

General GSM & SCRM... 12

CustomerSettings.config. 12

Formulation Specifications. 13

CustomFormulationExtensions.xml 13

Configuring Content. 14

CommonPluginLookup.xml 14

Configurations for Notifications. 14

Configurations for Grid Alerts. 16

Configurations for Object Alerts. 17

Configuration Best Practices. 19

Including Multiple Items. 19

Excluding Items. 19

Blank Values. 19

Zero Values. 19

URL Configurations. 19

Advanced Configurations. 21

Plugin Definition: CustomPluginExtensions.xml 22

Grid Notifications. 22

Object Notification Panel 22

JS Files. 23

Plugin API 23

Report URL. 24

Notification Panel 24

Icons: SiteMap-Extensions.xml 24

CSS: PQMExtensionLibrary.css. 25

Images. 25

Caching. 25

 


Preface

Audience

This guide is intended for client programmers involved with integrating Oracle Agile Product Lifecycle Management for Process. Information about using Oracle Agile PLM for Process resides in application-specific user guides. Information about administering Oracle Agile PLM for Process resides in the Agile Product Lifecycle Management for Process Administrator User Guide.

Variability of Installations

Descriptions and illustrations of the Agile PLM for Process user interface included in this manual may not match your installation. The user interface of Agile PLM for Process applications and the features included can vary greatly depending on such variables as:

·         Which applications your organization has purchased and installed

·         Configuration settings that may turn features off or on

·         Customization specific to your organization

·         Security settings as they apply to the system and your user account

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Software Availability

Oracle Software Delivery Cloud (OSDC) provides the latest copy of the core software. Note the core software does not include all patches and hot fixes. Access OSDC at:

http://edelivery.oracle.com.

Introducing the PQM Extension Library

Purpose

This guide describes how to install, configure, and use the PQM Extension Library Solution Pack. Solution packs are designed to be pluggable modules that can be added to the Agile PLM for Process application suite without modifying the existing release code base.

Overview

The PQM Extension Library allows users in GSM and SCRM to have visibility to PQM objects that are created.  This will allow them to see problem areas more quickly and thus make better business decisions.  This solution pack has been built on top of a 6.1.1 core feature for extensible columns.  For more information on configuration of those extensible columns, please refer to the Agile PLM for Process Extensible Columns Guide in the Agile Product Lifecycle Management for Process Extensibility Pack.

The PQM Extension Library is composed of two themes; object notifications and grid notifications.

Object Notifications

These are notifications that show up on a specification in GSM or a Company/Facility in SCRM.

Action Menu Icon

The purpose of the Action Menu Icon is to show the user very quickly if there are quality concerns for the object they are opening.

The Action menu icon will show a red caution icon if there are any open issues or actions associated to the active object.  Open quality concerns will be in a status marked with the submitted, released or review tags.  If no issues or actions exist, a green check icon will be displayed.

Object with Issues

Object without Issues

 

 

This logic is configurable, see the configuration section for more details.

Notification Panel

The purpose of the Notification Panel is to show the user when they open the object what types of quality concerns exist.  This notification is only presented the first time a user visits an object.

In GSM, the alert will appear when there are one or more open issues with a severity of S1.

In SCRM, the alert will appear when there are one or more open issues with a severity of S1 or if there are one or more failed audits in the last 180 days.  This notification is only presented the first time a user visits an object.

This logic is configurable, see the configuration section for more details.

Object Notification Locations

Object notifications have been added to the following locations:

Application

Object

GSM

All Specifications

SCRM

Company

SCRM

Facility

 


 

Grid Notifications

Quality Concern Count

The purpose of the count is to quickly show the user how many quality concerns exist for a given item within the grid.

Specification grids will show a count when there are open issues or open actions associated to the specification listed in the row.  Open quality concerns will be in a status marked with the submitted, released or review tags.  If no issues or actions exist, a 0 will be displayed.

Supplier grids in GSM will show a count when there are open issues, open actions, or audits associated to the company/spec pairing or the facility/spec pairing.  The count will also include open issues and actions that are tied directly to the facility without an affected item or when it is associated to the company without a facility or affected item.  If no issues, actions, or audits exist, a 0 will be displayed.

Spec-Related Sourcing Approval grids in SCRM will show a count when there are open issues, open actions, or audits associated to the facility/spec pairing.  If no issues, actions, or audits exist, a 0 will be displayed.

This logic is configurable, see the configuration section for more details.

Quality Concern Alert

The purpose of the alert is to notify the user if any of the issues included in the count are of special importance or severity.

Specification grids will show an alert (!) when there are one or more open issues or actions that have a severity of S1.

Supplier grids in GSM and Spec-Related Sourcing Approval grids in SCRM will show an alert (!) when there are one or more open issues that have a severity of S1 or if there are one or more failed audits in the last 180 days.

This logic is configurable, see the configuration section for more details.

Grid Notification Locations

Grid Notifications have been added to the following locations:

Application

Object

Grid

GSM

Equipment Specification

Suppliers

GSM

Formulation Specification

Formulation Tab Inputs

GSM

Formulation Specification

Formulation Tab Outputs

GSM

Formulation Specification

Process Tab Input Items (Bill of Materials and Packaging)

GSM

Formulation Specification

Process Tab Output Items

GSM

Material Specification

Suppliers

GSM

Menu Item Specification

Menu Item Build

GSM

Packaging Specification

Sub Components

GSM

Packaging Specification

Printed Packaging Material

GSM

Packaging Specification

Suppliers

GSM

Printed Packaging Specification

Parent Packaging Material

GSM

Printed Packaging Specification

Suppliers

GSM

Product Specification

Suppliers

GSM

Trade Specification

Material Specification

GSM

Trade Specification

Next Lower Level Items

GSM

Trade Specification

Parent Items (Calculated)

GSM

Trade Specification

Packaging Materials

GSM

Trade Specification

Alternate Packaging

GSM

Trade Specification

Suppliers

SCRM

Facility

Specification-Related Sourcing Approvals

Note:  If you are running the Supplier Portal and GSM applications in the same environment the grid notifications will be printed in supplier portal.

 


Installing/Upgrading the PQM Extension Library

You must have v6.1.1.1.0 of PLM for Process installed to use this solution pack. 

Note:  If your PQM is setup to run in a different database, you will not be able to use this solution pack.

Installing the Solution Pack

To install the PQM Extension Library solution pack:

1.       Create a backup of the [Prodika Home] directory.

2.       Unzip the contents of ExtensibilityPack_v3.6_Release.zip.

3.       Unzip the contents of the SolutionPacks\PQMExtensionLibrary\PQMExtensionLibrary.zip and note the location.

Database Setup

Database scripts need to be executed for new installations and upgrades of PQM Extension Library.

1.       Create a backup of the Prodika database.

2.       Apply the Database Scripts

a.       SQL Server

                                                               i.      Open a command prompt and navigate to the directory where you unzipped the solution pack.

                                                             ii.      Change directories (cd) to the Database directory.

                                                            iii.      Apply the scripts using the following call to the ApplyScripts.exe utility:

ApplyScripts -c "server=<database_server>;uid=<user>; password=<password>;database=<database>" –f PQMExtensionLibrary.xml

                                                           iv.      After the ApplyScripts call, you can confirm that the database scripts have been applied successfully when the system prompts you with the following message: "Complete - with no errors"

 

b.      Oracle

                                                               i.      Open a command prompt and navigate to the directory where you unzipped the solution pack.

                                                             ii.      Change directories (cd) to the Database directory.

                                                            iii.      Apply the scripts using the following call to the ApplyScripts.exe utility:

ApplyScripts -c "User Id=<user>;Password=<password>; Data Source=<datasource>" -dbvendor="orcl" –f PQMExtensionLibrary-orcl.xml

                                                           iv.      After the ApplyScripts call, you can confirm that the database scripts have been applied successfully when the system prompts you with the following message: “Complete - with no errors”

Application Installation/Upgrade

The PQMExtensionLibrarySetup.exe file supports installation and upgrade of the PQM Extension Library Solution Pack. 

Installation

1.       Ensure the Database Setup has been completed.

2.       Run the PQMExtensionLibrarySetup.exe file from the location where you unzipped the solution pack.

3.       Restart IIS.

4.       Open the Application and verify the new columns and object notifications exist in the locations listed above.

Upgrade

1.       Ensure the Database Setup has been completed.

2.       If you have made changes to any of the following, make sure to backup the files before running the upgrade:

a.       PRODIKA_HOME\config\extensions\CommonPluginLookup.xml

3.       Run the PQMExtensionLibrarySetup.exe file from the location where you unzipped the solution pack.

4.       Once the installer has completed, merge any of your changes to the files listed above into the new files from the installer.

5.       Restart IIS.

Open the Application and verify the new columns and object notifications exist in the locations listed above.

Configuring the PQM Extension Library

The PQM Extension Library is extremely configurable.  This section will outline important files used to enable the solution pack.  The installation process handles the initial setup for you but you may want to modify it based on your implementation. 

Note:  When reviewing the xml files after the installer runs, it is possible the order the elements are listed in the documentation will differ from the files on your system.  XML is not particular about order, so simply verify the elements are the same from a content standpoint.

Enabling Columns

General GSM & SCRM

CustomerSettings.config

The CustomerSettings.config file is located in the [InstallDirectory]\Config\Custom folder and is where the grid notifications will be turned on or off with the exception of the Formulation Spec grid notifications.  The installation process turns all locations on by default.  If you want to turn off a particular location, go to the feature config section and set the value to “false” for the locations you do not wish to use.  You can determine the location based on the config key.

Here is an example of a config key for the grid notification column on a GSM Menu Item Specification:

<add key="GSM.Menu.ItemBuild.XCol.Enabled" value="true" configDescription="enable the extensible column in the GSM Menu specification Menu Item Build grid." />

Formulation Specifications

CustomFormulationExtensions.xml

The CustomFormulationExtensions.xml file is located in the [InstallDirectory]\Config\Extensions folder and is where the grid notifications will be turned on or off for Formulation Specifications.  The installation process turns all locations on by default. 

Here is an example of a config key for the grid notification column on the input grid of Formulation Specifications.  These should be added to the <FormulationInputFlexColumns> node:

 

<FormulationColumnExtension ID="pqmItems1" IsCore="false" CalculationPaths="*" UseIn="FormulationTab,PrintMain,PrintMainPackaging" HeaderTranslationId="" ColumnPosition="15" VisibilityHandler="true" EditabilityHandler="false" ExtensibleColumnPluginName="PQMItemsForInput" />

For more information on the details of this extension point, please refer to the Agile Product Lifecycle Management for Process Extensible Column Guide located in the Agile Product Lifecycle Management for Process Extensibility Pack documentation on OTN.


 

Configuring Content

CommonPluginLookup.xml

The CommonPluginLookup.xml file is located in the [InstallDirectory]\Config\Extensions folder and is where the plugin configuration is done.  The entire solution can be configured using this set of common configurations or you can configure each location specifically using the configuration overrides in the location specific code (js files).  Out of the box, the location specific code is setup to pull the values from the common config.

For more information on location specific code, go to the Advanced Configuration. 

Note:  For more detailed information around what options are available in the CommonPluginLookup.xml file, go to the Configuration Best Practices section.

Configurations for Notifications

These configurations control grid and object notifications in GSM & SCRM.

This table defines the naming convention used in the configuration file.  All configuration keys define the location using the prefixes in the table below.  For example PQM_spec_severity controls the severity settings for all GSM Spec grids.

Location

Configuration Key

GSM Spec Grids

PQM_spec_KEY

GSM Supplier Grid

PQM_spec_supplier_KEY

GSM Action Menu

PQM_spec_action_menu_icon_KEY

SCRM Spec Related Sourcing Approval Grid

PQM_supplier_KEY

SCRM Action Menu

PQM_supplier_action_menu_icon_KEY

 

This table defines the concepts and keys available for configuration:

Configuration Type

Key

Values

Notes

Revision Specific

isRevisionSpecific

true/false

Determines if the data being returned will only show issues/actions/audits that are tied to a specific revision of a spec. 

Default: true

Pack Size

isPackRelated

true/false

Determines if the data being returned will only show for the selected pack size.  Only used for materials specs tied to trade and formulation specs. 

Default:  false

Workflow Status

statusBehaviorID

Blank, ALL or a valid behavior id

The list of behavior id’s that will be included in the returned data set. 

Default: 202,203,204 (Submitted, Review or Released)

Severity

Severity

Blank, ALL, NULL or a valid severity pkid

The list of severities that will be included in the returned data set.

Default: ALL

Action Types

actionTypes

Blank, ALL or valid action type pkid

The list of action types that will be included in the returned data set.

Default: ALL

Issue Types

issueTypes

Blank, ALL or valid issue type pkid

The list of issue types that will be included in the returned data set.

Default: ALL

URL

reportURL

Valid URL

The URL where the user will be directed when they click on the number of items displayed in the new column. 

Default: Blank

Audit Types

auditTypes

Blank, ALL or valid Audit type pkid

The list of audit types that will be included in the returned data set.

Default: ALL

Audit Results

auditResults

Blank, ALL, NULL or valid Audit result pkid

The list of audit results that will be included in the returned data set.

Default: ALL

Include Related Items

nonSpecRelatedItemsIncluded

true/false

When set to true, the data being returned will include issues/actions/audits not specifically tied to the spec. 

GSM Default: true

SCRM Default: false

Include Company Only

includeCompanyOnlyItems

true/false

When set to true, the data being returned will also include quality items tied to only a company. 

GSM Default: true

SCRM Default: false

 


 

Configurations for Grid Alerts

These configurations control grid alerts in GSM & SCRM.

This table defines the naming convention used in the configuration file.  All configuration keys define the location using the prefixes in the table below.  For example PQM_spec_alert_severity controls the severity settings for all GSM Spec grids.

Alerts use a concept of a threshold to decide if it is shown or not.  The threshold value is ignored if the corresponding configuration type is blank.   For example, if more than 1 issue exists with a severity of S1, show the alert.

Location

Configuration Key

GSM Spec Grids

PQM_spec_alert_KEY

GSM Supplier Grid

PQM_spec_supplier_alert_KEY

SCRM Spec Related Sourcing Approvals Grid

PQM_supplier_alert_KEY

 

This table defines the concepts and keys available for configuration:

Configuration Type

KEY

Values

Notes

Severity

severity

Blank, ALL, NULL or a valid severity pkid

The list of severities that will trigger the inclusion of the alert icon in the column. 

Default: 2210339d1d4a-7b2f-436a-8ff6-5e4d8bcfa3b1 (S1 pkid)

Severity Threshold

severity_threshold

Valid Number

The number of items for a given severity that are required before the alert icon is shown. 

Default: 1

Action Types

actionTypes

Blank, ALL or valid action type pkid

The list of action types that will trigger the inclusion of the alert icon in the column. 

Default: Blank

Action Types Threshold

actionTypes_threshold

Valid Number

The number of items, for a given action type, that are required before the alert icon is shown. 

Default: 0

Issue Types

issueTypes

Blank, ALL or valid issue type pkid

The list of issue types that will trigger the inclusion of the alert icon in the column. 

Default: Blank

Issue Type Thresholds

issueTypes_threshold

Valid Number

The number of items, for a given issue type, that are required before the alert icon is shown. 

Default: 0

Audit Types

auditTypes

Blank, ALL or valid audit type pkid

The list of audit types that will trigger the inclusion of the alert icon in the column. 

Default: ALL

Audit Results

auditResults

Blank, ALL, NULL or valid audit result pkid

The list of audit results that will trigger the inclusion of the alert icon in the column. 

Default: 221056d1254e-0a31-4bb6-b938-22a838387970 (Fail pkid)

Audit Date Limit

auditDateLimit

Valid Number

The number of days back to search for audits that will trigger the inclusion of the alert icon in the column. 

Default: 180

Audit Threshold

audit_threshold

Valid Number

The number of items, for a given audit result that are required before the alert icon is shown. 

Default: 1

Status

statusBehaviorID

Blank, ALL or a valid behavior id

The list of status behavior ids that will trigger the inclusion of the alert icon in the column. 

Default: Blank

Status Threshold

statusBehaviorID_threshold

Valid Number

The number of items, for a given behavior id, that are required before the alert icon is shown. 

Default: 0

Configurations for Object Alerts

These configurations control the notification panel alerts in GSM & SCRM.

This table defines the naming convention used in the configuration file.  All configuration keys define the location using the prefixes in the table below.  For example PQM_spec_notification_severity controls the notification panel based on the severity setting for all GSM Specs.

Alerts use a concept of a threshold to decide if it is shown or not.  The threshold value is ignored if the corresponding configuration type is blank.  For example, if more than 1 issue exists with a severity of S1, show the alert.

Notification panels have two configured components.  One that defines the data set and another that determines what messaging shows in the panel.

Location

Configuration Key

GSM Specs Data Set

PQM_spec_notification _KEY

GSM Specs Alert

PQM_spec_notification_alert_KEY

SCRM Objects Data Set

PQM_supplier_notification_KEY

SCRM Objects Alert

PQM_supplier_notification_alert _KEY

 

Data Set location configurations are the same as the Configurations for Notifications section with the exception of: Pack Size, URL and Include Related Items.

This table defines the concepts and keys available for notification panel alert configurations:

Configuration Type

KEY

Values

Notes

Severity

severity

Blank, ALL, NULL or a valid severity pkid

The list of severities that will trigger the inclusion of the message on the notification panel. 

Default: 2210339d1d4a-7b2f-436a-8ff6-5e4d8bcfa3b1 (S1 pkid)

Severity Threshold

severity_threshold

Valid Number

The number of items for a given severity that are required before the message is shown. 

Default: 1

Action Types

actionTypes

Blank, All or valid action type pkid

The list of action types that will trigger the inclusion of the message on the notification panel. 

Default: Blank

Action Types Threshold

actionTypes_threshold

Valid Number

The number of items, for a given action type, that are required before the message is shown. 

Default: 0

Issue Types

issueTypes

Blank, ALL or valid issue type pkid

The list of issue types that will trigger the inclusion of the message on the notification panel.

Default: Blank

Issue Type Thresholds

issueTypes_threshold

Valid Number

The number of items, for a given issue type, that are required before the message is shown. 

Default: 0

Audit Types

auditTypes

Blank, ALL or valid audit type pkid

The list of audit types that will trigger the inclusion of the message on the notification panel.

Default: Blank

Audit Results

auditResults

Blank, ALL, NULL or valid audit result pkid

The list of audit results that will trigger the inclusion of the message on the notification panel.

Default: 221056d1254e-0a31-4bb6-b938-22a838387970 (Fail pkid)

Audit Date Limit

auditDateLimit

Valid Number

The number of days back to search for audits that will trigger the inclusion of the message on the notification panel. 

Default: 180

Audit Threshold

audit_threshold

Valid Number

The number of items, for a given audit type, that are required before the message is shown. 

Default: 0

Status

statusBehaviorID

Blank, ALL or a valid behavior id

The list of status behavior ids that will trigger the inclusion of the message on the notification panel.  Default: Blank

Status Threshold

statusBehaviorID_threshold

Valid Number

The number of items, for a given behavior id, that are required before the message is shown. 

Default: 0

Configuration Best Practices

Including Multiple Items

For configurations in the CommonPluginLookup.xml file, you can include multiple items by providing a common separated list.  For example, if I wanted my data to be returned for status behavior ids of 202, 203, 204 and 205, I would add each of the ids to the value attribute separated by a comma.

<entry name="PQM_spec_statusBehaviorID" value="202,203,204,205"/>

Excluding Items

For configurations in the CommonPluginLookup.xml file, you can exclude items by putting an exclamation point (“!”) in front of the value.  For example, if I wanted my data to be returned for behavior ids 202 and 203 but wanted to exclude 204, I would add each of the ids to the value attribute separated by a comma and put an exclamation point in front of 204.

<entry name="PQM_spec_statusBehaviorID" value="202,203,!204"/>

Note:  Exclusion is not supported for alert configurations.

Blank Values

For configurations in the CommonPluginLookup.xml file that are left as blank, those items will not be included in the query.  So if you leave the value as “” on the behavior id entry, behavior id will not be included in the query for your data.

<entry name="PQM_spec_statusBehaviorID" value=""/>

Zero Values

For configurations in the CommonPluginLookup.xml file that have a value set as zero, those items will be ignored if the corresponding configuration type is blank.  So in the example below, there is no threshold being respected for action types.

<entry name=”PQM_spec_alter_actionTypes” value = ““/>

<entry name="PQM_spec_alert_actionTypes_threshold" value="0" />

URL Configurations

Note:  Values used in the Out of the Box URL are internal ids so remember to enforce security.

For configurations in the CommonPluginLookup.xml file that are URLs, the solution pack will be appending the pkid of the active object to the end of the URL entered in the config file.  If you click on a grid notification count, the URL value configured will have the pkid of the active row you are on added to the end of it.  

For example, <entry name="PQM_spec_reportURL" value=" https://www.company.com/mycustomreport?=" /> would produce the following URL:

https://www.company.com/mycustomreport?=[PKID]

This will take you to your customer reports and include the active row pkid that could be used as a report parameter.

Note:  Make sure any entries into the commonpluginlookup.xml file have all “&” escaped.  This is done by replacing “&” with “&amp;”.  For example: <entry name="PQM_spec_reportURL" value="http://[server]/ReadyReports/readyreports.aspx?pkid=1108129aa1b6-b5d4-433e-8516-520cdacde120&amp;ao="/>


 

Advanced Configurations

The basic architecture of the solution pack is made up of a plugin which reads rules from the configuration files and then uses the JS File for each location to understand what data will be retrieved and how it will be displayed.  This is described in the following picture: 

                                                                                                                                                           

 

This architecture allows each location to be controlled independently.  So, for example, the logic for the material spec grid on a trade spec could be setup to work differently than the logic for the packaging material spec grid.  In order to change the way a particular location works, you would need to modify the JS File for that location or write your own custom JS File.  Once created, you would hook the new JS file to the plugin in the CustomPluginExtensions.xml file.


 

Plugin Definition: CustomPluginExtensions.xml

The CustomPluginExtensions.xml file is located in the [InstallDirectory]\Config\Extensions folder and is where the grid notifications and the object notification panels are tied to a plugin.  The plugin code determines how the notifications will behave.

Grid Notifications

Each notification location is tied to a plugin.  This plugin contains code that determines what data will be returned in the cells of the new grid notification.  Below is an example of the plugin definition for the grid notification on the Next Lower Level Item grid on a Trade Specification in GSM:

<Plugin name="GSMTradeChildXColPlugin" FactoryURL="Class:Oracle.PLM4P.PQMExtension.Plugins.RelatedSpecPQMExtensionPluginFactory,PQMExtension$20|GSM.Trade.Child.XCol.js|200" ignoreInheritFromPluginName="true"/>

The configuration has some key parameters which are called out here:

<Plugin name="GSMTradeChildXColPlugin" FactoryURL="[Plugin Class Name]$[Column Width]|[JS File]|[ Performance Row Count]" ignoreInheritFromPluginName="true"/>

Note:  Formulation Spec Extensible Columns have different parameters.  For more information on parameters, please refer to the Agile Product Lifecycle Management for Process Extensible Columns Guide in the Agile Product Lifecycle Management for Process Extensibility Pack.

Object Notification Panel

The notification panel for GSM and SCRM are tied to plugins in the <NotificationPlugins> node of this file.  This plugin contains code that determines what data will be returned in the notification panel.  Below is an example of the plugin configuration for GSM Specifications:

<Plugin name="PQMIssuesSpecNotifierPlugin" usedIn="GSMSpec" FactoryURL="Class:Oracle.PLM4P.PQMExtension.Plugins.Notification.PQMItemsSpecBasedNotificationPluginFactory,PQMExtension$GSM.Spec.Notification.js"/>

The configuration has some key parameters which are called out here:

<Plugin name="PQMIssuesSupplierNotifierPlugin" FactoryURL="[Plugin Class Name]$[JS File]" usedIn="SCRM"/>          

Parameter

Description

Plugin Class Name

This is the name of the class.

Column Width

This is the width of the column.  Out of the box, the width for the column is defined as 20.  This will allow for up to 99 quality items and an alert icon to be shown in the field.  If you have more than 99 quality items, the third digit or the alert icon may not be shown unless the column is resized.  Only applicable to Grid Notifications.

JS File

 

This is the name of the JS file located under [Install Directory]\config\Extensions\PluginDefinitions folder.

Performance Row Count

If the data grid the extensible column is being enabled on has more than 500 rows of data being returned, you could see performance implications.  In order to eliminate this degradation, set the [Performance Row Count] parameter in the plugin config in the CustomPluginExtensions.xml file.  Only applicable to Grid Notifications.

 

JS Files

The JS files are located in the [InstallDirectory]\Config\Extensions\PluginDefinitions folder and are where the location specific code resides for grid and object notifications.  This code provides detailed logic to determine what data to display to the location based on incoming parameters.

Each file name, except for Formulation spec files, has been created with the following nomenclature:  [App].[Object].[Location].  Formulation spec files do not use the [App] component.

Plugin API

The plugin provides a method called “GetConfiguration()”.  This method pulls all of the configuration data from the commonPluginLookup.xml file.  This method returns key-value pairs that represent each configuration option.  Each of these configuration options is assigned to a variable that will be used in the location specific JS files.  This is where you would provide an override of the core configuration value if required for a specific location.

We also provide a method called “GetPQMObjects()”.  This method pulls all of the data from the PQM Objects based on specified parameters.  The primary criteria are issue type, action type and audit type.  The secondary criteria are severity, status and audit results.  This method returns an array of PQM Objects that contain the following properties:

Property Name

Description

PKID

Returns the pkid of the PQM Object.

IsIssue

Returns true/false based on if the object is a PQM Issue or not.

IsAction

Returns true/false based on if the object is a PQM Action or not.

IsAudit

 

Returns true/false based on if the object is a PQM Audit or not.

ItemType

Returns the item type for PQM Actions, Audits and Issues.

Severity

Returns the pkid of the severity for PQM Issues.

ContainsStatusBehavior

Method used to determine if a PQM object is in a workflow status marked with a particular behavior id.

AuditResult

Returns the pkid of the audit result for a PQM Audit.

AuditDate

Returns the Audit date assigned to a PQM Audit.

IsAuditDateWithinDays

Method used to determine if the Audit date of a PQM Audit is within the specified range.

HasAuditFailed

Returns true/false based on the data stored in the Audit Result field of a PQM Audit.

 

The returned result of the JS File is represented by an Html property and a PrintData property.  These are used to display to the UI and to the print model.  This will allow you to provide additional formatting if necessary by using either html tags or FO tags.

Report URL

For advanced URL configuration, you can modify the value assigned to the reportURL variable in the JS File.  This will allow you to use additional parameters within your report urls for more advanced reporting options. 

Out of the box, we build the htmlResult value as follows:

htmlResult = htmlResult + "<a href='#' onclick=\"window.open('" + reportURL + sacPKID + "');return false;\">" + displayValue + "</a>";

As you can see here, we are simply appending the PKID to the reportURL variable.  If you needed to add additional parameters to your report URL, you could simply modify this line in the JS File to accommodate your needs. 

htmlResult = htmlResult + "<a href='#' onclick=\"window.open('" + reportURL +“&_paramsFacilityID=” + pqmObjectRequest.FacilityId  + “&_paramsSpecID=  + specPKID + "');return false;\">" + displayValue + "</a>";

Notification Panel

For advanced notification configuration, you can modify the value assigned to the result variable in the JS File.  This will allow you to use html formatting in the notification panel.

Icons: SiteMap-Extensions.xml

The SIteMap Extensions.xml file is located in the [InstallDirectory]\Config\Extensions folder and is where the Action Menu Icons are added to the GSM and SCRM Action Menu.  These icons are added to the GSMNavSpec and SCRMNav menu items nodes.

For more information on extending the Action Menu refer to the Agile Product Lifecycle Management for Process Navigation Configuration Guide.

CSS: PQMExtensionLibrary.css

The PQMExtensionLibrary.css file located in the [InstallDirectory]\web\css\Extensions folder is where all of the css styles for this solution pack are stored.  Additionally, the icons.css file is modified during the installation process to include the PQMExtensionLibrary.css file.

Images

All of the base images for this solution pack are stored in the [InstallDirectory]\web\images\ pqmextensionlibrary folder.

Caching

In order to allow for easier testing, we have added the ability to turn caching off for the configurations in the js files.  This will allow you to instantly see updates based on the configuration changes you are making.  Out of the box, caching is enabled for performance reasons.  This configuration is found in the CommonPluginLookup.xml file located in the [InstallDirectory]\Config\Extensions folder.

Config

Values

Notes

PluginCachingEnabled

True/false

Indicates whether the JS files in plugindefinitions folder are cached or not