Installazione manuale/personalizzata

Potresti voler installare manualmente Twproject a causa delle impostazione della tua rete o del server, o perché stai usando un sistema operativo senza interfaccia grafica.
Ci sono due modi per completare l’installazione: copiandone una esistente (più facile) o facendo tutto completamente a mano (più complesso).

Copia un’installazione grafica

Se possibile, esegui l’installazione su una macchina client che ha accesso al server database, in questo modo l’installer può configurare il tuo accesso al db, la licenza, la porta http e altre opzioni; fare tutto questo a mano può non essere banale; poi copia sul server. Questo è il modo più semplice.

L’installazione manuale copre casi diversi: : uno è che tu hai già un server web girante e un Java 1.8 JDK installato, e vuoi aggiungere Twproject come una web app. Il modo più semplice è quello di usare l’installer su una macchina client, con accesso al database reale, in quanto l’installer:

  1. crea le tabelle del database
  2. riempie i dati di esempio
  3. crea un file global.properties con SMTP e impostazioni simili
  4. crea un file config.properties con i parametri di connessione JDBC
  5. crea un file lic.properties con i dati della licenza forniti

Dato che tutti i file creati vanno bene so ogni sustema operativo, basta copiare la web app da webapps/ROOT nel folder webapp per Teamwork. Altrimenti dovrai creare tutto questo a mano. Un global.properties cmpleto di esempio può essere trovato qui

webapps/ROOT/commons/settings/sampleGlobal.properties

Installazione completa a mano

Assumiamo di avere una JDK 8 Java già installata, e anche un Tomcat (9 o maggiore) girante. Se non lo hai, per prima cosa fai il download e installalo.

Dato che la web app ha bisogno di scrivere nelle sue cartelle, devi usare un war “scompattato”.

  • Scarica ed estrai la versione dell’archivio (zip, gz, or rpm)
  • Prendi la cartella Teamwork, contiene le sottocartelle:

applications commons mobile WEB-INF

più alcuni file di root. Questa è la web app che devi installare. Adesso:

  • Copia la web application dentro la tua webapp Tomcat, in una cartella con il nome che ti piace, ad esempio “twproject”. Assicurati di star usando il JDK 8.
  • In WEB-INF/config.properties devi scrivere i dati di connessione JDBC e altre configurazioni, configurazioni di esempio:

MySQL 8 + :

user=root   
password=[yourpassword]    
url=jdbc:mySql://localhost/twproject
dialect=org.hibernate.dialect.MySQL8InnoDBUTF8Dialect
driver=com.mysql.cj.jdbc.Driver

MySQL 5.6.24 + :

user=root   
password=[yourpassword]    
url=jdbc:mySql://localhost/twproject
dialect=org.hibernate.dialect.MySQL57InnoDBUTF8Dialect
driver=com.mysql.cj.jdbc.Driver

MySQL 5.6.23 and before:

user=root   
password=[yourpassword]    
url=jdbc:mySql://localhost/twproject
dialect=org.hibernate.dialect.MySQL5InnoDBUTF8Dialect   
driver=com.mysql.cj.jdbc.Driver

SQLServer 2012+ con autenticazione mista:

user=sa
password=[yourpassword]    
url=jdbc:sqlserver://myserver:1433;databaseName=twproject
dialect=org.hibernate.dialect.SQLServer2012UnicodeDialect
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

#if it is an instance:
url=jdbc:sqlserver://myserver\\your_instance_name;databaseName=twproject

SQLServer 2008 con autenticazione mista:

user=sa
password=[yourpassword]    
url=jdbc:jtds:sqlserver://myserver:1433/twproject
dialect=org.hibernate.dialect.SQLServer2008UnicodeDialect
driver=net.sourceforge.jtds.jdbc.Driver

#if it is an instance:
url=jdbc:jtds:sqlserver://myserver:1433/twproject;instance=yourinstance

per la lista completa delle opzioni di SQL Server vedi http://jtds.sourceforge.net/faq.html

Oracle 12+:

schemaName=tw52setup
user=tw52setup
password=[yourpassword]    
url=jdbc:oracle:thin:@oldb02:1521:XE[ put your SID]    
dialect=org.hibernate.dialect.Oracle12cDialect   
driver=oracle.jdbc.driver.OracleDriver

Oracle 10+:

schemaName=tw52setup
user=tw52setup
password=[yourpassword]    
url=jdbc:oracle:thin:@oldb02:1521:XE[ put your SID]    
dialect=org.hibernate.dialect.Oracle10gDialectDBText   
driver=oracle.jdbc.driver.OracleDriver

PostgreSQL 9+:

user=postgres
password=[yourpassword]    
url=jdbc:postgresql://localhost/twproject
dialect=org.hibernate.dialect.PostgreSQLDialectMultiSequence9
driver=org.postgresql.Driver

PostgreSQL 8:

user=postgres
password=[yourpassword]    
url=jdbc:postgresql://localhost/twproject
dialect=org.hibernate.dialect.PostgreSQLDialectDBBlobs
driver=org.postgresql.Driver

Per altri database / versioni, si prega di inviare un ticket con le strighe di connessione aggiornate. Comunque, il modo più semplice per essere sicuri della connessione Java al database è di fare una installazione grafica da un client e controllare il config.properties file da lì.

  • In WEB-INF devi anche creare un file lic.properties nel quale copiare la licenza di valutazione, per esempio
    
    ----- BEGIN TWPROJECT KEY -----
    PUbyP5tbmgGoAYQK3PIjcBhWOgdv7SDFM31bIV+LJZx/5xD2c7YGH0TzOByF/3Bc
    ewmde/QL6nmQEa0vx9xfcHTYacNoXfEDul8l1gCvqbM15vEH/YpiNDlGi+WPb7IN
    uH8XtbCBW3buXWS3Ctre4PxsPYf+bRE+m6cI8+CRROPI1M80f/G6sqKt0w9jhgBJ
    Y88EZ2puHlGeiojEhrQtd3fHN1As7bx9snMWZvD9/XvBRrYLQ7x47Egekz564NVT
    O6c2LCsndeY5Xz9WsJFg0tfJVTUfwd8MkWd/+BbRMjRUGvZk0Q4iGvf6qFpBpVrS
    PG6tFUI1HOWV13qgistINQ==
    ----- END TWPROJECT KEY -----
    

Attenzione: questa non è una licenza valida, vai a generarla qui: https://twproject.com/it/sul-tuo-server/

  • Fatto questo, puoi avviare la web app; se hai eseguito le operazioni mentre Tomcat stava girando, devi riavviare la web app. Se la configurazione JDBC è corretta (errore molto frequente), l’applicazione partirà, creerà le tabelle e inserirà i dati di esempio.
  • DEBUG se l’applicazione web è “partita troppo presto”, e l’inserimento dei dati di esempio fallisce, apri Commons/settings/global.properties rimuovi la linea
SETUP_DB_UPDATE_DONE=yes

E riavvia la web app.

  • Ricordati di impostare i percorsi di repository, file storage, indexing etc . nella pagina admin.

Se stai pubblicando sotto JBoss, fai attenzione alla versione di Hibernate che stai usando (incluso Annotazioni e Ricerca), Teamwork fornisce il suo, e deve essere lo stesso.