Difference between revisions of "Globalyzer and Check in Verification"

From Lingoport Wiki
Jump to: navigation, search
(Introduction)
(Installation Components)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= Introduction =
 
= Introduction =
Some Application Lifecycle Management systems take automatic action when a developer checks in code and before the code is actually pushed to the authoritative repository.
+
Some Application Lifecycle Management systems take automatic action when a developer checks in code and before the code is actually pushed to the authoritative [[Terms_and_Definitions#repository|repository]].
   
Globalyzer clients can be integrated into an automatic commit checker. This allows i18n scanning of the newly committed files to a buffer area (not the authoritative repository). When developers check in their code, the newly committed files are checked for i18n candidate issues. Actions can be determined by the wrapping program around Globalyzer API or wrapping scripts around Globalyzer Lite or Globalyzer Command Line Interface.
+
Globalyzer clients can be integrated into an automatic commit checker. This allows [[Terms_and_Definitions#i18n|i18n]] [[Terms_and_Definitions#scan|scanning]] of the newly committed files to a buffer area (not the authoritative repository). When developers check in their code, the newly committed files are checked for i18n candidate issues. Actions can be determined by the wrapping program around [[Terms_and_Definitions#GlobalyzerAPI|Globalyzer API]] or wrapping scripts around [[Terms_and_Definitions#GlobalyzerLite|Globalyzer Lite]].
   
One such action could be that if i18n issues are detected, an email is send to the committing developer with the attached file indicating the issues, and the committed files are not committed to the authoritative repository. Lite allows for that integration; Lingoport does not do that integration as each system is different.
+
One such action could be that if [[Terms_and_Definitions#i18n|i18n]] issues are detected, an email is send to the committing developer with the attached file indicating the issues, and the committed files are not committed to the authoritative repository. [[Terms_and_Definitions|Globalyzer Lite]] allows for that integration; Lingoport does not do that integration as each system is different.
   
 
= Target User=
 
= Target User=
Line 11: Line 11:
 
= Typical Deployment =
 
= Typical Deployment =
 
Lite has been unzipped on the automatic checker system and configured in a script that runs on each commit to that intermediary zone. The source code has a Globalyzer project definition file at the top level directory which specifies how the code should be scanned.
 
Lite has been unzipped on the automatic checker system and configured in a script that runs on each commit to that intermediary zone. The source code has a Globalyzer project definition file at the top level directory which specifies how the code should be scanned.
  +
  +
This illustrative example has been created using GitHub Pullrequest SonarQube Plugin, as described on the [[GitHub_Pull_Requests |Dashboard and Pull Request ]] page:
   
 
[[File:Check before Checking - Gerrit.gif]]
 
[[File:Check before Checking - Gerrit.gif]]
   
 
= Typical Workflow=
 
= Typical Workflow=
  +
The automatic checker uses a Globalyzer client, such as calling [[Terms_and_Definitions#GlobalyzerLite|Globalyzer Lite]] or a Java wrapper around the [[Terms_and_Definitions#GlobalyzerAPI|Globalyzer API]], in order to:
The automatic checker uses Lite to:
 
* Scan the code being worked on for potential i18n issues before checking in the code to the source code repository
+
* [[Terms_and_Definitions#scan|Scan]] the code being worked on for potential [[Terms_and_Definitions#i18n|i18n]] issues before checking in the code to the source code repository
* Take the appropriate actions based on the scan results, such as preventing the committed code from being pushed to the authoritative repository and/or sending emails notifications.
+
* Take the appropriate actions based on the scan results, such as preventing the committed code from being pushed to the authoritative [[Terms_and_Definitions#repository|repository]] and/or sending emails notifications.
  +
   
  +
This requires that the [[Terms_and_Definitions#ruleset|rule sets]] used to scan the code have been vetted.
  +
= Installation Components =
  +
* The '''Globalyzer Server''' is hosted by Lingoport. If the Globalyzer Server is on-site, a Linux system needs to be provided and installed with the Globalyzer Server software.
  +
* The '''Dashboard System''' and '''Continuous Globalization System''' are not shown on this diagram
  +
* The '''Developer Machine''' uses a Globalyzer Client such as Globalyzer Lite or Globalyzer Workbench to analyze code.
   
  +
= Installation Note =
This requires the rule sets used to scan the code have been vetted and a Globalyzer project definition file that makes sense.
 
  +
To install Globalyzer Lite, you must have access to a the zip file for Lite. The installation is a question of unzipping the zip file and executing the lite-setup script.
  +
To configure Globalyzer Lite, you then need to look at the globalyzer.com help page for Lite, using-globalyzer-lite.html.

Latest revision as of 19:10, 30 December 2016

Introduction

Some Application Lifecycle Management systems take automatic action when a developer checks in code and before the code is actually pushed to the authoritative repository.

Globalyzer clients can be integrated into an automatic commit checker. This allows i18n scanning of the newly committed files to a buffer area (not the authoritative repository). When developers check in their code, the newly committed files are checked for i18n candidate issues. Actions can be determined by the wrapping program around Globalyzer API or wrapping scripts around Globalyzer Lite.

One such action could be that if i18n issues are detected, an email is send to the committing developer with the attached file indicating the issues, and the committed files are not committed to the authoritative repository. Globalyzer Lite allows for that integration; Lingoport does not do that integration as each system is different.

Target User

The typical user is a developer working on a global market application. The developer does not change the way code is written. When checking in the code, the i18n Gate will need to be configured to take the proper action, such as rejecting the commit and emailing to the developer.

Typical Deployment

Lite has been unzipped on the automatic checker system and configured in a script that runs on each commit to that intermediary zone. The source code has a Globalyzer project definition file at the top level directory which specifies how the code should be scanned.

This illustrative example has been created using GitHub Pullrequest SonarQube Plugin, as described on the Dashboard and Pull Request page:

Check before Checking - Gerrit.gif

Typical Workflow

The automatic checker uses a Globalyzer client, such as calling Globalyzer Lite or a Java wrapper around the Globalyzer API, in order to:

  • Scan the code being worked on for potential i18n issues before checking in the code to the source code repository
  • Take the appropriate actions based on the scan results, such as preventing the committed code from being pushed to the authoritative repository and/or sending emails notifications.


This requires that the rule sets used to scan the code have been vetted.

Installation Components

  • The Globalyzer Server is hosted by Lingoport. If the Globalyzer Server is on-site, a Linux system needs to be provided and installed with the Globalyzer Server software.
  • The Dashboard System and Continuous Globalization System are not shown on this diagram
  • The Developer Machine uses a Globalyzer Client such as Globalyzer Lite or Globalyzer Workbench to analyze code.

Installation Note

To install Globalyzer Lite, you must have access to a the zip file for Lite. The installation is a question of unzipping the zip file and executing the lite-setup script. To configure Globalyzer Lite, you then need to look at the globalyzer.com help page for Lite, using-globalyzer-lite.html.