The DCO Compatibility tool
The DCO Compatibility tool allows you to automatically identify rules in the application you are extending (building on) that contain errors or issues that may cause, in the new application, compatibility issues when used with DCO tools.
It is a best practice to run the DCO Compatibiltity tool when extending any application or framework that you have created.
To access the tool, click Designer Studio > Application > Tools > Check DCO Compatibilty . A pop-up dialog appears indicating that the process has started.
If there compatibility issues, the dialog displays error and warning messages. The dialog contains the following four columns:
-
Condition icons: Error or Warning icons that indicate the condition. An Error means that a rule is invalid (cannot be saved) or that it does not operate properly. You must correct error conditions in order to prevent DCO failures.
A Warning means that there is a variance from design guardrails or best practices. Where possible, revise the rule or other rules to remove the variance, which can improve performance, maintainability, user productivity, or usability.
- Rule Name: A link to the rule containing the error. Click the link to open the rule form.
- Type: The Rule-based class to which the rule belongs.
- Error/Warning: Text that explains the reason and a brief description of how to mitigate the issue.
The following table describes the errors and warnings.
Condition | Message | Reason | How to fix | If not fixed |
---|---|---|---|---|
Error | application:version fails validation on save. | This application rule contains one or more error conditions that prevent it from being saved. | Open the rule and click the Save icon. Correct the issues that appear on the rule form. | You cannot build on top of this application or extend it using DCO tools. |
Error | <class> fails validation on save. | This class rule contains one or more error conditions that prevent it from being saved. | Open the rule and click the Save icon. Correct the issues that appear on the rule form. | You cannot use this class and processes within this class in a new application built with DCO tools. |
Error | <flow> fails validation on save. | This flow rule contains one or more error conditions that prevent it from being saved. | Open the rule and click the Save icon. Correct the issues that appear on the rule form. | You cannot re-use or extend this flow in a new application built with DCO tools |
Error | <section> fails validation on save. | This section rule contains one or more error conditions that prevent it from being saved. | Open the rule and click the Save icon. Correct the issues that appear on the rule form. | You cannot re-use or extend this section in a new application built with DCO tools |
Error | <property> fails validation on save. | This property contains one or more error conditions that prevent it from being saved. | Open the rule and click the Save icon. Correct the issues that appear on the rule form. | You cannot re-use or extend this section in a new application built with DCO tools |
Error | <rule> belongs to a class that restricts rules that may use it as an Applies To class, and the rule is set as an extension. | This rule meets both of these conditions: – Has an availability status of Extension. –Belongs to a class which has RuleSet restrictions enabled. This means that are restrictions on which rules can use this class as an Applies To class |
Do one of the following:
– Open the rule and click the Availability label. On the dialog, change the
Extension
setting in the Status field (usually, set it to blank).
– Open the Class rule form to which this rule belongs and click the Advanced tab. Remove the relevant RuleSet from the RuleSets array.
|
You cannot extend this rule in a new application built on top of your current application using DCO tools. |
Error | This application has <class> added as a duplicate work type. | A work class should be listed only once on the Work Types array on the Application rule form. | Open the rule and open the Details tab. On the Work Types array, delete the duplicate row and save the rule. | Application Express will produce an error. |
Error | This application has <class> added as a work type but its corresponding class is an abstract class. | Only concrete work classes should be listed on the Work Types array on the Application rule form. | Open the rule and open the Details tab. On the Work Types array, delete the row containing the abstract class and save the rule. | The Application Express tool will produce an error. |
Error | <rule> is marked as an extension as well as a final rule | This rule should not have both Availability settings. | Open the rule and click the Availability label. On the dialog, change the Final, Status, or both settings, and save the rule. |
You cannot take advantage of Case Management functions and features.
Managing cases with Case Management increases efficiency, consistency, and visibility of case processes, which decreases costs and improves quality. |
Error | Application Name cannot contain special characters. | The Application name Key Part must start with a letter and use only letters, numbers, hyphens, and the ampersand and underscore characters. |
Copy the rule (Save As) and use a valid name.
Remember to update access groups, specifications, and requirements associated with this application. |
You cannot link specifications and requirements to rules in this application. |
Warning | <class> does not have a case type rule defined. |
This work class does not have a Case Type rule. As a result, the
class does not appear as a case type in the Case Type Explorer, and cannot
employ case management processing.
In addition, the system will likely generate the "<class> does not inherit from Work-Cover-" warning. |
Do the following:
– Verify that the class inherits from Work-Cover-. If not, modify the Class rule form. See the warning "<class> does not inherit from Work-Cover-" described below. – Create a new case type rule. Select the class on the Application Explorer, right click, and select the New > Process > Case Type menu item. Open the Case Type Explorer, select the case type, and configure the settings. |
You cannot take advantage of Case Management functions and features.
Managing cases with Case Management increases efficiency, consistency, and visibility of case processes, which decreases costs and improves quality. |
Warning | <class> does not inherit from Work-Cover- |
This work class does not inherit from Work-Cover-. As a result, the class cannot employ case management processing.
In addition, the system will likely generate the "<class> does not have a case type rule defined" warning. |
Do the following:
– Open the class rule from the Application Explorer. On the General tab, specify Work-Cover- in the Class Inheritance field. Save the rule. – On the Application Explorer, verify that the class has a case type rule. If not, create one. See the warning "<class> does not have a case type rule defined" described above. |
You cannot take advantage of Case Management functions and features.
Managing cases with Case Management increases efficiency, consistency, and visibility of case processes, which decreases costs and improves quality. |
Warning | <flow> is a Visio flow. | This flow's process diagram is configured in Visio. It is a best practice to use the Flow form instead. |
Convert your process diagram to a flow diagram. Open the rule. On the Diagram tab, click the Convert button and save the rule.
Note: You cannot revert to Visio after you save the rule.
|
This flow cannot:
– Be used with V7.1+ Designer Studio features. – Be viewed or edited in some browsers. (Visio controls are compatible only with limited versions of Internet Explorer, Visio, and Windows. See the Pega Platform Platform Support Guide for details.)– Employ case management features. |
Warning | <property> is marked as an extension. |
This property should not have a Status setting of
Extension .
|
Open the rule and click the Availability label. On the dialog, remove the
Extension
setting in the Status field (usually, set it to blank).
|
System performance will be impaired due to the presence of duplicate property definitions. |
Warning | <class> definition has a blank label. | The Description field on the Class rule form should contain a value. | Open the rule, enter a value in the Description field, and save. | This description is displayed when Framework is presented to users. |
Warning | The resusable part <class> of this implementation class name is longer than 28 characters. | This class name should contain fewer than 28 characters if you intend to extend the class using the Application Express tool. |
Technical users only.
Use the Rename a Class wizard to refactor the class structure ( Designer Studio > System > Refactor > Classes > Rename a Class ) |
The Application Express tool cannot create applications using class names that exceed 28 characters.
The system incorporates this value into the names of the class group and data class when the application is generated. |
Warning | Version <application version> is not in the format ##.##.## nor ##.## | The application version Key Part should include major and minor version numbers (optionally, a patch number). Each must be two digits and separated by a period (.) |
Create a copy (Save As) of this application and use a valid version number.
Remember to update access groups, specifications, and requirements associated with this application. |
Incorrect application version formats cause sorting issues when using the Application Express. |
Warning | Application should reference a defined Content Security Policy | The Policy Name field in the Content Security area on the application form's Integration & Security tab is empty. | Specify a value in the Policy Name field. |
Not employing a Content Security Policy in your application can increase the risk and impact of cross-site scripting attacks. See
About Content Security Policies.
*Application Express copies this value from the built-on application to the new application, and sets the Mode to Report Only. |