VIVO Documentation
...
Warning |
---|
This page is in DRAFT |
Table of Contents | ||||
---|---|---|---|---|
|
...
To illustrate the process of integrating new languages, we will give examples of how the French Canadian linguistic context is integrated into VIVO.
...
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.
la figure ci-dessous schématise la méthodologie d'intégration de nouveaux langages dans VIVO. The cyclical, incremental and evolutionary methodology allows a segmentation of the tasks to be carried out. From the cyclical point of view, the methodology is segmented in five steps. At each iteration, the five steps punctuate the development cycle. Each iteration targets a specific point to be addressed which is defined in the goal to be reached in the iteration. Si
...
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.
...
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.
Assume the configuration of the following environment variables
...
Secondly, it is essential to install the Apache Tomcat application server. You will find the necessary instructions for its installation at the following link: Installing Tomcat 8.5 for Vivo-1.11.0-i18n
An alternative VIVO deployment management solution is also available. You can see it here: UQAM-DEV R.3 : An Interoperable UQAM Development Environment for VIVO (UQAM-DEV)
Step | Action | |||||
---|---|---|---|---|---|---|
1) Creating the GIT directoryWhether under Windows or on Unix it is necessary to create a space in which it is possible to work. As proposals we suggest creating a directory called under the Tomcat root directory. In the case of users and Unix we suggest to carry out the operations under the tomcat username. This precaution facilitates the management of credentials associated with development under Linux. |
| |||||
2) Retrieving VIVO the codeTo VIVO internationalization, it is necessary to extract the four following GitHub repo: |
| |||||
3) Retrieving UQAMVivoVIVO-installer-i18nThe installer makes it easy to manage the compilation and deployment of the VIVO i18n instance. |
|
Step | Action | ||
---|---|---|---|
1) Configuring SOLR | follow the configuration steps available at this link: Configure and Start Solr | ||
2) Check vivocore in Solr |
|
Step | Action | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1) Create VIVO home |
| ||||||||||||
2) Edit runtime.properties fileMake sure that attribute properties fit with current installation |
| ||||||||||||
3) Edit applicationSetup.n3 for TDB data persistence |
| ||||||||||||
4) Edit and configure VIVO installation setting fileCheck that the file contains the following code: |
|
This activity consists in making a first compilation of VIVO i18n.
Step | Action | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1) check the state of the Git directory before starting the compilationmake sure that all directories are present and are all at the same hierarchical level in Git directories |
| ||||||||||||||||
2) start compilingBefore starting the compilation make sure you have correctly configured the settings_i18n_linux.xml file as described above. The -DskipTests option is optional.
|
At the end you should see a compilation end looking like this:
|
This activity is the first step in internationalization. It involves creating an internationalized test data file in the target language that will be used to assess the quality of the internationalization of the different VIVO modules.
Step | Action | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1) access the sample fileExtract the sample file from GitHub |
| ||||||||||||||||||||||||||||
2) build a translated file in the target languageThis step consists of copying language files from the directory is in the target language and translating the content into the new language and associating the appropriate linguistic tag to it.
|
#- sample change
| ||||||||||||||||||||||||||||
3) Install the files so that they are processed each time VIVO is started. |
|
Step | Action | |||||
---|---|---|---|---|---|---|
1) Start TOMCATAfter making the appropriate configurations move to the TOMCAT executables directory and launch the application. |
| |||||
2) Monitoring the executionafter running the "taill -f" command you can do ^C to stop the Monitoring |
| |||||
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 . |
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.
...
The goal of this iteration is to add the French Canadian linguistic context to the VIVO language selector. This goal includes the sub goal of initiating the implementation of the directory structure necessary to integrate the files needed to manage French Canadian in VIVO.
The methodological entry point of this iteration is step three
The first functionality addressed in the internationalization and language management assumed by VIVO's language selector. As shown in the image below, the selector in its current state does not manage French Canadian. This iteration therefore consists in introducing French Canadian into the VIVO language selector.
several Several directory structures and files need to be set up to initialize the implementation of the linguistic context in VIVO.
The intention of this step is to produce the new structure (fr_CA) by copying an existing structure (en_US) and to make the necessary modifications to the elements of the new structure in order to finalize the new language insertion.
Step | Action | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1) Create directory structures in Vitro-languages and VIVO-languages The demonstration is for the integration of the French Canadian fr_CA in Vitro-languages and VIVO-Languages |
| ||||||||||||||
2) Translate the content of each properties file 2) Translate the content of each properties file ('all_en_CA.properties' 'all_en_CA.properties') into the target language (here, the en_CA) |
| ||||||||||||||
|
| ||||||||||||||
|
|
No action to do at this step for this iteration
This step consists of integrating the new language into the VIVO installation process. To do this, a set of POM files need to be created or modified.
...
...
Step | Action | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Editing Edit and modify ./core/pom.xml Add lines 6 to 11 in the <depedencies> section of in the POM file |
| |||||||||||||||||||
Create the following pom file:Edit and modify ./fr_CA/web_app/pom.xml Pay particular attention to the version number which must correspond to the version currently under development. Code Block | | |||||||||||||||||||
| ... <modelVersion>4.0.0</modelVersion> <artifactId>vitro-languages-fr_CA</artifactId> <name>Vitro Languages fr_CA</name> ... | |||||||||||||||||||
Edit and modify ./fr_CA/web_app/src/pom.xml Pay particular attention to the version number which must correspond to the version currently under development. | ... <groupId>org.vivoweb</groupId> |
|
| </parent>
<packaging>war</packaging> <parent> |
|
| <artifactId>vitro-languages-fr_CA</artifactId> |
|
| <version>1.11.2-SNAPSHOT</version> |
<packaging>pom</packaging>
<name>Vitro Languages
<name>Vitro Languages for Web App fr_CA</name> |
<description>Vitro Languages</description>
<url>http://vivoweb.org/</url>
<licenses>
<license>
<name>BSD 3-Clause License</name>
<url>https://raw.github.com/vivo-project/VIVO/develop/LICENSE</url>
<distribution>repo</distribution>
</license>
</licenses>
<!-- The SCM repository location is used by Continuum to update against
when changes have occurred. This spawns a new build cycle and releases snapshots
into the snapshot repository below. -->
<scm>
<connection>scm:git:git@github.com:vivo-project/Vitro-languages.git</connection>
<developerConnection>scm:git:git@github.com:vivo-project/Vitro-languages.git</developerConnection>
<url>git@github.com:vivo-project/Vitro-languages.git</url>
<tag>HEAD</tag>
</scm>
<properties>
<vitro-version>${project.version}</vitro-version>
<vivo-dir>${basedir}</vivo-dir>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
<build.timestamp>${maven.build.timestamp}</build.timestamp>
<maven-site-plugin.skip>false</maven-site-plugin.skip>
<stagingBase>/</stagingBase>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<profiles>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<shortRevisionLength>7</shortRevisionLength>
<revisionOnScmFailure>Detached</revisionOnScmFailure>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<distributionManagement>
<site>
<id>vivo-project</id>
<url>https://vivo-project.github.io/</url>
</site>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<modules>
<module>webapp</module>
</modules>
</project>
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.vivoweb</groupId>
<artifactId>vitro-languages-webapp-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>org.vivoweb</groupId>
<artifactId>vitro-languages-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<name>Vitro Languages for Web App fr_CA</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<archiveClasses>false</archiveClasses>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>overlays</directory>
</fileset>
</filesets>
</configuration>
</plugin>
</plugins>
</build>
</project> |
Editing ./pom.xml
Add the following line which is in bold
...
</distributionManagement>
<modules>
<module>core</module>
<module>en_CA</module>
<module>en_US</module>
<module>es</module>
<module>fr_CA</module>
<module>pt_BR</module>
<module>de_DE</module>
</modules>
</project>
...
Editing ./core/home/pom.xml
Add the dependency (in bold) in the POM file
...
. . .
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-home-es</artifactId>
<version>${project.version}</version>
<type>tar.gz</type>
</dependency>
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-home-fr_CA</artifactId>
<version>${project.version}</version>
<type>tar.gz</type>
</dependency>
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-home-pt_BR</artifactId>
...
Editing ./core/webapp/pom.xml
Add the dependency (in bold) in the POM file
...
. . .
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-webapp-es</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-webapp-fr_CA</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-webapp-pt_BR</artifactId>
...
Adding ./fr_CA/home/pom.xml
Pay particular attention to the version number which must correspond to the version currently under development.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-home-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<name>VIVO Languages for Home fr_CA</name>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<tarLongFileMode>posix</tarLongFileMode>
<descriptors>
<descriptor>src/main/assembly/home.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>target/${project.artifactId}-${project.version}.tar.gz</file>
<type>tar.gz</type>
<!-- classifier>optional</classifier -->
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project> |
...
Adding ./fr_CA/webapp/pom.xml
Pay particular attention to the version number which must correspond to the version currently under development. (Line 7 and 13)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-webapp-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<name>VIVO Languages for Web App fr_CA</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<archiveClasses>false</archiveClasses>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>overlays</directory>
</fileset>
</filesets>
</configuration>
</plugin>
</plugins>
</build>
</project> |
...
Editing ./pom.xml
Add the following lines
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<packaging>pom</packaging>
<name>VIVO Languages fr_CA</name>
<description>VIVO Languages</description>
<url>http://vivoweb.org/</url>
<parent>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages</artifactId>
<version>1.11.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<licenses>
<license>
<name>BSD 3-Clause License</name>
<url>https://raw.github.com/vivo-project/VIVO/develop/LICENSE</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:git@github.com:vivo-project/VIVO-languages.git</connection>
<developerConnection>scm:git:git@github.com:vivo-project/VIVO-languages.git</developerConnection>
<url>git@github.com:vivo-project/VIVO-languages.git</url>
<tag>HEAD</tag>
</scm>
<properties>
<vitro-version>${project.version}</vitro-version>
<vivo-dir>${basedir}</vivo-dir>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
<build.timestamp>${maven.build.timestamp}</build.timestamp>
<maven-site-plugin.skip>false</maven-site-plugin.skip>
<stagingBase>/</stagingBase>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>home</module>
<module>webapp</module>
</modules>
<profiles>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<shortRevisionLength>7</shortRevisionLength>
<revisionOnScmFailure>Detached</revisionOnScmFailure>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<distributionManagement>
<site>
<id>vivo-project</id>
<url>https://vivo-project.github.io/</url>
</site>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
</project> |
...
Editing ./pom.xml
Add the following line which is in bold
...
. . .
<modules>
<module>core</module>
<module>en_CA</module>
<module>en_US</module>
<module>es</module>
<module>fr_CA</module>
<module>de_DE</module>
<module>pt_BR</module>
</modules>
. . .
...
Editing ./home/pom.xml
Add the dependency (in bold) in the POM file
...
. . .
<modules>
<module>../../Vitro/home</module>
<module>../../VIVO/home</module>
<module>../../VIVO-languages/core/home</module>
<module>../../VIVO-languages/en_US/home</module>
<module>../../VIVO-languages/en_CA/home</module>
<module>../../VIVO-languages/de_DE/home</module>
<module>../../VIVO-languages/es/home</module>
<module>../../VIVO-languages/pt_BR/home</module>
<module>../../VIVO-languages/fr_CA/home</module>
</modules>
. . .
...
Editing ./webapp/pom.xml
Add the dependency (in bold) in the POM file
...
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-webapp-en_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vitro-languages-webapp-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.vivoweb</groupId>
<artifactId>vivo-languages-webapp-fr_CA</artifactId>
<version>1.11.2-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
. . .
...
Editing ./webapp_dep/pom.xml
Add the dependency (in bold) in the POM file
...
. . .
<modules>
<module>../../Vitro/api</module>
<module>../../Vitro/dependencies</module>
<module>../../Vitro/webapp</module>
<module>../../Vitro-languages/core/webapp</module>
<module>../../Vitro-languages/fr_CA/webapp</module>
<module>../../Vitro-languages/en_US/webapp</module>
<module>../../Vitro-languages/en_CA/webapp</module>
<module>../../Vitro-languages/de_DE/webapp</module>
<module>../../Vitro-languages/es/webapp</module>
<module>../../Vitro-languages/pt_BR/webapp</module>
<module>../../VIVO/api</module>
<module>../../VIVO/webapp</module>
<module>../../VIVO-languages/core/webapp</module>
<module>../../VIVO-languages/fr_CA/webapp</module>
<module>../../VIVO-languages/en_US/webapp</module>
<module>../../VIVO-languages/en_CA/webapp</module>
<module>../../VIVO-languages/de_DE/webapp</module>
<module>../../VIVO-languages/es/webapp</module>
<module>../../VIVO-languages/pt_BR/webapp</module>
</modules>
. . .
... | |
Edit and modify ./pom.xml Add the following line which is in bold | ... </distributionManagement> |
Step | Action |
---|---|
Edit and modify ./core/home/pom.xml Add the dependency (in bold) in the POM file | . . . |
Edit and modify ./core/webapp/pom.xml Add the dependency (in bold) in the POM file | . . . |
Edit and modify ./fr_CA/home/pom.xml Pay particular attention to the version number which must correspond to the version currently under development. | ... <groupId>org.vivoweb</groupId> <parent> <name>VIVO Languages for Home fr_CA</name> ... |
Edit and modify ./fr_CA/webapp/pom.xml Pay particular attention to the version number which must correspond to the version currently under development. | ... <modelVersion>4.0.0</modelVersion> <groupId>org.vivoweb</groupId> <parent> <name>VIVO Languages for Web App fr_CA</name> |
Edit and modify ./fr_CA/pom.xml Pay particular attention to the version number which must correspond to the version currently under development. | ... <modelVersion>4.0.0</modelVersion> <groupId>org.vivoweb</groupId> |
Editing ./pom.xml Add the following line which is in bold | . . . |
Step | Action |
---|---|
Editing ./home/pom.xml Add the dependency (in bold) in the POM file | . . . |
Editing ./webapp/pom.xml Add the dependency (in bold) in the POM file | . . . <dependency> |
Editing ./webapp_dep/pom.xml Add the dependency (in bold) in the POM file | . . . |
Action | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Start compiling Before starting the compilation make sure you have correctly configured the settings_i18n_linux.xml file as described above. The -DskipTests option is optional.
Observe lines 9, 21 and 30 which indicate that the new language is included in the installation process. |
At the end you should see a compilation end looking like this:
|
Running VIVO verifies that the linguistic context " Français (Canada) " fr_CA is functional.
This iteration will have served to integrate the structure of the new language into VIVO. A first series of actions will have allowed to add and configure the necessary files to display the contextual linguistic menue including fr_CA. A second series of actions has been used to configure and add the necessary files for the compilation of VIVO by the i18n_installer program, including fr_CA.
...
The purpose of this iteration is to configure the necessary files to ensure that the menus are presented in the proper linguistic context.
The screenshot below indicates (circled in red) menu items that are not in the French Canadian context and need to be corrected.
The value of the fields displayed in the different menus is stored in the file classgroups_LINGUISTIC_CONTEXT.ttl and propertygroups_LINGUISTIC_CONTEXT.ttl contained in the directory: VIVO-languages/LINGUISTIC_CONTEXT/home/src/main/resources/rdf/i18n/LINGUISTIC_CONTEXT/applicationMetadata/firsttime
Step | Action | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Moving directory structure to appropriate linguistic context |
| ||||||||||
Renaming ontologies From VIVO-languages/fr_CA/home/src/main/resources/rdf/i18n/fr_CA/applicationMetadata/firsttime/ Renaming classgroups_en_US.nt to classgroups_fr_CA.nt and Renaming propertygroups_labels_en_US.nt to propertygroups_labels_fr_CA.nt |
| ||||||||||
Change the content to approrpiate language. Both text and linguistic tag |
|
Step | Action | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Move to display and renaming ontologies: Menu, PropertyConif and aboutPage |
| |||||||||||||||||||||||||||
Change the content to approrpiate language. Both text and linguistic tag |
|
Step | Action | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Move to display and renaming ontologies: InitialTboxAnnotation, Vivo and VitroAnnotation |
| |||||||||||||||||||||||||||
Editing initialTBoxAnnotations_fr_CA.nt vitroAnnotations_fr_CA.n3 for content translation |
|
The addition of ontologies for managing menus and menus brings major changes to the core content of VIVO data. For the success of this iteration, it is necessary to reinitialize the content of the VIVO triplestore. To do this it is necessary to delete the directories rdf, tdbContentModels, tdbModels contained in vivo/home and resettings de vivo web app in the tomcat directory
Step | Action | ||
---|---|---|---|
Stoping tomcat and delete vivo webapp |
| ||
Removing directories from vivo/home |
|
Step | Action | |||||||
---|---|---|---|---|---|---|---|---|
Compiling VIVO |
| |||||||
Populating VIVO with Sample-Data and restart Tomcat |
|
The screenshot below shows an example of the various linguistic updates made from the addition of the various ontologies.
This iteration made it possible to apply the necessary linguistic corrections to the main menus. Linguistic fixes were applied to the property files and ontologies by first adding the linguistic extension to the file name (e.g. vivo_fr_CA.nt), then translating the content in tags to the target language and finally adding the appropriate linguistic tag to each translation.
...
...
Before starting the compilation make sure you have correctly configured the settings_i18n_linux.xml file as described above. The -DskipTests option is optional.
Info |
---|
Make sure that the war file is installed in the appropriate tomcat directory. |
Observe lines 9, 21 and 30 which indicate that the new language is included in the installation process.
Code Block | ||||
---|---|---|---|---|
| ||||
cd Vivo-installer-i18n
mvn -s settings_i18n_linux.xml -DskipTests=true clean install |
At the end you should see a compilation end looking like this:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for VIVO Installer for i18n 1.11.2-SNAPSHOT:
[INFO]
[INFO] Vitro Home ......................................... SUCCESS [ 3.782 s]
[INFO] VIVO Home .......................................... SUCCESS [ 1.523 s]
[INFO] VIVO Languages for Home en_US ...................... SUCCESS [ 0.345 s]
[INFO] VIVO Languages for Home de_DE ...................... SUCCESS [ 0.042 s]
[INFO] VIVO Languages for Home es ......................... SUCCESS [ 0.025 s]
[INFO] VIVO Languages for Home fr_CA ...................... SUCCESS [ 0.020 s]
[INFO] VIVO Languages for Home pt_BR ...................... SUCCESS [ 0.025 s]
[INFO] VIVO Languages for Home en_CA ...................... SUCCESS [ 0.023 s]
[INFO] VIVO Languages for Home CORE ....................... SUCCESS [ 0.116 s]
[INFO] VIVO Installer for i18n ............................ SUCCESS [ 0.185 s]
[INFO] Vitro Install Home for i18n ........................ SUCCESS [ 1.921 s]
[INFO] Vitro Dependencies ................................. SUCCESS [ 0.553 s]
[INFO] Vitro API .......................................... SUCCESS [ 47.060 s]
[INFO] Vitro Web App ...................................... SUCCESS [ 1.268 s]
[INFO] Vitro Languages for Web App en_US .................. SUCCESS [ 0.369 s]
[INFO] Vitro Languages for Web App de_DE .................. SUCCESS [ 0.055 s]
[INFO] Vitro Languages for Web App es ..................... SUCCESS [ 0.055 s]
[INFO] Vitro Languages for Web App fr_CA .................. SUCCESS [ 0.040 s]
[INFO] Vitro Languages for Web App pt_BR .................. SUCCESS [ 0.048 s]
[INFO] Vitro Languages for Web App en_CA .................. SUCCESS [ 0.053 s]
[INFO] Vitro Languages for Web App CORE ................... SUCCESS [ 0.136 s]
[INFO] VIVO API ........................................... SUCCESS [ 16.578 s]
[INFO] VIVO Web App ....................................... SUCCESS [ 1.399 s]
[INFO] VIVO Languages for Web App en_US ................... SUCCESS [ 0.034 s]
[INFO] VIVO Languages for Web App de_DE ................... SUCCESS [ 0.058 s]
[INFO] VIVO Languages for Web App es ...................... SUCCESS [ 0.046 s]
[INFO] VIVO Languages for Web App fr_CA ................... SUCCESS [ 0.034 s]
[INFO] VIVO Languages for Web App pt_BR ................... SUCCESS [ 0.043 s]
[INFO] VIVO Languages for Web App en_CA ................... SUCCESS [ 0.038 s]
[INFO] VIVO Languages for Web App CORE .................... SUCCESS [ 0.096 s]
[INFO] VIVO WebApp Install dependencies for i18n .......... SUCCESS [ 0.004 s]
[INFO] VIVO Install Web App for i18n ...................... SUCCESS [ 4.458 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:21 min
[INFO] Finished at: 2020-10-30T06:44:16-07:00
[INFO] ------------------------------------------------------------------------ |
This iteration will have served to integrate the structure of the new language into VIVO. A first series of actions will have allowed to add and configure the necessary files to display the contextual linguistic menue including fr_CA. A second series of actions has been used to configure and add the necessary files for the compilation of VIVO by the i18n_installer program, including fr_CA.
...
...