CheckMate in UI Designer
There is a famous saying: “Want to solve Big Problems? Start with small”
Background & Need
With 1711 release SAP released CheckMate tool for Partners, which is embedded in SAP Cloud Studio UI Designer application. CheckMate is a tool which helps in enforcing SAP defined UX and modeling guidelines and performs consistency checks for Partner created UI components in UI designer.
Checkmate tool runs a set of checkmate rules called checks to :
- Ensure the UI component is designed as per how Client and Backend wants it to be modeled,
- Providing user guidelines/help document to solve the inconsistencies reported.
Checkmate is already available with UI Designer for SAP developers since ages and has proved very useful till now in helping to model consistent and less error prone UI components. With increasing modeling defects in Partner created UI components, we felt the need for this tool for Partner modeled UI components and hence CheckMate tool was delivered to Partners.
Points to note:
- Checkmate will be enabled only in Partner created UI components and not in SAP delivered UI components extended by Partners as those components have already passed through checkmates when delivered by SAP developers.
- The checks which run in CheckMate tool are the list of issues/inconsistencies found/reported till now and are converted as rules.CheckMate tool checks a UI component XML against these list of rules and reports if any issue is found. Hence the checks creation is a ongoing process and we create new checks as and when we find such cases.
Current Situation (Post 1811 Upgrade)
Till 1808, very few Partners would have seen or used this tool as all the checks available for Partners were set to Severity- High / Medium or Low and these checkmate checks were more or less like Information or Warning to the Partners in their UI components in UI Designer as the Checkmate Checks of any severity other than Very High (Red Colored) does not hamper UI Component activation.
With 1811 release, we have converted few checks severity to Very High and they can hamper your UI component activation till the reported inconsistency is present in your UI Component.
This means many of your existing UI component which was looking stable till now, may show suddenly such inconsistencies by red color checkmate checks and you may feel it as upgrade issue. This will come up only when you edit or open those inconsistent UI components in UI Designer. This is not applicable for Components which are in Assembled or Deployed solutions since they can not be opened in UI designer.
How to enable/ disable Checkmate in UI Designer
There is a checkbox at the top tool panel to enable and disable the Checkmate tool within UI designer. Once the checkbox is checked, the button “Run Checks” to trigger Checks gets enabled and on uncheck of the checkbox the “Run Checks” button gets disabled.
For a SAP delivered UI component extended by Partner (.xuicomponent), the checkbox and the button “Run Checks” remains disabled for the reason already stated above.
How to deal with Checkmate Checks in UI Designer
Once the UI component is loaded in UI designer and the checkbox to enable Checkmate is checked, User can click on “Run Checks” button to run all the consistency and UX checks on the open UI component. This will launch the Checkmate checks result at the bottom of the screen.
The Checkmate checks result will have 4 tabs showing
- UX Rules
- Consistency Rules
- Performance Rules
- Adoption Rules
These tabs will show the number of each rule present in the opened UI component.
Only Consistency Rules is something which can hamper your UI component activation and hence mandatory to be resolved. Other rules are good to have feature but not mandatory.
The Message/Details section provides the idea of the issue. For most of the reported rules, clicking on the message details will take the focus on the region in UI component where the issue has occurred. Also, it will tell the path where the issue is reported.
There is a Help Document section next to it. It provides a link to SAP Help document which provides an explanation and possible solution for the reported issue.
Using the help document, Partners need to solve these reported errors.
Special privilege to Partner CheckMate Tool
If a partner unchecks the checkbox “Enable CheckMate” in UI designer, it will disable the checkmate checks completely. This means even if the Partner created UI component has checkmate error of Severity- Very High and the partner chooses to disable the checkmate and activate the UI components, they can do so.
But this is not the case with SAP developer UI Designer, as the native CheckMate tool cannot be disabled when the UI component has checks of severity Very High (we term it as prio 1 issue as well) and the UI component can never be activated unless those errors are solved.
This special privilege is provided to give the Partner time to adapt to this new tool as there can be chances that there are some existing components which is in active status but has prio 1 checkmate issues already. On enabling checkmate in those components, it will make those Partner UI components inactive and can disrupt the stability of Partner solutions.
But, we strongly recommend to the Partner developers not to ignore the checkmate errors in your component as it may lead to some issue somewhere later and you may need to correct it at a later stage.
UI Component Activation
When a UI component is having activated status and CheckMate is enabled for it and finds any very high severity issue in it, then as soon as you edit or open the UI component it will become inactive. On refreshing the solution, you may observe a red dot on the UI component in Solution Explorer of SAP Cloud Studio.
For such cases, Partner can do either of the following:
- Solve the checkmate issues and activate the component. This will enable the component to get rid of those issues forever.
- If the Partner wants to solve those issues at a later point of time, they should disable the CheckMate tool in the UI Designer and then activate it. But there will always be a risk of getting that UI component inactive if it is edited or opened in UI Designer next time
as the next load of UI Designer will enable the CheckMate and all its checks.