Versions Compared

Key

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


There are two ways to get up and running with the Giles Ecosystem: using Docker or installing it directly on your infrastructure. We recommend to use Docker for evaluation and testing purposes, but to install all components directly on your machines in production. 

...

  1. Unpack the war file (e.g. by changing its ending to ".zip" and unzipping it)
  2. Find the file WEB-INF/classes/config.properties and edit the following properties:
    • giles_files_tmp_dir: This should be an absolute path to the directory where you want Giles to stores its temporary files (files uploaded by users that haven't been processed yet).
    • If your Kafka server is not running on the same machine as Giles, or if it is running on a different port than the default port (9092), you have to change the property 

      kafka_hosts to reflect this.

    • Status
      colourBlue
      titlesince v0.5
      db.driver: the driver appropriate for you database (e.g. com.mysql.jdbc.Driver for MySQL or org.postgresql.Driver for PostgreSQL, see this page for more drivers).
    • Status
      colourBlue
      titlesince v0.5
       db.url: connection URL for the used database .
    • Status
      colourBlue
      titlesince v0.5
       db.username: username to connect to database.
    • Status
      colourBlue
      titlesince v0.5
       db.password: password to connect to database.
    • Status
      colourBlue
      titlesince v0.5
       hibernate.dialect: the dialect used for your database (see this page for a list of dialects).
    • Status
      colourBlue
      titlesince v0.6
       zookeeper_host: host name where Zookeeper is running (e.g. localhost or my.server.org)
    • Status
      colourBlue
      titlesince v0.6
       zookeeper_port: port on which Zookeeper is running (default is 2181)
    • Status
      colourBlue
      titlesince v0.6
       
      email_enabled: enables or disables email notifications. Set to true if email notifications should be sent; otherwise false.
    • Status
      colourBlue
      titlesince v0.6
       
      email_from: email address notifications should be sent from. 
    • All other properties can later be changed through the webapp itself.
  3. Find the file WEB-INF/spring/email-config.xml and edit it as follows:

    • Set the host property to your email host name by editing the value attribute:

      Code Block
      languagexml
      <property name="host" value="your.email.host"/>


    • Set the port property to your email host port by editing the port attribute:

      Code Block
      languagexml
      <property name="port" value="email.server.port"/>


    • Set the username property to the username to use to connect to your email server:


      Code Block
      languagexml
      <property name="username" value="username.for.emailserver"/>


    • Set the password property to the password to be used to connect to your email server:


      Code Block
      languagexml
      <property name="password" value="password.for.emailserver"/>


  4. Find the file WEB-INF/classes/user.properties and edit admin password:
    • admin=adminPasswordBCrypted,ROLE_ADMIN,enabled: the password is the first value after the equal sign (adminPasswordBCrypted).  Password should be hashed using the bcrypt algorithm with strength 10.
  5. Find the file WEB-INF/classes/META-INF/persistence.xml and change it as follows:
    • There are three lines that start with <property name="javax.persistence.jdbc.url".  In each line, replace /path/to/giles/dbfiles/folder with the path to the folder that should store Giles' DB files. It should look something like this:

      Code Block
      languagexml
      <property name="javax.persistence.jdbc.url" value="/path/to/giles/db/folder/users.odb"/>

       Make sure to keep the file name at the end of each line.

  6. Find the file WEB-INF/spring/spring-security.xml and change the following lines:

    Code Block
    languagexml
    <beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    	<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
    	<beans:property name="url" value="jdbc:mysql://localhost:3306/giles" />
    	<beans:property name="username" value="" />
    	<beans:property name="password" value="" />
    </beans:bean>

    Change the values of username and password to the username of your DB user and its password. If you did not name the new DB giles, change the url property to reflect the database name (e.g. if you named the database gilesdb, then instead of jdbc:mysql://localhost:3306/giles, put jdbc:mysql://localhost:3306/gilesdb).
    If you are using PostgreSQL instead of MySLQ, make sure to replace the driver class name with org.postgresql.Driver.

  7. Now, generate a new war file from the unpacked and changed files and deploy it in your Tomcat. 

    Info

    If you are on a Unix-based operating system, you can do this for example by running the command jar -cvf giles.war . from inside the unpacked Giles folder.


  8. Once deployed, Tomcat should be accessible at http://your.server/giles.

...

Info
titleUpgrading to v0.5

If you are upgrading from an earlier version to version v0.5, you will have to migrate existing data as follows:

  1. Make sure Giles is running without exceptions with the new version.
  2. Reregister the other components with Giles (Nepomuk, Cassiopeia, Cepheus) under "Apps".
  3. Go to http://your.giles.server/giles-root/admin/migrate
  4. Enter the username of the user who's data you want to migrate. The username will be a combination of username and provider id. For example for GitHub: githubusername_github. Depending on how much data the user has uploaded, this might take a while.
  5. Once the migration is done for a user, you will see some statistics about how many objects were migrated.

...

  1. Unpack the war file (e.g. by changing its ending to ".zip" and unzipping it)
  2. Find the file WEB-INF/classes/config.properties and edit the following properties:
    • app_base_url: The base URL of Nepomuk such as https://your.nepomuk.server/nepomuk.
    • If your Kafka server is not running on the same machine as Nepomuk, or if it is running on a different port than the default port (9092), you have to change the property 

      kafka_hosts to reflect this.

    • Status
      colourBlue
      titlesince v0.6
      db.driver: the driver appropriate for you database (e.g. com.mysql.jdbc.Driver for MySQL or org.postgresql.Driver for PostgreSQL, see this page for more drivers).
    • Status
      colourBlue
      titlesince v0.5
       db.url: connection URL for the used database .
    • Status
      colourBlue
      titlesince v0.6
       db.username: username to connect to database.
    • Status
      colourBlue
      titlesince v0.6
       db.password: password to connect to database.
    • Status
      colourBlue
      titlesince v0.6
       hibernate.dialect: the dialect used for your database (see this page for a list of dialects).
    • Status
      colourBlue
      titlesince v0.6
       hibernate.show_sql: if you want hibernate to print the SQL statements it runs, set this to true; otherwise false.

    • Status
      colourBlue
      titlesince v0.6
       zookeeper_host: host name where Zookeeper is running (e.g. localhost or my.server.org)
    • Status
      colourBlue
      titlesince v0.6
       zookeeper_port: port on which Zookeeper is running (default is 2181)
  3. Find the file WEB-INF/classes/user.properties and edit admin password:
    • admin=adminPassword,ROLE_ADMIN,enabled: the password is the first value after the equal sign (adminPassword). Password should be hashed using the bcrypt algorithm with strength 10.
  4. Find the file WEB-INF/spring/root-contextx.xml and change the property baseDirectory of following bean definitions:

    Code Block
    languagexml
    <bean id="imageStorageManager"
    	class="edu.asu.diging.gilesecosystem.nepomuk.core.files.impl.FileStorageManager">
    	<property name="baseDirectory" value="/path/to/image/parent/folder/" />
    	<property name="fileTypeFolder" value="images"></property>
    </bean>
    
    <bean id="pdfStorageManager"
    	class="edu.asu.diging.gilesecosystem.nepomuk.core.files.impl.FileStorageManager">
    	<property name="baseDirectory" value="/path/to/files/parent/folder/" />
    	<property name="fileTypeFolder" value="pdfs"></property>
    </bean>
    
    <bean id="textStorageManager"
    	class="edu.asu.diging.gilesecosystem.nepomuk.core.files.impl.FileStorageManager">
    	<property name="baseDirectory" value="/path/to/files/parent/folder/" />
    	<property name="fileTypeFolder" value="texts"></property>
    </bean>
    
    <bean id="otherStorageManager"
    	class="edu.asu.diging.gilesecosystem.nepomuk.core.files.impl.FileStorageManager">
    	<property name="baseDirectory" value="/path/to/files/parent/folder/" />
    	<property name="fileTypeFolder" value="others"></property>
    </bean>

    Each base directory needs to point to a folder to store images, pdfs, texts, or other files.

  5. Now, generate a new war file from the unpacked and changed files and deploy it in your Tomcat. 

    Info

    If you are on a Unix-based operating system, you can do this for example by running the command jar -cvf nepomuk.war . from inside the unpacked Nepomuk folder.


  6. Once deployed, Tomcat should be accessible at http://your.server/nepomuk.


Info
titleUpgrading to v0.6

If you are upgrading from an earlier version to version v0.6, you will have to migrate existing data as follows:

  1. Make sure Nepomuk is running without exceptions with the new version.
  2. Go to http://your.nepomuk.server/nepomuk-root/admin/migrate
  3. Enter the username of the user who's data you want to migrate. The username will be a combination of provider id and provider user id. For example for GitHub: github_123456. Depending on how much data the user has uploaded, this might take a while.
  4. Once the migration is done for a user, you will see some statistics about how many objects were migrated.

Cepheus

Cepheus needs the following software to be installed:

...