The analysis process for your PeopleSoft applications is designed to work with the two distinct combined installation schemas (i.e. Analysis Service, Dashboard Service Management Service schemas) that were created earlier (see PeopleSoft 5.1 - Installation):
- PSOFT5_V_*: Combined installation of schemas that will store the analysis results for the Vanilla repository
- PSOFT5_*: Combined installation of schemas that will store the analysis results for the Project repository
Vanilla: Analysis setup and configuration
- Run the CAST Management Studio
- Validate and choose the connection profile for the PSOFT5_V_MNGT Management Service schema (i.e. for the Vanilla repository)
- Click Next to start the setup wizard
- Enter the CAST License Key and click Next:
- Configure the folders (note that the required folders have changed in CAST AIP ≥ 8.3.x):
CAST AIP ≥ 8.3.x | Click to enlarge |
|
---|---|---|
CAST AIP 8.2.x | Click to enlarge |
|
- Click Finish to launch the CAST Management Studio.
Configure CAST Management Studio preferences
Once the CAST Management Studio has launched, open Windows/Preferences:
CAST AIP ≥ 8.3.x | Select Cast General: Click to enlarge |
|
---|---|---|
CAST AIP 8.2.x | Select Cast General: Click to enlarge |
|
Initial actions required when using CAST AIP 8.2.x
Import the Assessment Model
- Open the Dashboard Service editor for the Dashboard Service (PSOFT5_V_CENTRAL) that is associated to the Management Service you are currently connected to.
- Click the Import Assessment Model option - the Assessment Model will then be displayed in the CAST Management Studio in the Assessment Models view.
Configure the plugins
- Navigate to the following location in the Delivery folder defined for the combined schema installation you are using:
plugins
- Locate EACH folder in "plugins" starting with "dmtcastpeoplesoft*", for example:
plugins\dmtcastpeoplesoftdb2extractor-<version>
- In EACH folder in "plugins" starting with "dmtcastpeoplesoft*", delete all files ending with the following:
*.mda *.mda.signed_SHA256
- Ensure that the only file that remains in this folder is:
*.mda.signed_SHA1
- Rename this file as follows:
*.mda
Note that
- if you cannot find the "dmtcastpeoplesoft*" folders in plugins, you have not yet opened and configured the CAST Management Studio as described previously.
- this action is only required once, i.e. it is not necessary when configuring the Project analysis, nor is it necessary when performing an upgrade to a new release of the PeopleSoft extension.
Configure the Assessment Model
Some elements in the default Assessment Model shipped with CAST AIP are not relevant for a PeopleSoft analysis/snapshot, therefore CAST recommends that you disable the elements listed below to prevent them "polluting" the results. You can disable them in the Assessment Model editor by unticking the element in the Active column:
Rules
7126 | Avoid Artifacts with high Commented-out Code Lines/Code Lines ratio |
7130 | Avoid Artifacts with High Depth of Nested Subqueries |
7156 | Avoid Too Many Copy Pasted Artifacts |
7344 | Avoid SELECT *" queries" |
7388 | Avoid artifacts having recursive calls |
7424 | Avoid using SQL queries inside a loop |
7436 | Prefer UNION ALL to UNION |
Distributions
65701 | OO Complexity Distribution |
65801 | SQL Complexity Distribution |
Measures
62003 | SEI Maintainability Index 3 |
62004 | SEI Maintainability Index 4 |
66067 | Copy Pasted Code (% of LOC) |
Manage the Application, accept the delivery and set as current version
- In the CAST Management Studio, Application view, click Manage an Application registered in AIC Portal….
- The wizard displays all available applications. Select the "Vanilla" application:
- Assuming the packages have already been delivered as explained in PeopleSoft 5.1 - Application analysis and snapshot generation, the Application editor will show the delivered Version in the Delivery tab:
- Select the Version and then click the Manage the delivery… option to open the CAST Delivery Manager Tool. Check the packaging is correct:
- The Content state of the package should be showing Packaging successful
- In the Package content tab, you should see one project named Vanilla for the PeopleSoft Extractor Project type:
- Quit the CAST Delivery Manager Tool.
- Back in the CAST Management Studio, select the Version and click Accept delivery and use it as current version. You should use the default values in the wizard that is displayed.
Configure Modules
- In the Application editor, click the Modules tab.
- Ensure the option to generate a Full Content module is ticked (this should be the case already):
- You are now ready to generate a snapshot, see below.
Vanilla: Generate a snapshot and check results
Generate a snapshot
- Generate a snapshot for the Vanilla Application - ensure this includes an analysis:
Post snapshot checks
Check log files
You should ensure that no error nor warning messages are reported and that any unusual message recorded in the log file should be reported to CAST Support. When using the GUI, navigate to each analysis execution item and then click the log link:
The following is an example of the messages that you could expect:
- PSOFT-000 Start
- PSOFT-001 Update metrics
- PSOFT-101 Error executing xxx
- PSOFT-002 Additional links
- PSOFT-102 Error executing xxx
- PSOFT-003 Discrimination data
- PSOFT-103 Error executing xxx
- PSOFT-006 End
Check the results in the CAST dashboards
In particular, you should use the PeopleSoft 5.1 - Application analysis and snapshot generation feature in the legacy PeopleSoft 5.1 - Application analysis and snapshot generation to help perform an inventory check:
- Verify the number of objects of major object types (Applet, Business Service, Business Component,...) match the expected numbers.
Please note that the Project application is the sum of ADDED modules and MODIFIED modules. This excludes the standard objects (unchanged from the Vanilla).
Project: Analysis setup and configuration
- Run the CAST Management Studio
- Validate and choose the connection profile for the PSOFT5_MNGT Management Service schema (i.e. for the Project repository)
- Click Next to start the setup wizard
- Enter the CAST License Key and click Next:
- Configure the folders (note that the required folders have changed in CAST AIP ≥ 8.3.x). You should use the SAME FOLDERS as defined when you setup the analysis for Vanilla:
CAST AIP ≥ 8.3.x | Click to enlarge |
|
---|---|---|
CAST AIP 8.2.x | Click to enlarge |
|
- Click Finish to launch the CAST Management Studio.
Configure CAST Management Studio preferences
Once the CAST Management Studio has launched, open Windows/Preferences. You should use the SAME FOLDERS as defined when you setup the analysis for Vanilla:
CAST AIP ≥ 8.3.x | Select Cast General: Click to enlarge |
|
---|---|---|
CAST AIP 8.2.x | Select Cast General: Click to enlarge |
|
Initial actions required when using CAST AIP 8.2.x
Import the Assessment Model
- Open the Dashboard Service editor for the Dashboard Service (PSOFT5_CENTRAL) that is associated to the Management Service you are currently connected to.
- Click the Import Assessment Model option - the Assessment Model will then be displayed in the CAST Management Studio in the Assessment Models view.
Configure the Assessment Model
Modify Contextual Parameters
- Open the Assessment Model and check that the parameter settings for the PeopleSoft Quality Rules are adapted to your project.
- To do so, go to the Contextual Parameters tab and search for names that start with "PeopleSoft:"
- To check or modify a parameter, edit the parameter - this will open the parameter in an editor window. For example, for the naming conventions, edit the parameters "PeopleSoft: Prefix XXX".
- Check the following tables and modify each parameter to the value as discussed with your administrator:
Multiple values, char: as they are related to naming convention, they must be adapted to the project
MetricID | Rule name | Parameter name | Default value | Project value |
---|---|---|---|---|
1600380 | PeopleSoft: Naming convention on Search Record | Suffix PeopleSoft Search | _SVW _SRCH | |
1600384 | PeopleSoft: Naming convention on Language Record Table | Suffix PeopleSoft Language Record Table | _LANG _LNG _LN | |
1600386 | PeopleSoft: Naming convention on Language Record View | Suffix PeopleSoft Language Record View | _LVW _LV | |
1600396 | PeopleSoft: Naming convention on AE State Record | Suffix PeopleSoft AE State Record | _AET | |
1600398 | PeopleSoft: Naming convention on AE Temporary Record | Suffix PeopleSoft AE Temp Record | _TAO _TMP | |
1600400 | PeopleSoft: Naming convention suffix on Record View | Suffix PeopleSoft Record View | _VW | |
1600402 | PeopleSoft: Naming convention suffix on Record Derived | Suffix PeopleSoft Record Derived | _WRK _WK | |
1600484 | PeopleSoft : Create all new Record Table in a specific tablespace | PeopleSoft: Tablespace for Record View | TAB_EFDATA_XL | |
1600486 | PeopleSoft: Create all new Record Temp in a specific tablespace | PeopleSoft: Tablespace for Record View | TAB_EFWORK_XL | |
1601700 to 1601766 | PeopleSoft: Naming convention on Record Table to PeopleSoft: Naming convention on URL | PeopleSoft: Prefix for XXX | EF_ |
Single value, numerical: As a first approach, you can stick to the default values
MetricID | Rule name | Parameter name | Default value | Project Value |
---|---|---|---|---|
1600168 | PeopleSoft: All new Translate value shoud be at dd/mm/yyyy | PeopleSoft: Effective date | 01/01/1901 | |
1600184 | PeopleSoft: Avoid PeopleCode Event with High Cyclomatic | PeopleSoft: Max CC in Event | 10 | |
1600186 | PeopleSoft: Avoid PeopleCode Functions with High Cyclomatic | PeopleSoft: Max CC in Function | 10 | |
1600188 | PeopleSoft: Avoid PeopleCode Methods with High Cyclomatic | PeopleSoft: Max CC in Method | 10 | |
1600190 | PeopleSoft: Avoid PeopleCode Classes with High Cyclomatic | PeopleSoft: Max CC in Class | 100 | |
1600620 | PeopleSoft: Avoid PeopleCode Events with a low comment/code ratio | PeopleSoft: Min % Comment in Event | 10 | |
1600622 | PeopleSoft: Avoid PeopleCode Functions with a low comment/code ratio | PeopleSoft: Min % Comment in Function | 10 | |
1600624 | PeopleSoft: Avoid PeopleCode Methods with a low comment/code ratio | PeopleSoft: Min % Comment in Method | 10 | |
1600626 | PeopleSoft: Avoid PeopleCode Classes with a low comment/code ratio | PeopleSoft: Min % Comment in Class | 10 | |
1600480 | PeopleSoft: Avoid too many Related displays | PeopleSoft: Max related display | 5 | |
1600488 | PeopleSoft: Avoid tables having indexes with a too large index definition | PeopleSoft: Max index size | 3 | |
1600642 | PeopleSoft: Pages should be designed assuming the user has an 800x600 monitor resolution | PeopleSoft: Page Width | 800 | |
PeopleSoft: Page Height | 600 | |||
1600644 | PeopleSoft: Developers should avoid developing web pages that result in horizontal scrolling | PeopleSoft: Page Width Max | 800 | |
1600646 | PeopleSoft: Developers should not build long pages that are longer than 5 pages | PeopleSoft: Page Height Max | 2500 | |
1600648 | PeopleSoft: Avoid use a radio button or check box when the user has more than three choices | PeopleSoft: Prefix for Owner ID in Record VieweopleSoft: Max choices | 3 | |
1601800 | PeopleSoft: Record Table should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record Table | EF | |
1601802 | PeopleSoft: Record View should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record View | EF | |
1601804 | PeopleSoft: Record Derived should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record Derived | EF | |
1601806 | PeopleSoft: Record Sub should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record Sub | EF | |
1601808 | PeopleSoft: Record Dynamic should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record Dynamic | EF | |
1601810 | PeopleSoft: Record Query should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record Query | EF | |
1601812 | PeopleSoft: Record Temp should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record Temp | EF | |
1601814 | PeopleSoft: Field should have a OwnerID | PeopleSoft: Prefix for Owner ID in Record Temp | EF | |
1601816 | PeopleSoft: Page should have a OwnerID | PeopleSoft: Prefix for Owner ID in Page | EF | |
1601818 | PeopleSoft: Sub Page should have a OwnerID | PeopleSoft: Prefix for Owner ID in Sub Page | EF | |
1601820 | PeopleSoft: Secondary Page should have a OwnerID | PeopleSoft: Prefix for Owner ID in Secondary Page | EF | |
1601822 | PeopleSoft: SQL should have a OwnerID | PeopleSoft: Prefix for Owner ID in SQL | EF | |
1601824 | PeopleSoft: Component Interface should have a OwnerID | PeopleSoft: Prefix for Owner ID in Component Interface | EF | |
1601826 | PeopleSoft: Application Engine should have a OwnerID | PeopleSoft: Prefix for Owner ID in Application Engine | EF | |
1601828 | PeopleSoft: Package should have a OwnerID | PeopleSoft: Prefix for Owner ID in Package | EF | |
1601830 | PeopleSoft: Mobile Page should have a OwnerID | PeopleSoft: Prefix for Owner ID in Mobile Page | EF | |
1601832 | PeopleSoft: Component should have a OwnerID | PeopleSoft: Prefix for Owner ID in Component | EF | |
1601834 | PeopleSoft: Menu should have a OwnerID | PeopleSoft: Prefix for Owner ID in Menu | EF | |
1601836 | PeopleSoft: Popup Menu should have a OwnerID | PeopleSoft: Prefix for Owner ID in Popup Menu | EF | |
1600760 | PeopleSoft: Avoid Classes with more than X Methods | PeopleSoft: Max Number Method in Class | 30 | |
1600762 | PeopleSoft: Avoid Records Tables with more than X Fields | PeopleSoft: Max Number Field in Record Table | 80 | |
1600764 | PeopleSoft: Avoid Records Views with more than X Fields | PeopleSoft: Max Number Field in Record View | 80 | |
1600766 | PeopleSoft: PeopleSoft: Avoid Records Derived with more than X Fields | PeopleSoft: Max Number Field in Record Derived | 60 | |
1600768 | PeopleSoft: PeopleSoft: Avoid Sub-records with more than X Fields | PeopleSoft: Max Number Field in Record Sub | 20 | |
1600770 | PeopleSoft: Avoid Pages with more than X linked Records Max | PeopleSoft: Max Number Linked Record in Page | 4 | |
1600772 | PeopleSoft: Avoid Pages with more than X linked Pages | PeopleSoft: Max Number Linked Page in Page | 2 | |
1600774 | PeopleSoft: Avoid Methods with too many parameters | PeopleSoft: Max Number Parameter in Method | 5 |
Disable Assessment Model elements
Some elements in the default Assessment Model shipped with CAST AIP are not relevant for a PeopleSoft analysis/snapshot, therefore CAST recommends that you disable the elements listed below to prevent them "polluting" the results. You can disable them in the Assessment Model editor by unticking the element in the Active column:
Rules
7126 | Avoid Artifacts with high Commented-out Code Lines/Code Lines ratio |
7130 | Avoid Artifacts with High Depth of Nested Subqueries |
7156 | Avoid Too Many Copy Pasted Artifacts |
7344 | Avoid SELECT *" queries" |
7388 | Avoid artifacts having recursive calls |
7424 | Avoid using SQL queries inside a loop |
7436 | Prefer UNION ALL to UNION |
Distributions
65701 | OO Complexity Distribution |
65801 | SQL Complexity Distribution |
Measures
62003 | SEI Maintainability Index 3 |
62004 | SEI Maintainability Index 4 |
66067 | Copy Pasted Code (% of LOC) |
Manage the Application, accept the delivery and set as current version
- In the CAST Management Studio, Application view, click Manage an Application registered in AIC Portal….
- The wizard displays all available applications. Select the "Project" application:
- Assuming the packages have already been delivered as explained in PeopleSoft 5.1 - Application analysis and snapshot generation, the Application editor will show the delivered Version in the Delivery tab:
- Select the Version and then click the Manage the delivery… option to open the CAST Delivery Manager Tool. Check the packaging is correct:
- The Content state of the package should be showing Packaging successful
- In the Package content tab, you should see one project named Project for the PeopleSoft Extractor Project type:
- Quit the CAST Delivery Manager Tool.
- Back in the CAST Management Studio, select the Version and click Accept delivery and use it as current version. You should use the default values in the wizard that is displayed.
Configure Modules
- In the Application editor, click the Modules tab.
- Untick all options under Generate one module per:
Click to enlarge
- Now create two User Defined Modules for the entire PeopleSoft repository: this allows specific quality rules (like deadcode) to be executed and to check the quality rules on all objects:
- Create one User Defined Module called REPOSITORY_ADDED
- Create one User Defined Module called REPOSITORY_MODIFIED
Click to enlarge
- For both of these modules, remove the default "My Object Filter" from the Filters tab and activate the option Build module content using an explicit list of objects in the Explicit content tab:
- Remove the default query and then copy and paste in the appropriate query as shown below:
select * from §PSOFT_MODULE_ADDED('$(ModuleName)','REPOSITORY-ADDED') /
select * from §PSOFT_MODULE_MODIFIED('$(ModuleName)','REPOSITORY-MODIFIED') /
Configure a platform variable
You now need to configure a new platform variable that defines the name of the PeopleSoft 5.1 - Application analysis and snapshot generation installed for the Vanilla. In our example this is "PSOFT5_V_LOCAL":
- In the Technologies view, double click the Common entry to open the Common editor.
- In the Platform tab, add a new variable called PSOFT_VANILLA_SCHEMA with a value equal to the name of the PeopleSoft 5.1 - Application analysis and snapshot generation installed for the Vanilla:
Click to enlarge
Note that a check is performed when the analysis/snapshot is executed and if the platform variable PSOFT_VANILLA_SCHEMA is not defined then a warning will be displayed in the analysis log: PSOFT-100 Variable PSOFT_VANILLA_SCHEMA is not defined. Refer to the documentation. This will not block the execution of the analysis/snapshot, however, it is possible to cancel the execution if this message is seen. For example:
- You are now ready to generate a snapshot, see below.
Project: Generate a snapshot and check results
Generate a snapshot
- Generate a snapshot for the Project Application - ensure this includes an analysis:
Post snapshot checks
Check log files
You should ensure that no error nor warning messages are reported and that any unusual message recorded in the log file should be reported to CAST Support. When using the GUI, navigate to each analysis execution item and then click the log link:
The following is an example of the messages that you could expect (errors are shown in red):
PSOFT-000 Start
PSOFT-001 Update metrics
PSOFT-101 Error executing xxx
PSOFT-002 Additional links
PSOFT-102 Error executing xxx
PSOFT-003 Discrimination data
PSOFT-103 Error executing xxx
PSOFT-100 Variable PSOFT_VANILLA_SCHEMA is not defined
PSOFT-004 Import data from Vanilla schema: xxx
PSOFT-104 Error while importing data from the Vanilla schema
PSOFT-005 Discrimination computation
PSOFT-105 Error executing xxx
PSOFT-006 End
Check the results in the CAST dashboards
In particular, you should use the PeopleSoft 5.1 - Application analysis and snapshot generation feature in the legacy PeopleSoft 5.1 - Application analysis and snapshot generation to help perform an inventory check:
- Verify the number of objects of major object types (Applet, Business Service, Business Component,...) match the expected numbers.
Please note that the Project application is the sum of ADDED modules and MODIFIED modules. This excludes the standard objects (unchanged from the Vanilla).