Skip to content

Commit

Permalink
Restructured app, added JPP classificator
Browse files Browse the repository at this point in the history
  • Loading branch information
hanneskiivet committed Dec 27, 2017
1 parent ba5f72d commit 0b99e3e
Show file tree
Hide file tree
Showing 165 changed files with 20,149 additions and 874 deletions.
194 changes: 75 additions & 119 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# RIHA XML varamu
# RIHA varamu

RIHA XML varamu on veebirakendus, mille kaudu tehakse avalikult kättesaadavaks asutustevahelises dokumendivahetuses kasutatavad XML varad (metaandmete andmekirjeldused).
[RIHA varamu](https://varamu.riha.ee) on veebirakendus, mille kaudu tehakse avalikult kättesaadavaks asutustevahelises dokumendivahetuses kasutatavad varad (metaandmete andmekirjeldused). Ajutiselt (kuni klassifikaatorite mooduli valmimiseni) ka osad klassifikaatorid.

## Varamust lähemalt

- RIHA XML varamu ülesandeks on kontrollida ja säilitada dokumendiliigi ning metaandmete andmekirjeldusi, mida edastatakse [asutustevahelise dokumendivahetuslahenduse (DVK/DHX)](https://www.ria.ee/ee/dokumendivahetus-dhx.html) kaudu.
- RIHA varamu ülesandeks on kontrollida ja avaldada dokumendiliigi ning metaandmete andmekirjeldusi, mida edastatakse [asutustevahelise dokumendivahetuslahenduse (DVK/DHX)](https://www.ria.ee/ee/dokumendivahetus-dhx.html) kaudu.
- Kui andmekirjeldus on koostatud ja kooskõlastatud [vastavalt nõuetele](https://mkm.ee/sites/default/files/juhis_dokumendiliigi_xml_andmekirjelduse_koostamiseks.pdf), siis lähtutakse sellest seda liiki dokumentide koostamisel mistahes vormingus.
- Asutuse loodud dokumendi elementide koosseis lähtub vastava dokumendiliigi andmekirjeldusest, kui see on RIHAs registreeritud. Sellist liiki dokumendi ja selle veebivormide koostamisel võetakse aluseks andmekirjeldus.
- Dokument hoitakse alal koos dokumenti, selle seoseid ja haldamise ajalugu kirjeldavate metaandmetega.
- Dokumendi metaandmed peavad olema kooskõlas RIHAs registreeritud dokumendihalduse metaandmeloendi ja dokumendiliigi andmekirjeldusega.
- Otseste avalike teenuste osutamiseks vajaliku teabe kindlaksmääramist, jagamist ja vahetamist koordineeriv asutus on [Majandus- ja Kommunikatsiooniministeerium](https://www.mkm.ee/et/tegevused-eesmargid/infouhiskond/dokumendihaldusest-infohalduseni) ning RIHA XML varamu tegutseb [teenuste korraldamise ja teabehalduse alustel](https://www.riigiteataja.ee/akt/131052017007?leiaKehtiv).
- Otseste avalike teenuste osutamiseks vajaliku teabe kindlaksmääramist, jagamist ja vahetamist koordineeriv asutus on [Majandus- ja Kommunikatsiooniministeerium](https://www.mkm.ee/et/tegevused-eesmargid/infouhiskond/dokumendihaldusest-infohalduseni) ning RIHA varamu tegutseb [teenuste korraldamise ja teabehalduse alustel](https://www.riigiteataja.ee/akt/131052017007?leiaKehtiv).

## Kasutuslood

Expand All @@ -24,170 +23,127 @@ Vara omanik saab:

RIA haldur saab:

- lisada uue vara või täiendada olemasolevat, lisades vara faile RIA taristu failisüsteemi.
- lisada uue vara või täiendada olemasolevat

## Arhitektuur

![](docs/Architecture.PNG)
![](architecture.png)

## Vajalikud tehnoloogiad

- PHP (Töötab versioonil 7.1.6) - vajalik ainult uuendamiseks lokaalses masinas
- Python 3.x.x ja mikroveebiraamistik Bottle - vajalik ainult API käitamiseks (hetkel ei ole kasutusel)
- rakendus kasutab tehnoloogiaid: Bootstrap 4, Chart.js, jQuery, Datatables.

## Paigaldamine

* Tõsta veebiserveri DocumentRoot kausta kaust `htdocs` **sisu** nii, et selle sisu oleks kättesaadav veebiserveri juurkataloogist.
* Restardi Apache.
* Kontrolli, kas:
* põhikaust töötab, st https://varamu.riha.ee avaneb varamu leht tabeliga, kus erinevad varad ridadena
* 404 vealeht on korrektne, st https://varamu.riha.ee/404 avaneb kena "Lehekülge ei leitud" teade
* Valmis!

## Vara kirjeldamine

Vara kirjeldatakse järgmiselt:
Vara kirjeldatakse vara kasutas `resource.json` failina järgmiselt:

```
[
{
"Name_est": "Õigusakt",
"Name_eng": "Basic Act",
"Version": "10.02.2010",
"Start_date": "",
"End_date": "",
"Description_est": "Skeemid XML struktuuriga õigusaktide koostamiseks ja avaldamiseks Riigi Teatajas.",
"Description_eng": "XML schemas for creating and publishing legal acts in Riigi Teataja",
"Resource_type": "Dokumendiliigi XML andmekirjeldus",
"Owner": "Justiitsministeerium",
"Status": "Registreeritud"
"name": "Õigusakt",
"version": "1",
"start_date": "10.02.2010",
"end_date": "",
"description": "Skeemid XML struktuuriga õigusaktide koostamiseks ja avaldamiseks Riigi Teatajas.",
"type": "Dokumendiliigi XML andmekirjeldus",
"owner": "Justiitsministeerium",
"status": "Registreeritud"
}
]
```

- vara ametlik nimetus eesti keeles
- vara ametlik nimetus inglise keeles
- vara ametlik nimetus
- versiooni tähis
- kehtivuse alguskuupäev
- kehtivuse lõpukuupäev
- vara kirjeldus eesti keeles
- vara kirjeldus inglise keeles
- vara liik
- standardsed metaandmed
- vara kirjeldus
- vara liik (võib olla mitu tk kasutades Array tüüpi elementi)
- dokumendiliigi XML andmekirjeldus
- XBRL taksonoomia
- standardsed metaandmed
- andmevahetuse konteiner
- standardelement
- rahvusvaheline standard
- klassifikaatori XML vorming
- haldaja (asutus, kes vastutab XML vara arendamise ja RIHAs kirjeldamise eest)
- klassifikaator
- haldaja (asutus, kes vastutab vara arendamise ja RIHAs kirjeldamise eest)
- staatus
- registreeritud (tulevikus võib kasutusele võtta ka muid staatusi).

## Vajalikud tehnoloogiad

- PHP (Töötab versioonil 7.1.6)
- Python 3.x.x
- Mikroveebiraamistik Bottle
- rakendus kasutab tehnoloogiaid: Bootstrap 4, Chart.js, jQuery, Datatables.

## Veebiserverisse paigaldamine

Paigalda veebiserver:
```
apt install apache2 libapache2-mod-php php-mbstring
```

Navigeeri veebiserveri kausta ning otsi kausta `htdocs`.
Tõsta kõik XMLVaramu failid kausta `htdocs`, seejärel loo samasse kausta fail nimega `.htaccess`.

Faili sisu:
```
ErrorDocument 404 /404.html
Redirect Detailview.php /404.html
```
`.htaccess`-i kasutamiseks tuleb veidi apache conf-i muuta järgides järgnevaid juhiseid.

`cd /etc/apache2/sites-enabled`
`sudo vim 000-default.conf`

Faili tuleb lisada:

```
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
```
Pärast apache restarti on rakendus edukalt paigaltatud.
## Uute varade lisamine

Ava veebiserveri kaust ning navigeeri `XMLVarad` kausta:

```
resources/XMLVarad/
```

Tee `XMLVarad` kausta uus kaust, mille nimi on: `XMLVara_ + varamu nimi`.

**TÄHTIS:** Vaata, et kaustanimes kõik tühikud oleks asendatud alamkriipsuga `_`.
- registreeritud
- lõpetatud
- (tulevikus võib kasutusele võtta ka muid staatusi)

Kui XML varamu nimi on näiteks: `AT teadaanne`, siis selle varamu kausta nimi oleks: `XMLVara_AT_teadaanne
`.
## Uue vara lisamine

Kui uue varamu kaust on valmis, siis kausta sisu struktuur jaguneb kaheks sõltuvalt, kas varamul on mitu versiooni või mitte.
Loo kausta `htdocs/resources` uus kaust, mille nimi on `Vara_nimi`. Vaata, et kaustanimes kõik tühikud oleks asendatud alamkriipsuga `_` ja ei kasutataks täpitähti. Lähtu inimsõbraliku/semantilise URLi põhimõtetest.

**TÄHTIS:** Ka failide puhul on tähtis, et tühikuid ei oleks.

*Näidete puhul on varamu nimeks AT teadaanne.*
Kausta sisu struktuur jaguneb kaheks sõltuvalt, kas varal on mitu versiooni või mitte. Versiooni kaustu tuleks tähistada eesliitega `v`, millele järgneb versiooni tähis (soovitavalt täisarvud või punktiga eristatud numbrid).

Kui kaustal on ainult üks versioon:

```
* resources
* XMLVarad
* XMLVara_AT_teadaanne
* failid
* fail.xml
* fail2.xsd
* fail3.pdf
* varamu.json
* Oigusakt
* fail.xml
* fail2.xsd
* fail3.pdf
* resource.json
```

Kui kaustal on näiteks kaks versiooni:

```
* resources
* XMLVarad
* XMLVara_AT_teadaanne
* V1.0
* failid
* fail.xml
* fail2.xsd
* fail3.pdf
* varamu.json
* V2.1
* failid
* fail.xml
* fail2.xsd
* fail3.pdf
* varamu.json
* Oigusakt
* v1.0
* fail.xml
* fail2.xsd
* fail3.pdf
* resource.json
* v2.1
* fail.xml
* fail2.xsd
* fail3.pdf
* resource.json
```
Lisa nende skeemide järgi vajalikud failid uue vara kausta. Küsimuste korral tasub vaadata juba olemas olevate varade kaustu.

Ka failide puhul on tähtis, et tühikuid ja täpitähti ei oleks ning lähtuda inimsõbraliku/semantilise URLi põhimõtetest.

**TÄHTIS:** Pärast failide lisamist mine oma lokaalse arvutiga lehele `[varamu veebiaadress lokaalses veebserveris]/updateResources/`, millega uuendatakse rakenduse poolt kasutatavat `htdocs/resources/resources.json` faili. Veendu, et rakendus lõpetas töö edukalt ja faili uuendati.

Lisa nende skeemide järgi vajalikud failid uue varamu kausta. Küsimuste korral tasub vaadata juba olemas olevate varamute kaustasid.
Uuenda lähtekoodi Githubis ning pärast master harusse commit-i avaldatakse muudatused järgmisel päeval RIHA varamu ametlikul lehel https://varamu.riha.ee

## REST API paigaldamine ja konfigureerimine
## REST API paigaldamine

RIHA XML varamu rakendab kasutusloos "uue vara taotluse esitamine" mikroteenust taotluse salvestamiseks.
Mikroteenuse paigaldamiseks on kõige otstarbekam rakendada Pythoni paketihaldurit pip. Debian/Ubuntu operatsioonisüsteemil tuleb pip installeerimiseks käivitada:
**Hetkel pole see funktsionaalsus kasutusel!**

RIHA varamu rakendab kasutusloos "uue vara taotluse esitamine" mikroteenust taotluse salvestamiseks. Mikroteenuse paigaldamiseks on kõige otstarbekam rakendada Pythoni paketihaldurit pip. Debian/Ubuntu operatsioonisüsteemil tuleb pip installeerimiseks käivitada:
```
sudo apt-get install python-pip
```
Paketihalduriga installeerime mikroveebiraamistiku Bottle:
```
pip install bottle
```
Mikroteenuse skript asub /API kaustas. Seal paiknev fail nimega XML-API.py tuleb asetada failisüsteemis kausta, kuhu on skripti vahendusel võimalik faile maha salvestada. Skripti käivitatakse käsuga:
Mikroteenuse skript asub `saveResource` kaustas. Seal paiknev fail `service.py` tuleb asetada failisüsteemis kausta, kuhu on skripti vahendusel võimalik faile maha salvestada. Fail `add.html` tuleb paigutada DocumentRoot kausta.

Skriptis tuleb vajadusel konfigureerida mikroteenust käitava masina host IP-d ja porti:
```
python3 XML-API.py
app.run(host='varamu.riha.ee', port=443)
```
Skriptis saab konfigureerida mikroteenust käitava masina host IP-d ja porti:
Skripti käivitatakse käsuga:
```
app.run(host='localhost', port=8080)
python3 service.py
```

## Autorid

* **Janar Peterson** - RIA praktikant
* **Raimond Roosalu** - RIA praktikant
* **Taavi Meinberg** - RIA praktikant
* **Hannes Kiivet** - RIHA valdkonnajuht
File renamed without changes
50 changes: 0 additions & 50 deletions css/resources.css

This file was deleted.

1 change: 1 addition & 0 deletions htdocs/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ErrorDocument 404 /404.html
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 0b99e3e

Please sign in to comment.