Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The project of adding a new language requires diverse and varied skills. Therefore, it requires the involvement of a multidisciplinary team composed of software developers, linguists and ontologists. It is therefore necessary to allow a few days or even a few weeks, depending on the computer skills of the team, to complete all the iterations presented in this guide. La maîtrise du cycle de développement présenté ci-dessous ainsi que des actions informatiques associées à chacun des étapes du cycle doivent être maîtrisé par l'ensemble des membres de l'équipe. Il sera donc nécessaire d'offrir un support informatique adéquat au personnel non informaticiens travaillant sur la traduction des textes contenus dans les divers fichiers. Pour simplifier ce travail nous recommandons fortement l'usage de All team members must be able to master the development cycle presented below, as well as the IT actions associated with each stage of the cycle. It will therefore be necessary to offer adequate IT support to the non-IT personnel working on the translation of the texts contained in the various files. To simplify this work, we strongly recommend the use of UQAM-DEV R.3 : An Interoperable UQAM Development Environment for VIVO (UQAM-DEV) 

Overview

Development Cycle

Image Removed

Vivo's internationalization process is a five-step cycle:

  • Step 1) At the beginning of the cycle, the first step is to compile, deploy, and run the Vivo instance on the local computer.
  • Step 2) The second step is to test and identify problems related to internationalization.
  • Step 3) If everything works properly this ends the development cycle.
    • When a problem is identified it is necessary to search the code to find the problem.
    • This involves doing a lot of pattern managing search activities.
  • Step 4) In fourth place, comes the stage of correcting the problem.
    • Once the problem has been identified, the professional must edit the concerned file to make correction.
  • Step 5) In step five certain databases need to be initialized depending on the type of correction made.
    • Then back to step one of recompiling and running vivo.

Development iteration

The development of VIVO's internationalization is an iterative process that requires several iterations before full internationalization is achieved. Each iteration runs through the development cycle we discussed earlier. In the following section we will present the different iterations by demonstrating the internationalization of the French Canadian. Each iteration will contain a section describing the purpose of the iteration, a section demonstrating each stage of the development cycle, and in conclusion a summary explaining the highlights of the iteration.

Iteration 1: Preparing and initializing the development environment

Goal:

This itération consists in setting up the software elements necessary to run an VIVO instance on a local host and prepare directories to undertake the task of internationalizing VIVO's content.

At the end of this iteration all software and data components will be in place to start the process of translating the files into the target language. French Canadian will be used as the demonstration language.

Item A) VIVO's software infrastructure installation

A.1 Linux configuration

Assume the configuration of the following environment variables

which has been specially designed to carry out this type of project. However, in order to preserve the generality of the presented solution, we have chosen to present the method in a Ubuntu Linux development context.

To illustrate the process of integrating new languages, we will give examples of how the French Canadian linguistic context is integrated into VIVO.

Methodoligical overview

The method developed to integrate a new linguistic context into VIVO is an Agile one that involves a development cycle punctuated by evolutionary iterations whose purpose is the introduction of new language into VIVO. Source code control aspects are deliberately not dealt with in this methodology in order to leave each team free to deal with this subject according to the governance rules specific to the institution leading the project.

Development Cycle

The figure below shows the five generic steps in the cycle of integrating a new language into VIVO that are performed at each iteration.

Image Added

Vivo's internationalization process is a five-step cycle:

  • Step 1) At the beginning of the cycle, the first step is to compile, deploy, and run the Vivo instance on the local computer.
  • Step 2) The second step is to test and identify problems related to internationalization.
  • Step 3) If everything works properly this ends the development cycle.
    • When a problem is identified it is necessary to search the code to find the problem.
    • This involves doing a lot of pattern managing search activities.
  • Step 4) In fourth place, comes the stage of correcting the problem.
    • Once the problem has been identified, the professional must edit the concerned file to make correction.
  • Step 5) In step five certain databases need to be initialized depending on the type of correction made.
    • Then back to step one of recompiling and running vivo.

Development iteration

The development of VIVO's internationalization is an iterative process that requires several iterations before full internationalization is achieved. Each iteration runs through the development cycle we discussed earlier. In the following section we will present the different iterations by demonstrating the internationalization of the French Canadian. Each iteration will contain a section describing the purpose of the iteration, a section demonstrating each stage of the development cycle, and in conclusion a summary explaining the highlights of the iteration.

...

Iteration 1: Preparing and initializing the development environment

Goal:

This itération consists in setting up the software elements necessary to run an VIVO instance on a local host and prepare directories to undertake the task of internationalizing VIVO's content.

At the end of this iteration all software and data components will be in place to start the process of translating the files into the target language. French Canadian will be used as the demonstration language.

Item A) VIVO's software infrastructure installation

A.1 Linux configuration

Assume the configuration of the following environment variables

Code Block
languagebash
titleExample for Linux
linenumberstrue
export GIT
Code Block
languagebash
titleExample for Linux
linenumberstrue
export GIT_HOME=/opt/tomcat/GIT
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export SOLR=/opt/solr
export TOMCAT_HOME=/opt/tomcat
export VIVO_HOME=/opt/tomcat/vivo_i18n/home

...

StepAction

1) Start TOMCAT

After making the appropriate configurations move to the TOMCAT executables directory and launch the application.


Code Block
languagebash
cd $TOMCAT_HOME/bin
./catalina.sh jpda start


2) Monitoring the execution

after running the "taill -f" command you can do ^C to stop the Monitoring 


Code Block
languagebash
cd $TOMCAT_HOME/log
tail - f 


