1. Home
  2. Docs
  3. Code Review (previously ACR)
  4. Modules

Modules

This page shows a list of modules with an overall grade per module. The grade is based on the size, encapsulation, number of violations, and coverage. At the end of the list aggregate statistics for the entire project are shown, first without the app store modules and then together with the app store modules.

Size can be small, medium, or large and is based on the number of microflows and their size, entities, and the number of attributes they contain as well as the number of other documents in the module. Size reflects negatively on the overall grade.

The number of violations negatively affects the module’s grade. The more violations the worse the grade. Click the number to drill-down and see more details about the violations in the module.

Encapsulation shows how often entities and microflows from other modules are used. It is recommended to keep modules loosely coupled therefore higher encapsulation leads to a better grade.

Introduced in version 2.1 (Released November 3rd)

The linked version column shows the App store module that this module is linked to. This is a preview feature. By default all App store modules scan the App store to find the module they are copied from. This is tried by a unique id, and if that does not work by name.

You can manually link non-App store modules to an App store module, for example when your module is not recognized as an App store module. When you have downloaded the APDAgent from the APD manager site the module is not recognized as an App store module.

By clicking on options it is possible to:

  • Download the MPK file for the project. The JSON and the MPK file are used to determine violations and also in the compare functionality;
  • Browse so that you can see the raw JSON representation of the model for this project.

Finally, by clicking on the three dots there are also multiple options based on the selected module:

  • Browse so that you can see the raw JSON representation of the model for this module.
  • You can add or remove the module to/from the allowlist.
  • You can select the App Store version you want to compare this module to.
  • Use Compare to App Store version to browse the differences between this module and the selected linked version in a raw JSON representation .

After clicking Select App Store version you will be send to a page where you can see which modules and their versions are available. You also have the opportunity to compare a selected version towards your current local version. If you expand you will see the release notes for that specific version.

In the upper right corner there are a couple of options:

  • You can unlink modules from the App store module. This can be usefull if for example the scan linked the module to a different module with the same name.
  • The scan for App Store module option will set the linked version back to it’s original linked version.

When modules are linked they are compared to the App store module and a rule has been added that App store modules should not be changed.

As with all rules the violations for a module can be placed on the allowlist. So for this feature you have 2 ways to prevent violations:

  • Placing the violation on the allowlist. This solution is advised if the App store module has been modified.
  • Unlinking the module from the App store module. This solution is advised in the case of a naming duplicate.