Módosítások

NeptunLdapSyncImpl

2 355 bájt hozzáadva, 2010. március 18., 17:05
Parancssoros paraméterek
A Neptun - LDAP szinkronizáció egy lehetséges implementációja az NIIF Intézet által fejlesztett PHP szkript. Ezen szkript a - lehetőségekhez képest - kellően általánosan kezeli az intézményi szinkronizációs igényeket, ezért önmagában, intézményi testreszabás nélkül, nem használható.
A szkript fejlesztés alatt levő verziója elérhető a [https://repo.niif.hu/gitweb/gitweb.cgi?p=neptun-ldap-script.git GIT Repositoryból]. A forráskód tartalmazza a keretrendszert, illetve intézményi példakódokat, melyek a BME által felvetett szinkronizációs igények alapján készültek el.
{{ATTENTION|Ez a szkript jelenleg is fejlesztés alatt áll, a felhasználása során előkerülő hibákért, esetleges adatvesztésért az NIIF Intézet semmilyen felelősséget nem vállal.}}
=== A leképező objektum életciklusa ===
[[Image:Szinkron-plain.png|thumb |alt=LDAP leképező objektum életciklusa |LDAP leképező objektum életciklusa]]
 
LDAP-ban létező bejegyzés esetén a következőképp alakul a leképező objektum életciklusa:
# azon mezők betöltése, melyek az LDAP bejegyzés kereséséhez szükségesek
# LDAP keresés végrehajtása
# LDAP-ból az attribútumok betöltése az objektum megfelelő mezőibe
# betöltés vége, életciklus metódus meghívása(pl. generált mezők számítása)
# az XML-ből a mezők frissítése
# életciklus metódus meghívása (pl. generált mezők számítása)
# megváltozott mezők keresése
# életciklus metódus meghívása (mentés előtti teendők végrehajtása)
# írás az LDAP-ba
public $mail;
/**
* @LDAP ccn
* @NEPTUN Szemely
*/
phpdoc -c phpdoc
x-www-browser docs/index.html
 
= Futtatás, tesztelés =
== Parancssoros paraméterek ==
A szinkronizáció a <code>test.php</code> szkript meghívásával indítható. Ez a parancssoros szkript a következő paramétereket fogadja:
 
* <code>--help</code>: súgó megjelenítése
* <code>--teljes</code>: figyelmen kívül hagyja az utolsó szinkronizálás időpontját
* <code>--neptunlist</code>: soronként egy neptun kódot tartalmazó fájl
* <code>--szinkron</code>: vesszővel (nem szóközzel) elválasztott lista a szinkronizálandó típusokról
 
=== Inkrementális szinkronizáció ===
A példaimplementáció alapértelmezetten (a <code>--teljes</code> kapcsoló hiánya esetén) az utolsó futtatás óta módosult rekordokat kérdezi le a Neptun webszolgáltatástól. Az egyes szinkronizációs modulok külön futtatásával elérhető, hogy bizonyos adatok (például a státuszok) gyakrabban frissüljenek, más adatok (például a hallgatott tárgyak) ritkábban.
 
Az utolsó futtatás időpontja tehát szinkronizációs metódusonként kerül tárolásra.
 
=== Szelektív feltöltés ===
A <code>--neptulist</code> paraméter használatával a szinkronizáció korlátozható bizonyos neptun kódokra. Ez a futtatási mód akkor lehet előnyös, ha például egy (néhány) felhasználó adatait kell csak szinkronizálni. Például elképzelhető egy olyan webes felület, ahol a felhasználók ellenőrizhetik a címtárban tárolt adataikat, illetve bizonyos esetekben kérhetik adataik frissítését. Ez a megoldás nagyban csökkentheti az adminisztrációs költségeket, hiszen a Neptunban elvégzett módosítások áttöltését maga a felhasználó kérheti.
 
== Konfiguráció ==
A szinkronizáció konfigurációt a <code>config.php</code> -ben lehet módosítani. Ebben a fájlban kell beállítani az LDAP szerver elérhetőségét és a jelszavakat, a logolás szintjét, a szinkronizációs metódusok nevét, illetve az ideiglenes fájlokat tároló könyvtárat.
565
szerkesztés

Navigációs menü