ePhorte blir satt i produksjon ved UiO 17. februar 2008. I den forbindelse skal det settes opp et system som synkroniserer en del informasjon fra Cerebrum til ePhorte.
Å sette integrasjonen mellom Cerebrum og ePhorte i drift består av følgende oppgaver:
- administrative oppgaver
- oppdatering av database
- koding og prodsetting av kildekode.
- oppsett av java-miljø på cerebellum
- skrive og publisere dokumentasjon
- NB! Les punktene nøye før du gjøre noe. Noen punkter er allerede
- utført ved forrige prodsetting.
Administrative oppgaver
Disse punktene er gjort.
Opprette en gruppe som eier ephorte-administratorer-gruppen. Medlemmene her skal kunne styre medlemskap i ephorte-administratorer-gruppen. Medlemmer: arehol (Are Holsted), gmagnus (Geir Magnus Walderhaug),
erikvest (Erik Vestheim)
Opprette en gruppe for ephorte-administratorer. Disse får sysadmin-rettigheter i ePhorte. Gruppa skal hete ephorte-admins Medlemmer: arehol (Are Holsted), gmagnus (Geir Magnus Walderhaug),
erikvest (Erik Vestheim)
Opprett /cerebrum/dumps/EPHORTE på cerebellum
Oppdatering av database
Sjekk ut siste versjon av filene:
- contrib/migrate_cerebrum_database.py
- design/mod_ephorte.sql
- design/migrate_to_ephorte_1_1.sql
Kjør så scriptet contrib/migrate_cerebrum_database.py:
contrib/migrate_cerebrum_database.py --component ephorte --to ephorte_1_1 \ --makedb-path ./ --design-path design/
Koding og prodsetting av kildekode
Følgende filer fra cerebrum-kodetreet må sjekkes ut og prodsettes på cerebellum:
- java/ephorte/* [1]
- Cerebrum/modules/no/uio/Ephorte.py
- Cerebrum/modules/no/uio/bofhd_ephorte_cmds.py
- cerebrum/contrib/no/uio/populate_ephorte.py
- cerebrum/contrib/no/uio/generate_ephorte_export.py
[1] Denne koden er flyttet til servers/ephorte. Prodsetter må gjøre de nødvendige grep på cerebellum for å oppdatere denne koden. Hvis dette kommer i konflikt med annen kode som nå ligger under servers kan dette punktet hoppes over. Java-koden kompileres ikke på cerebellum. I stedet blir ephorte.jar distet. Se under
Fra uiocerebrum må følgende filer prodsettes:
- uiocerebrum/cerebellum/etc/cerebrum/cereconf.py, 1.164
- uiocerebrum/cerebellum/etc/cerebrum/scheduled_jobs.py
- uiocerebrum/bin/sync_ephorte.sh Sjekk at siste versjon er prodsatt og at det er soft link til /cerebrum/bin:
Når vi er klare til å kjøre synkroniosering mot ephorte-prod må følgende patch sjekkes inn og prodsettes i scheduled_jobs.py:
generate_ephorte_export = Action(
call=System('%s/no/uio/generate_ephorte_export.py' % contrib,
params=['-f', '%s/ephorte_export.xml' % ephortedir]),
- max_freq=22*60*60)
- # post=['sync_ephorte'])
+ max_freq=22*60*60,
+ post=['sync_ephorte'])
NB! ikke gjør dette før vi har fått klarsignal fra prosjektleder.
Når alle filene er oppdatert, og hentet ned til cerebellum må følgende gjøres:
- python makedb.py --only-insert-codes [2]
- restarte eller reloade job_runner
- restarte bofhd
- [2] muligens ikke nødvendig, siden migrate_cerebrum_database.py kjører
- denne og det ikke er noen nye koder i siste patch av Ephorte.py. Men det skader vel ikke å kjøre scriptet uansett.
Oppsett av java-miljø på cerebellum
Det som trenger å gjøres er:
sjekk at riktig versjon av java er installert. Skal være Java SE, v1.6
Gjort.
- sjekk ut siste versjon av filene i uiocerebrum/bin/ephorte/
- axis.jar
- commons-discovery-0.2.jar
- jaxrpc.jar
- saaj.jar
- wsdl4j-1.5.1.jar
- commons-logging-1.0.4.jar
- log4j-1.2.8.jar
- ojdbc14.jar
- ephorte.jar
- ephorte-stubs.jar
Legg tilgangsinfo i /cerebrum/etc/passwords/ephorte-conn.props
Dette er gjort
sett opp sertifikat - få public key fra ephorte-serverene. De er lagt på
/cerebrum/etc/passwords/ephorte2_uPkey_DER.cer, /cerebrum/etc/passwords/ephorte2test_uPkey_der.cer
legg til denne i keystore på cerebellum med kommandoen
keytool -import -alias ephorte2 -file /cerebrum/etc/passwords/ephorte2_uPkey_DER.cer -keystore /cerebrum/etc/passwords/truststore keytool -import -alias ephorte2test -file /cerebrum/etc/passwords/ephorte2test_uPkey_der.cer -keystore /cerebrum/etc/passwords/truststore
passord for keystore: truststore ligger i /cerebrum/etc/passwords/passwd-cerebrum@truststore
Dette er gjort.
Sjekk at sertifikat og tilgang er riktig med kommandoen:
/cerebrum/bin/sync_ephorte.sh -c -p /cerebrum/etc/passwords/ephorte-conn.props
Tilgang er ok hvis den returnerer den følgende:
"Connection established. Look in log file for more details"
Sjekk også at det er blitt skrevet debug til /cerebrum/var/log/sync_ephorte.log.
Hvis alle disse punktene er gjort skal alt være klart for produksjon.