Projekti

Yleinen

Profile

Eclipse Kohan kehitystyökaluna

Kohan kehitykseen on olemassa joukko erilaisia ratkaisuja - tämän ohjeen tarkoitus on käsitellä vain
Eclipse -ohjelmointiympäristöä Perl -laajennoksineen. Eclipse (http://www.eclipse.org) on avoimen
lähdekoodin ohjelmistokehitysympäristö, joka on saatavilla monille monipuolisesti erilaisille
alustoille. Eclipse yhdessä Epic -laajennoksen sekä PadWalker Perl moduulin kanssa mahdollistaa
Täyden syntaksintarkistuksen sekä debuggaamisen CGI -ympäristössä Kohan kehitystä ja tutkimista varten.

Perusasiat

Ubuntu 14.04 (Trusty) tai vastaava

Koha on tuettu (7/2015) lähinnä 14.04 päällä - varminta on, että LXC -host järjestelmällä
on containeria vastaavat Perl -kirjastot, jne.

Koha "Dev" asennus LXC -containerissa

Kattavat ohjeet Koha Git (ja "Dev") asennukselle löydät Koha-communityn wikistä:
http://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_git

Ohjeessa määritellään tietokantaan pääsy vain paikallisesta osoitteesta - määrittele lisäksi
pääsy LXC -host järjestelmästä:

  • GRANT ALL ON koha.* TO 'koha'@'localhost' IDENTIFIED BY 'passu';
  • GRANT ALL ON koha.* TO 'koha'@'bridge-ip' IDENTIFIED BY 'passu';

Missä 'bridge-ip' on LXC -silta-adapterin (lxcbr0) osoite (tässä 10.0.3.1):

jseplae@vaara-probook:~$ ip addr
4: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether fe:9b:2c:2a:1e:7a brd ff:ff:ff:ff:ff:ff
    inet 10.0.3.1/24 brd 10.0.3.255 scope global lxcbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::c8fa:15ff:fe21:27ae/64 scope link 
       valid_lft forever preferred_lft forever

Kohan Perl-riippuvuudet Host-koneella

Asenna Eclipseä varten myös Kohan Perl-riippuvuudet Host-koneelle (kuten wikissä):

$ echo deb http://debian.koha-community.org/koha unstable main | sudo tee /etc/apt/sources.list.d/koha.list
$ wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
$ sudo apt-get update

$ sudo apt-get install koha-perldeps

Hakemistot ja linkit Eclipseä varten

Luo 2 hakemistoa kohaclonen alle:

$ mkdir -p /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/PATH-TO-KOHACLONE/debug/opac/cgi-bin
$ mkdir -p /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/PATH-TO-KOHACLONE/debug/admin/cgi-bin

Luo 2 symlinkkiä:

$ ln -s /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/PATH-TO-KOHACLONE /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/PATH-TO-KOHACLONE/debug/admin/cgi-bin/koha
$ ln -s /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/PATH-TO-KOHACLONE/opac /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/PATH-TO-KOHACLONE/debug/opac/cgi-bin/koha

Eclipse ja Epic

Älä käytä Ubuntu 14.04 oletusversiota Eclipsestä. Asenna uudempi Eclipsen versio esimerkiksi Ubuntu-maken avulla:

$ sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
$ sudo apt-get update
$ sudo apt-get install ubuntu-make

$ umake ide eclipse

Asennettuasi Eclipsen, asenna siihen Epic-laajennos: http://www.epic-ide.org/download.php.
Debuggaamistoimintoja varten tarvitset vielä PadWalker -moduulin Perliin:

# cpan PadWalker

Eclipse Debug konfiguraatioiden määrittely

Koha-conf
(TODO: shell-skripti voisi hoitaa nämä...)

Host -koneelle tarvitaan oma, LXC-asennuksesta erillinen koha-conf. (koha-eclipse-conf.xml).
Tämän tiedoston sijainnilla ei ole merkitystä - riittää, että löydät sen Eclipsen konfigurointivaiheessa.
Lataa oheinen esimerkkitiedosto ja muuta sitä vastaamaan omaa kehitysympäristöäsi.

  • CONTAINER = LXC-containerin nimi, jossa Kohan dev-asennus pyörii.
  • KOHAUSER = se käyttäjänimi, jonka alle kohan asennus on tehty.
  • KOHACONF-FOLDER = Containerin Koha-käyttäjätilin alla oleva hakemisto, johon kohoan "conf" -hakemisto
    on määritelty asennusvaiheessa.
  • PATH-TO-KOHACLONE = Koko reitti kohaclone-lähdekoodi -hakemistoon containerin Koha-käyttäjän alla.

Eclipse CGI debug konfiguraatiot

Tuo kohaclone-hakemisto ensin Eclipseen projektiksi:

Määrittele Perl CGI debug -konfiguraatiot sekä opacile, että staff-clientille:

Web Server -määritykset staff-clientille:

  • HTML Root Directory: /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/KOHACLONE/koha-tmpl
  • HTML Startup File: /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/KOHACLONE/koha-tmpl/index.html
  • CGI Root Directory: /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/KOHACLONE/debug/admin

Web Server -määritykset opac-clientille:

  • HTML Root Directory: /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/KOHACLONE/koha-tmpl
  • HTML Startup File: /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/KOHACLONE/koha-tmpl/index.html
  • CGI Root Directory: /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/KOHACLONE/debug/opac

Environment -välilehteen 2 määrittelyä:

  • KOHA_CONF: tähän arvoksi polku, jonne olet tallentanut aiemmin muokkaamasi koha-eclipse-conf.xml.
  • PERL5LIB: /var/lib/lxc/CONTAINER/rootfs/home/KOHAUSER/KOHACLONE/

Testaa debuggausta - oletuksena sessio käynnistää firefoxin oikeaan porttiin.