Kezdőlap | Közösség | GYIK | Ügyek | Twitter | Dokumentáció szerkesztése
en hu

Adatelérés

Adatelérési lehetőségek

  • Fájl letöltés

    Támogatott formátumok:

    • Egyszerű szöveges állományok: csv, json

    • Kép fájlok kivitele: egyesével, vagy tömegesen

    • Táblázatkezelő formátumok: ods (Libreoffice), xls (Excel), xlsx (Excel)

    • Térbeli formátumok: Esri shape (.shp, .dbf, .cpg, .prj, .shx együttesen), gpx (GPS adatformátum (xml)), sqlite

  • Webes lekérdezés

    • Szöveges szűréssel leválogatás

    • Térbeli lekérdezéssel leválogatás

  • Külső alkalmazások

    • API felület használata (pl.: R-csomag)

    • SQL kapcsolat használata (pl.: QGIS)

Adathozzáférés szabályozása

A projekt alapításakor meghatározott legalacsonybb színtű szabályozás a

local_vars.php.inc

fájlban van:

define('ACC_LEVEL','group'); // lehet az  értéke 'public' vagy 'login'
define('MOD_LEVEL','group');

Az ACC_LEVEL változó azt határoozza meg a projektben, hogy az adatok hozzáférése alapértelmezetten milyen szintű. Lehet publikus (public), illetve lehet csak a bejelentkezett felhasználóknak hozzáférhető (login vagy group). A login inkább csak elméleti opció általában a group-ot szokták ilyen esetben használni.

A MOD_LEVEL az adatok módosítására vonatkozó szabályozás a fentihez hasonló módon. Amennyiben a MOD_LEVEL public, akkor a bárki bejelentkezés nélkül is tudja az adatokat módosítani!

Amennyiben az adatmegtekintési (ACC_LEVEL)/letöltési és módosítási (MOD_LEVEL) szintek érteke “group”, akkor további szabályozási lehetőségeink is lesznek a

_rules tábla használatával.

A _rules táblánk egy-egy kapcsolatban van az minden szabályozni kívánt adattáblánkkal az obm_id - row_id idegenkulcs beállításával. Azok az adatsorok amelyekre nincs _rules bejegyzés csak projekt gazdáknak érhető el (az ACC_LEVEL=’group’ esetén).

A _rules tábla működése a [projekt adminisztráció] -> [függvények] menüben található: [Hozzáférési szabályok elkészítése]

Itt lehet a trigger függvényt létrehozni és módosítani, illetve a triggert engedélyezni vagy letiltani ami minden rekord hozzáadás, módosítás és törlés után automatikusan frissíti a _rules táblánkat.

Az egyes adatsorok hozzáférése egyedileg is meghatározható amennyiben a csoport írás és olvasás mezőkben csoportokat adunk hozzá. Ezt a _rules trigger meg tudja automatikusan csinálni a feltöltő űrlapok adathozzárendelési beállítása alapján, amely értékek a system.uploadings táblában kerülnek beírásra a feltöltő űrlapok beállítása alapján.

A _rules tábla kézzel is újra generálható:

  • egyrészt egyszerre, csoportbeállítások nélkül:

  DELETE FROM abc_rules WHERE data_table='abc';
  INSERT INTO abc_rules (row_id,sensitivity,data_table) SELECT obm_id,'sensitive','abc' FROM abc

- vagy soronkénti csoportbeállítással is:
DELETE FROM abc_rules WHERE data_table='abc';
INSERT INTO abc_rules (row_id,sensitivity,data_table,read,write)
   SELECT obm_id, 'sensitive', 'abc', s.group, s.owner
   FROM abc a LEFT JOIN system.uploadings s ON (s.id = a.obm_uploading_id)

A _rules táblában a sensitivity mező az adott adatsor publikus elérhetőségének a megadására szolgál zárt (‘group’) projektekben. A ‘sensitivity’ érétéke még ‘sensitive’ vagy ‘restricted’ lehet. Ezek azonos jelentésűek. A ‘sensitive’ sorokat csak a megadott csoportok tagjai tudják olvasni vagy módosítani.

Az adathozzáférés még tovább szabályozható az egyes mezőkre vonatkozó szabályok beállításával, amit az allowed_columns modul használatával tehetünk meg. Amennyiben a projekt beállításunk ‘group’, azaz csoport-szintű és nincsenek a _rules táblában sorok, akkor még az allowed_columns modullal mégis elérhetővé tehetjük az adatmezőinket publikusan vagy megadott felhasználó csoportok részére. Azaz az ‘allowed_columns’ modul a legmagasabb szintű hozzáférés szabályozás is egyúttal.

Minden esetben a leg részletesebb hozzáférést jelentő szabály határozza meg az adatok hozzáférését, ha több szabály is érvényesülhetne.

Azaz, ha ‘group’ szintű a projektünk és semmi egyéb szabály nincs megadva, akkor csak a projekt adminisztrátorai érik el az adatokat. Ha van megadva _rules tábla, akkor az adatokra soronként érvényesülnek a szabályok, azaz egyes sorokra tudunk tágabb hozzáférést biztosítani.

Végezetül, egy modullal allowed_columns lehetőségünk van oszlop szintű hozzáférés szabályozásra is. Az allowed_columns a group hozzáférés beállítás esetén és a rules tábla használat esetén tud érvényesülni mégpedig úgy, hogy egy amúgy lekérdezhető adatsorból, amiben egyetlen mező sem hozzáférhető engedélyt tudunk adni egyes mezők tartalmának a megtekintésére (letöltésére is).