Az OTRS keretrendszer moduláris. A következő kép az OTRS alapvető rétegszerkezetét jeleníti meg.
Az OTRS 3.1-ben bevezetett OTRS általános felület folytatja az OTRS modularitását. A következő kép az általános felület alapvető rétegszerkezetét jeleníti meg.
| Könyvtár | Leírás |
|---|---|
| bin/ | parancssori eszközök |
| bin/cgi-bin/ | webes kezelő |
| bin/fcgi-bin/ | fast cgi webes kezelő |
| Kernel | alkalmazás kódbázisa |
| Kernel/Config/ | beállítófájlok |
| Kernel/Config/Files | beállítófájlok |
| Kernel/GenericInterface/ | az általános felület API-ja |
| Kernel/GenericInterface/Invoker/ | meghívó modulok az általános felülethez |
| Kernel/GenericInterface/Mapping/ | leképező modulok az általános felülethez, például: Simple |
| Kernel/GenericInterface/Operation/ | műveleti modulok az általános felülethez |
| Kernel/GenericInterface/Transport/ | átviteli modulok az általános felülethez, például: „HTTP SOAP” |
| Kernel/Language | nyelvi fordítási fájlok |
| Kernel/Scheduler/ | az ütemező fájljai |
| Kernel/Scheduler/TaskHandler | kezelőmodulok az ütemező feladatokhoz, például: GenericInterface |
| Kernel/System/ | alapmodulok, például: Log, Ticket… |
| Kernel/Modules/ | előtétprogram modulok, például: QueueView… |
| Kernel/Output/HTML/ | HTML sablonok |
| var/ | változó adatok |
| var/log | naplófájlok |
| var/cron/ | cron fájlok |
| var/httpd/htdocs/ | htdocs könyvtár az index.html fájllal |
| var/httpd/htdocs/skins/Agent/ | az ügyintéző felületéhez elérhető felszínek |
| var/httpd/htdocs/skins/Customer/ | az ügyfélfelülethez elérhető felszínek |
| var/httpd/htdocs/js/ | JavaScript fájlok |
| scripts/ | egyéb fájlok |
| scripts/test/ | egységteszt fájlok |
| scripts/test/sample/ | egységteszt példaadat fájlok |
.pl = Perl
.pm = Perl-modul
.tt = Template::Toolkit sablonfájlok
.dist = Fájlok alapértelmezett sablonjai
.yaml vagy .yml = A webszolgáltatás beállításaihoz használt YAML-fájlok
Az alapmodulok az $OTRS_HOME/Kernel/System/* alatt
találhatók. Ez a réteg a logikai munkához van. Az alapmodulok a rendszer
rutinjai kezeléséhez használhatók, mint például „jegy zárolása” és „jegy
létrehozása”. Néhány fő alapmodul a következő:
Kernel::System::Config (beállítási lehetőségek
eléréséhez)
Kernel::System::Log (naplózáshoz az OTRS naplózó
háttérprogramjába)
Kernel::System::DB (az adatbázis háttérprogram
eléréséhez)
Kernel::System::Auth (felhasználói hitelesítés
ellenőrzéséhez)
Kernel::System::User (felhasználók kezeléséhez)
Kernel::System::Group (csoportok kezeléséhez)
Kernel::System::Email (e-mailek küldéséhez)
További információkért nézze meg a http://otrs.github.io/doc/ oldalt.
A böngésző, a webkiszolgáló és az előtétprogram modulok közti felület. Egy előtétprogram modul használható HTTP-hivatkozáson keresztül.
Az előtétprogram modulok az
$OTRS_HOME/Kernel/Modules/*.pm alatt találhatók. Két
nyilvános függvény van ebben - new() és run() -
amelyek az előtétprogram kezelésből érhetők el (például
index.pl).
A new() előtétprogram modul objektumok létrehozásához
használható. Az előtétprogram kezelés biztosítja a használt előtétprogram
modulokat az alapvető keretrendszer objektumokkal. Ezek például a
következők: ParamObject (webes űrlapparaméterek
lekéréséhez), DBObject (meglévő adatbázis-kapcsolatok
használatához), LayoutObject (sablonok és egyéb HTML
elrendezés függvények használatához), ConfigObject
(konfigurációs beállítások hozzáféréséhez), LogObject (a
keretrendszer naplózó rendszerének használatához),
UserObject (a felhasználói függvények lekéréséhez a
jelenlegi felhasználótól), GroupObject (a
csoportfüggvények lekéréséhez).
Az alapmodulokról további információkért nézze meg a http://otrs.github.io/doc/ oldalt.
A CMD (Command - Parancs) előtétprogram a webes előtétprogram kezeléshez és
a webes előtétprogram modulokhoz együtt hasonló (csak a
LayoutObject nélkül), és az alapmodulokat használja
néhány műveletnél a rendszeren.
Az általános felület modulok az
$OTRS_HOME/Kernel/GenericInterface/* alatt
találhatók. Az általános felület modulok egy webszolgáltatás végrehajtásának
egyes részei kezeléséhez használhatók a rendszeren. Az általános felület fő
moduljai a következők:
Kernel::GenericInterface::Transport (kölcsönhatásba
lépéshez távoli rendszerekkel)
Kernel::GenericInterface::Mapping (adatok átalakításához
egy szükséges formátumba)
Kernel::GenericInterface::Requester (az OTRS mint
kérelmezőként való használatához a webszolgáltatásnál)
Kernel::GenericInterface::Provider (az OTRS mint
kiszolgálóként való használatához a webszolgáltatásnál)
Kernel::GenericInterface::Operation (szolgáltató
műveletek végrehajtásához)
Kernel::GenericInterface::Invoker (kérelmező műveletek
végrehajtásához)
Kernel::GenericInterface::Debugger (webszolgáltatás
kommunikációjának követéséhez naplóbejegyzések használatával)
További információkért nézze meg a http://otrs.github.io/doc/ oldalt.
Az általános felület meghívó modulok az
$OTRS_HOME/Kernel/GenericInterface/Invoker/* alatt
találhatók. Minden egyes meghívót egy Controller
elnevezésű mappa tartalmaz. Ez a megközelítés nem csak a belső osztályoknak
és metódusoknak segít egy névteret meghatározni, hanem a fájlneveknek
is. Például az
$OTRS_HOME/Kernel/GenericInterface/Invoker/Test/ az
összes Teszt-típusú meghívó vezérlője.
Az általános felület meghívó modulok háttérprogramként használhatók kérések létrehozásához a távoli rendszereknél műveletek végrehajtásához.
További információkért nézze meg a http://otrs.github.io/doc/ oldalt.
Az általános felület leképező modulok az
$OTRS_HOME/Kernel/GenericInterface/Mapping/* alatt
találhatók. Ezek a modulok adatok (kulcsok és értékek) átalakításához
használhatók az egyik formátumról egy másikra.
További információkért nézze meg a http://otrs.github.io/doc/ oldalt.
Az általános felület műveleti modulok az
$OTRS_HOME/Kernel/GenericInterface/Operation/* alatt
találhatók. Minden egyes műveletet egy Controller
elnevezésű mappa tartalmaz. Ez a megközelítés nem csak a belső osztályoknak
és metódusoknak segít egy névteret meghatározni, hanem a fájlneveknek
is. Például az
$OTRS_HOME/Kernel/GenericInterface/Operation/Ticket/ az
összes Ticket-típusú művelet vezérlője.
Az általános felület műveleti modulok háttérprogramként használhatók egy távoli rendszer által kért műveletek végrehajtásához.
További információkért nézze meg a http://otrs.github.io/doc/ oldalt.
Az általános felület átviteli modulok az
$OTRS_HOME/Kernel/GenericInterface/Operation/* alatt
találhatók. Minden egyes átviteli modult egy olyan elnevezésű könyvtárba
kell elhelyezni, ahogy a használt hálózati protokollt hívják. Például a
„HTTP SOAP” átviteli modul a
$OTRS_HOME/Kernel/GenericInterface/Transport/HTTP/SOAP.pm
fájlban található.
Az általános felület átviteli modulok adatok küldéséhez használhatók egy távoli rendszer számára, valamint adatok fogadásához tőle.
További információkért nézze meg a http://otrs.github.io/doc/ oldalt.
Az ütemező feladatkezelő modulok az
$OTRS_HOME/Kernel/Scheduler/TaskHandler/* alatt
találhatók. Ezek a modulok aszinkron feladatok végrehajtásához
használhatók. Például a GenericInterface feladatkezelő
általános felület kéréseket hajt végre a távoli rendszerekhez az apache
folyamaton kívül. Ez abban segíti a rendszert, hogy fogékonyabb legyen,
megelőzve a lehetséges teljesítményproblémákat.
További információkért nézze meg a http://otrs.github.io/doc/ oldalt.
Az adatbázis-felület különböző adatbázisokat támogat.
Az OTRS adatmodelljéhez nézze meg a /doc könyvtárban
lévő fájlokat. Alternatívaként megnézheti az adatmodellt a githubon
is.