What do the reports mean after the SPCAF analysis?

After running SPCAF analysis you will have the following Reports which break down the results accordingly. This article will briefly explain what each of the results represents:

Overview

This is simply the Overview of the analysis and will display the total results for each section. From here you can access the independent results for Code Quality, Metrics, Inventory's and Dependencies.

Summary

The report provides a summary of the analysis results in charts and diagrams. Summary gives the overview for "Code Quality" and " Metrics" , by showing the level of errors and if being viewed in HTML this can be filtered on the graphs. Summary also shows the Analysis Settings and Exceptions.

Code Quality

The code quality analyzers of SPCop focus on different types of SharePoint Code. They are used to identify possible problems or coding errors in assemblies, XML files, ASPX files, CSS files, JavaScript files etc. The rules check the artifacts and return violations as Critical Error, Error, Critical Warning, Warning or Information.

  • Critical ErrorIssues reported on Critical Error level may lead to a failed solution deployment process or the SharePoint farm can become in-stable after deployment. The code contains syntax errors or files or referenced elements are missing. WSP's or Apps with critical errors should not be deployed to SharePoint because they can damage the farm or could have highly negative impact.
  • Error - Issues reported at Error level should not impact the solution deployment process or the stability of the SharePoint farm. But deployed solutions may not work as expected. Future upgrades of the solution maybe impossible or may most likely fail. WSP's or Apps with errors should only be deployed to SharePoint very carefully after the detected issues have been reviewed.
  • Critical WarningIssues reported at Critical Warning level reflect issues that generally have little or no adverse effect on code behavior; they are primarily concerned with code maintainability, and correcting less-than-optimal choices for visible elements. However, for a minority of cases, these messages are considered errors. Therefore, they should be reviewed closely before they are excluded.
  • Warning - Issues reported at Warning level are generally concerned with doing things correctly to keep your code base stable, extensible, and maintainable.
  • InformationMessages at Information level are returned by rules that report information about a target, as opposed to detecting errors in a target.

Each Violation rating lists the cause, reason and offers a resolution for the error.

Metrics

Provides detailed information about the amount of customization to estimate the complexity and volume of the solution. Metrics categories the customization as Feature Elements, Features by Scope, Solution Artifacts, Assembly Artifacts, Appweb Feature Elements, HostWeb Feature Elements, AppWeb File Types, Security Relevant Code, impacting Farm Stability and Code Languages.

  • Feature ElementsTells which SharePoint artifacts are used in the application. These numbers help to see the complexity of the application and the impact on the SharePoint farm.
  • Features by ScopeTells which types of features are used in the application. These numbers help to see the complexity of the application and the impact on the SharePoint farm.
  • Solution ArtifactsTells which SharePoint artifacts are used in the application. These numbers help to see the complexity of the application and the impact on the SharePoint farm.
  • Assembly Artifacts - Tells which SharePoint artifacts are used in the application. These numbers help to see the complexity of the application and the impact on the SharePoint farm.
  • AppWeb Feature ElementsTells which artifacts are deployed to the AppWeb by an App.
  • HostWeb Feature ElementsTells which artifacts are deployed to the HostWeb by an App.
  • AppWeb File Types - Tells which types of files are deployed to the AppWeb as Modules.
  • Security Relevant CodeThese numbers indicate which customization's may have an impact on farm security and provide a risk for the farm.
  • Impacting Farm StabilityThese numbers indicate how large they impact the stability of the farm.
  • Code LanguagesThis summary tells which different languages are used in the code and how many lines are present. This number helps to see which knowledge a developer needs to maintain the code.

Dependencies

Shows the dependencies between the SharePoint elements within the packages and external components. The results shows the Solution Level Dependency, Feature Level Dependencies, .Net Dependencies and General Dependencies.

Inventory

The SharePoint inventory report lists all contained customization's including their main properties and settings. This information helps to automatically document all developed customization's. These can be categorized as Application Contents, Feature Elements, Customization's, SharePoint Dependencies, External Dependencies, Resources and Miscellaneous.

Migration

The SPCAF Migration Assessment is a combination of all SPCAF modules for quality, metrics, dependencies and inventory in order to analyze full trust code solutions and give guidance how to migrated them to the App model.

The analysis explores the solutions from 4 different perspectives:

  • Road Blocks - Lists critical elements in the code that prevent a migration or make a migration impossible.
  • Metrics - Provides numbers about what types of elements have been implemented which allows a better estimation about complexity and efforts for a migration.
  • Inventory - Lists all elements and their main settings which allows you to question why a given customization has been implemented.
  • Dependencies - Lists all dependencies to SharePoint and external elements because also depended elements must be taken into account for a migration.

The reports consists of these 4 perspectives which provide a different point of view onto the existing code and provides guidance how the results can be interpreted and what actions should be done to allow a migration to the App Model.

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.