.createCacheHeaders=true, languages.selectableLocales=en_US, de_DE, orcid.api=sandbox, orcid.apiVersion=2.0, orcid.clientId=APP-MWPTQ7Z850AY2GCH, orcid.clientPassword=5eeb8f1e-05fd-4aa3-af3f-3bf12911f683, orcid.externalIdCommonName=Universit� du Qu�bec � Montr�al, orcid.webappBaseUrl=http://locahost:8080/vivo/, proxy.eligibleTypeList=http://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization, rootUser.emailAddress=vivo@uqam.ca, rootUser.password=Vivo2435...., rootUser.passwordChangeRequired=false, rp.multiple=config, selfEditing.idMatchingProperty=http://localhost:8080/ns#networkId, , vitro.local.solr.url=http://localhost:8983/solr/vivocore_i18n}]
2020-09-23 15:32:27,278 INFO [RevisionInfoBean] Revision info [build date: 20-09-23 22 h 18, level info: [[VIVO, 1.11.2-SNAPSHOT, d3e9606]]]
2020-09-23 15:32:27,321 WARN [StartupStatus] From FreemarkerEmailFactory$Setup: Invalid SMTP host: 'smtp.mydomain.edu': host name is not recognized - Email functions are disabled.
2020-09-23 15:32:27,383 INFO [RDFFilesLoader] Loading rdf/display/everytime/dataGetterLabels.n3
2020-09-23 15:32:27,384 INFO [RDFFilesLoader] Loading rdf/display/everytime/displayModelListViews.rdf
2020-09-23 15:32:27,386 INFO [RDFFilesLoader] Loading rdf/display/everytime/homePageDataGetters.n3
2020-09-23 15:32:27,388 INFO [RDFFilesLoader] Loading rdf/display/everytime/localeSelectionGUI.n3
2020-09-23 15:32:27,389 INFO [RDFFilesLoader] Loading rdf/display/everytime/n3ModelChangePreprocessors.n3
2020-09-23 15:32:27,390 INFO [RDFFilesLoader] Loading rdf/display/everytime/orcidInterfaceDataGetters.n3
2020-09-23 15:32:27,392 INFO [RDFFilesLoader] Loading rdf/display/everytime/pageList.n3
2020-09-23 15:32:27,393 INFO [RDFFilesLoader] Loading rdf/display/everytime/permissions.n3
2020-09-23 15:32:27,399 INFO [RDFFilesLoader] Loading rdf/display/everytime/searchIndexerConfigurationVitro.n3
2020-09-23 15:32:27,404 INFO [RDFFilesLoader] Loading rdf/display/everytime/searchIndexerConfigurationVivo.n3
2020-09-23 15:32:27,410 INFO [RDFFilesLoader] Loading rdf/display/everytime/vitroSearchProhibited.n3
2020-09-23 15:32:27,411 INFO [RDFFilesLoader] Loading rdf/display/everytime/vivoConceptDataGetters.n3
2020-09-23 15:32:27,414 INFO [RDFFilesLoader] Loading rdf/display/everytime/vivoListViewConfig.rdf
2020-09-23 15:32:27,426 INFO [RDFFilesLoader] Loading rdf/display/everytime/vivoOrganizationDataGetters.n3
2020-09-23 15:32:27,431 INFO [RDFFilesLoader] Loading rdf/display/everytime/vivoQrCodeDataGetter.n3
2020-09-23 15:32:27,434 INFO [RDFFilesLoader] Loading rdf/display/everytime/vivoSearchProhibited.n3
2020-09-23 15:32:27,440 INFO [RDFFilesLoader] Loading rdf/displayTbox/everytime/displayTBOX.n3
2020-09-23 15:32:27,450 INFO [RDFFilesLoader] Loading rdf/displayDisplay/everytime/displayDisplay.n3
2020-09-23 15:32:27,453 INFO [RDFFilesLoader] Loading rdf/auth/everytime/permission_config.n3
2020-09-23 15:32:27,464 INFO [RDFFilesLoader] Loading rdf/tbox/everytime/initialTBoxAnnotations_de_DE.nt
2020-09-23 15:32:27,490 INFO [RDFFilesLoader] Loading rdf/tbox/everytime/initialTBoxAnnotations_en_US.nt
2020-09-23 15:32:28,738 INFO [FileGraphSetup] Read 12 abox file graphs
2020-09-23 15:32:29,173 INFO [FileGraphSetup] Read 6 tbox file graphs

3) Observing the execution

After logging in to VIVO and passing the smocktest you should see a presentation similar to this one. If you don't observe people in the faculties make sure that the example files are copied to the right place as indicated above or that Solr has been started

.

 file graphs


3) Observing the execution

After logging in to VIVO and passing the smocktest you should see a presentation similar to this one. If you don't observe people in the faculties make sure that the example files are copied to the right place as indicated above or that Solr has been started

.

Iteration summary

The objective of this iteration was to set up the software environment necessary for the integration of the new language. At this point an instance of TOMCAT, Solr, as well as the deployment of the en_US version of VIVO and an example file are fully operational and executable.

...

Iteration 1: Create the directory structure of the target language context

Goal

The objective of this iteration is to set up the directory structure to host the files needed to integrate the new linguistic context in VIVO. At the end of the iterations, the execution of VIVO will allow the texts to be presented according to the chosen linguistic context.

Step 1) Compile and deploye a new/corrected instance of VIVO and start it

Step 2) Running VIVO for testing and/or finding an i18n problem

Step 3) Searching for the problematic file in the VIVO source code

Step 4) Editing the problematic file

Step 5) If necessary reset the various VIVO's indexes and databases

Iteration summary

...

Iteration 2:

Goal

Step 1) Compile and deploye a new/corrected instance of VIVO and start it

Step 2) Running VIVO for testing and/or finding an i18n problem

Step 3) Searching for the problematic file in the VIVO source code

Step 4) Editing the problematic file

Step 5) If necessary reset the various VIVO's indexes and databases

Iteration summary