Tartalom
Az OTRS dedikált mechanizmussal érkezik a konfigurációs beállítások kezeléséhez egy grafikus felületen (rendszerbeállításokon) keresztül. Ez a szakasz azt írja le, hogy hogyan működik belsőleg, és hogyan adhat meg új konfigurációs beállításokat, vagy hogyan változtathatja meg a meglévő alapértelmezett értékeket.
Az OTRS alapértelmezett beállítófájlja a
Kernel/Config/Defaults.pm
. Ez a fájl szükséges az
üzembe állított XML-beállítások nélküli, frissen telepített rendszerek
működéséhez, és a fájlt érintetlenül kell hagyni, mivel automatikusan
frissítésre kerül a keretrendszer frissítéseikor.
A Kernel/Config/Files
mappában néhány automatikusan
előállított beállítófájl található:
ZZZAAuto.pm
Az XML beállítások aktuális értékeinek Perl gyorsítótára (alapértelmezett vagy a felhasználó által módosított)
ZZZACL.pm
Az adatbázisból származó ACL beállítások Perl gyorsítótára
ZZZACL.pm
Az adatbázisból származó folyamatmenedzsment beállítások Perl gyorsítótára
Ezek a fájlok az aktuális rendszerbeállítások Perl változatai. Sosem szabad kézzel megváltoztatni, mivel az OTRS felülírja azokat.
Az OTRS-ben azok a beállítási lehetőségek, amelyeket az adminisztrátor a
rendszerbeállításokon keresztül be tud állítani, különleges formátumban lévő
XML-fájlokon keresztül biztosítottak. A régi XML-ek átalakításához
használhatja a otrs.Console.pl
Dev::Tools::Migrate::ConfigXMLStructure
parancsot. A
Kernel/Config/Files/ZZZAAuto.pm
fájl az XML
gyorsítótárazott Perl verziója, amely tartalmazza az összes beállítás azok
aktuális értékeivel. Újra előállíthatók a bin/otrs.Console.pl
Maint::Config::Rebuild
paranccsal.
Megjegyzés:
Az
$OTRS_HOME/Kernel/Config/Files/ZZZAuto.pm
fájl többé
nem létezik, be lett olvasztva az
$OTRS_HOME/Kernel/Config/Files/ZZZAAuto.pm
fájlba.
Az egyes XML beállítófájloknak a következő elrendezésük van:
<?xml version="1.0" encoding="utf-8" ?> <otrs_config version="2.0" init="Changes"> <!-- itt lesznek a beállítások --> </otrs_config>
Az otrs_config
elem attribútumai
init
A globális init
attribútum azt írja le, hogy honnan kell
a beállítási lehetőségeket betölteni. Különböző szintek érhetők el, és a
következő sorrendben lesznek betöltve/felülírva:
Framework
(a keretrendszer beállításaihoz, például
munkamenet beállítás), Application
(az alkalmazás
beállításaihoz, például jegybeállítások), Config
(kiterjesztésekhez a meglévő alkalmazásoknál, például ITSM beállítások) és
Changes
(egyéni fejlesztésekhez, például keretrendszer
vagy jegybeállítások felülírásához).
A beállítási elemek Setting
elemekként vannak írva egy
Description
leírással, egy Navigation
csoporttal (a fa alapú navigációhoz a grafikus felhasználói felületen) és a
Value
értékkel, amely azt képviseli. Álljon itt egy
példa:
<Setting Name="Ticket::Hook" Required="1" Valid="1"> <Description Translatable="1">The identifier for a ticket, e.g. Ticket#, Call#, MyTicket#. The default is Ticket#.</Description> <Navigation>Core::Ticket</Navigation> <Value> <Item ValueType="String" ValueRegex="">Ticket#</Item> </Value> </Setting>
A Setting
elem attribútumai
Required
Ha ez 1 értékre van állítva, akkor a konfigurációs beállítást nem lehet letiltani.
Valid
Meghatározza, hogy a konfigurációs beállítás alapértelmezetten be van kapcsolva (1) vagy ki van kapcsolva (0).
ConfigLevel
Ha az opcionális ConfigLevel
attribútum be van állítva,
akkor a beállítási változót esetleg nem szerkesztheti az adminisztrátor a
saját beállítási szintjétől függően. A ConfigLevel
beállítási változó állítja be az adminisztrátor szakmai tapasztalatának
szintjét. Lehet 100 (Szakértő), 200 (Speciális) vagy 300
(Kezdő). Iránymutatásként, hogy mely beállítási szintet kell egy
lehetőséghez megadni, az az ajánlott, hogy az összes olyan lehetőségnek,
amelyet külső interakció beállításával kell megtenni (mint például Sendmail,
LDAP, SOAP és egyebek), legalább 200 (Speciális) beállítási szintet kell
kapnia.
Invisible
Ha 1 értékre van állítva, akkor a konfigurációs beállítás nem jelenik meg a grafikus felhasználói felületen.
Readonly
Ha 1 értékre van állítva, akkor a konfigurációs beállítást nem lehet megváltoztatni a grafikus felhasználói felületen.
UserModificationPossible
Ha a UserModificationPossible
1
értékre van állítva, akkor az adminisztrátorok engedélyezhetik a beállítás
felhasználói módosításait (a felhasználói beállításokban). Ne feledje, hogy
ez a funkció az OTRS Business Solution™
meglétét igényli.
UserModificationActive
Ha a UserModificationActive
1
értékre
van állítva, akkor a beállítás felhasználói módosításai engedélyezve vannak
(a felhasználói beállításokban). Ezt az attribútumot a
UserModificationPossible
attribútummal együtt kell
használnia.
UserPreferencesGroup
Használja a UserPreferencesGroup
attribútumot annak
meghatározásához, hogy mely csoport alá tartozik a konfigurációs érték (a
felhasználói beállítások képernyőn). Ezt az attribútumot a
UserModificationPossible
attribútummal együtt kell
használnia.
Iránymutatások a beállítások megfelelő Navigation
csomópontokba való elhelyezéséhez
Csak akkor hozzon létre új csomópontot, ha szükséges. Kerülje a csak nagyon kevés beállítással rendelkező csomópontokat, ha lehetséges.
A fa első szintjén nem szabad új csomópontokat hozzáadni.
Ne tegyen új beállításokat a Core
csomópontba
közvetlenül. Ez néhány fontos globális beállításnak van fenntartva.
A Core::*
kaphat új csoportokat, amelyek hasonló témát
lefedő beállításokat tartalmaznak (például Core::Email
)
vagy ugyanahhoz az entitáshoz kapcsolódnak (például
Core::Queue
).
Az összes eseménykezelő regisztráció a Core::Event
csoportba kerüljön.
Ne adjon hozzá új közvetlen gyermekcsomópontokat a
Frontend
csomóponton belül. A globális előtétprogram
beállítások a Frontend::Base
csoportba kerüljenek, a csak
a rendszer egy részét érintő beállítások a megfelelő Admin, Agent,
Customer
vagy Public
alcsoportokba kerüljenek.
Azok az előtétprogram beállítások, amelyek csak egy képernyőt érintenek, a
kapcsolódó képernyő (View
) csomópontjába (hozzon létre
egyet, ha szükséges) kerüljenek. Például az
AgentTicketZoom
képernyőhöz kapcsolódó beállítások a
Frontend::Agent::View::TicketZoom
csoportba
kerüljenek. Ha kapcsolódó beállítások csoportjaival rendelkező modulrétegek
vannak egy képernyőn belül, akkor azok is kerülhetnek ide egy alcsoportba
(például Frontend::Agent::View::TicketZoom::MenuModule
az
összes jegynagyítás menü modulregisztrációjához).
Az összes globális betöltő beállítások a
Frontend::Base::Loader
csoportba, a képernyőre jellemző
betöltő beállítások a
Frontend::*::ModuleRegistration::Loader
csoportba
kerüljenek.
A Value
elemek tartalmazzák a tényleges beállítási adatok
hasznos terhét. Tartalmazhatnak önálló értékeket, kivonatokat vagy tömböket.
Egy Item
elem egyetlen adatot tartalmaz. Az elhagyható
ValueType
attribútum határozza meg, hogy milyen típusú
adat, és hogyan kell megjeleníteni a felhasználónak a grafikus felületen. Ha
nincs ValueType
megadva, akkor alapértelmezetten
String
lesz.
Nézze meg a lent a különböző értéktípusok meghatározását.
<Setting Name="Ticket::Hook" Required="1" Valid="1"> <Description Translatable="1">The identifier for a ticket, e.g. Ticket#, Call#, MyTicket#. The default is Ticket#.</Description> <Navigation>Core::Ticket</Navigation> <Value> <Item ValueType="String" ValueRegex="">Ticket#</Item> </Value> </Setting>
Ezzel a beállítási elemmel tömbök jeleníthetők meg.
<Setting Name="SettingName"> ... <Value> <Array> <Item Translatable="1">1. érték</Item> <Item Translatable="1">2. érték</Item> ... </Array> </Value> </Setting>
Ezzel a beállítási elemmel kivonatok jeleníthetők meg.
<Setting Name="SettingName"> ... <Value> <Hash> <Item Key="Egy" Translatable="1">Első</Item> <Item Key="Ketto" Translatable="1">Második</Item> ... </Hash> </Value> </Setting>
Lehetőség van egymásba ágyazott tömb vagy kivonat elemek meglétére is (mint például tömbök kivonata, kivonatok tömbje, tömbök kivonatainak tömbje, stb.). Lent van egy példa a kivonatok tömbjére.
<Setting Name="ExampleAoH"> ... <Value> <Array> <DefaultItem> <Hash> <Item></Item> </Hash> </DefaultItem> <Item> <Hash> <Item Key="Egy">1</Item> <Item Key="Ketto">2</Item> </Hash> </Item> <Item> <Hash> <Item Key="Harom">3</Item> <Item Key="Negy">4</Item> </Hash> </Item> </Array> </Value> </Setting>
Az XML konfigurációs beállítások különféle típusú beállítási változókat támogatnak.
<Setting Name="SettingName"> ... <Value> <Item ValueType="String" ValueRegex=""></Item> </Value> </Setting>
Egy beállítási elem számokhoz és egysoros karakterláncokhoz. Ellenőrizhető
az érvényesség egy reguláris kifejezéssel, ha lehetséges (elhagyható). Ez az
alapértelmezett ValueType
.
<Setting Name="SettingName"> ... <Value> <Item ValueType="String" ValueRegex="" Translatable="1">Érték</Item> </Value> </Setting>
Az opcionális Translatable
attribútum jelöli meg ezt a
beállítást fordíthatóként, amely azt fogja eredményezni, hogy fel lesz véve
az OTRS fordítási fájljaiba. Ezt az attribútumot bármely címkére el lehet
helyezni (lásd lent is).
Egy beállítási elem jelszavakhoz. Továbbra is egyszerű szövegként van tárolva az XML-ben, de el van fedve a grafikus felhasználói felületen.
<Setting Name="SettingName"> ... <Value> <Item ValueType="Password">Titok</Item> </Value> </Setting>
Egy beállítási elem Perl-modulhoz. Rendelkezik egy
ValueFilter
attribútummal, amely szűri a lehetséges
értékeket a kiválasztásnál. A lenti példában a felhasználó a
Kernel::System::Log::SysLog
vagy a
Kernel::System::Log::File
Perl-modult választhatja.
<Setting Name="SettingName"> ... <Value> <Item ValueType="PerlModule" ValueFilter="Kernel/System/Log/*.pm">Kernel::System::Log::SysLog</Item> </Value> </Setting>
Egy beállítási elem többsoros szöveghez.
<Setting Name="SettingName"> ... <Value> <Item ValueType="Textarea"></Item> </Value> </Setting>
Ez a beállítási elem előre beállított értékeket nyújt egy legördülő
menüként. A SelectedID
vagy a
SelectedValue
attribútumok előre kiválaszthatnak egy
alapértelmezett értéket.
<Setting Name="SettingName"> ... <Value> <Item ValueType="Select" SelectedID="Queue"> <Item ValueType="Option" Value="Queue" Translatable="1">Várólista</Item> <Item ValueType="Option" Value="SystemAddress" Translatable="1">Rendszercím</Item> </Item> </Value> </Setting>
Ennek a jelölőnégyzet beállítási elemnek két állapota van: 0 vagy 1.
<Setting Name="SettingName"> ... <Value> <Item ValueType="Checkbox">0</Item> </Value> </Setting>
Ez a beállítási elem egy dátumértéket tartalmaz.
<Setting Name="SettingName"> ... <Value> <Item ValueType="Date">2016-02-02</Item> </Value> </Setting>
Ez a beállítási elem egy dátumot és egy időértéket tartalmaz.
<Setting Name="SettingName"> ... <Value> <Item ValueType="DateTime">2016-12-08 01:02:03</Item> </Value> </Setting>
Ez a beállítási elem egy könyvtárat tartalmaz.
<Setting Name="SettingName"> ... <Value> <Item ValueType="Directory">/etc</Item> </Value> </Setting>
Ez a beállítási elem egy fájlútvonalat tartalmaz.
<Setting Name="SettingName"> ... <Value> <Item ValueType="File">/etc/hosts</Item> </Value> </Setting>
Ez a beállítási elem egy bizonyos entitás értékét tartalmazza. A
ValueEntityType
attribútum határozza meg az entitás
típusát. Támogatott entitások: DynamicField
,
Queue
, Priority
,
State
és Type
. A
következetesség-ellenőrzések fogják biztosítani, hogy csak érvényes
entitások legyenek beállíthatók, és hogy azok az entitások, amelyeket a
beállításokban használnak, ne legyenek érvénytelenre állíthatók. Amikor egy
entitást átneveznek, akkor az összes hivatkozó konfigurációs beállítás
frissítve lesz.
<Setting Name="SettingName"> ... <Value> <Item ValueType="Entity" ValueEntityType="Queue">Szemét</Item> </Value> </Setting>
Ez a beállítási elem egy időzóna értéket tartalmaz.
<Setting Name="SettingName"> ... <Value> <Item ValueType="TimeZone">UTC</Item> </Value> </Setting>
Ez a beállítási elem meghatározásokat tartalmaz az olyan munkaszüneti
napokhoz, amelyek minden évben ismétlődnek. A következő attribútumok
kötelezőek: ValueMonth
, ValueDay
.
<Setting Name="SettingName"> ... <Value> <Item ValueType="VacationDays"> <DefaultItem ValueType="VacationDays"></DefaultItem> <Item ValueMonth="1" ValueDay="1" Translatable="1">Újév</Item> <Item ValueMonth="5" ValueDay="1" Translatable="1">A munka ünnepe</Item> <Item ValueMonth="12" ValueDay="24" Translatable="1">Szenteste</Item> </Item> </Value> </Setting>
Ez a beállítási elem meghatározásokat tartalmaz az olyan munkaszüneti
napokhoz, amelyek csak egyszer fordulnak elő. A következő attribútumok
kötelezőek: ValueMonth
, ValueDay
és
ValueYear
.
<Setting Name="SettingName"> ... <Value> <Item ValueType="VacationDaysOneTime"> <Item ValueYear="2004" ValueMonth="1" ValueDay="1">Teszt</Item> </Item> </Value> </Setting>
Ez a beállítási elem meghatározásokat tartalmaz a munkaidőhöz.
<Setting Name="SettingName"> ... <Value> <Item ValueType="WorkingHours"> <Item ValueType="Day" ValueName="Mon"> <Item ValueType="Hour">8</Item> <Item ValueType="Hour">9</Item> </Item> <Item ValueType="Day" ValueName="Tue"> <Item ValueType="Hour">8</Item> <Item ValueType="Hour">9</Item> </Item> </Item> </Value> </Setting>
Modul regisztráció az ügyintézői felülethez:
<Setting Name="SettiFrontend::Module###AgentModuleName"> ... <Value> <Item ValueType="FrontendRegistration"> <Hash> <Item Key="Group"> <Array> </Array> </Item> <Item Key="GroupRo"> <Array> </Array> </Item> <Item Key="Description" Translatable="1">Telefonhívás.</Item> <Item Key="Title" Translatable="1">Telefonos jegy</Item> <Item Key="NavBarName">Ticket</Item> </Hash> </Item> </Value> </Setting>
Az új XML szerkezet lehetővé teszi számunkra az összetett szerkezetek
létrehozását. Ennélfogva szükségünk van alapértelmezett
DefaultItem
bejegyzésekre a tömb vagy kivonat
szerkezetének leírásához. Ha ez nincs megadva, akkor a rendszer úgy tekinti,
hogy egyszerű tömböt vagy kivonatot szeretne skalár értékekkel. A
DefaultItem
használható sablonként, amikor új elemeket
adunk hozzá, így tartalmazhat további attribútumokat, mint például a
ValueType
, és meghatározhat alapértelmezett értékeket.
Itt van néhány példa:
<Array> <DefaultItem> <Array> <DefaultItem ValueType="Select" SelectedID='option-2'> <Item ValueType="Option" Value="option-1">1. lehetőség</Item> <Item ValueType="Option" Value="option-2">2. lehetőség</Item> </DefaultItem> </Array> </DefaultItem> ... </Array>
Olvashatja és írhatja (egy kérésnél) a beállítási lehetőségeket a
Kernel::Config
alapmodulon keresztül.
Ha egy beállítási lehetőséget szeretne olvasni:
my $ConfigOption = $Kernel::OM->Get('Kernel::Config')->Get('Prefix::Option');
Ha meg szeretne változtatni egy beállítási lehetőséget futási időben, és csak ennél az egy kérésnél/folyamatnál:
$Kernel::OM->Get('Kernel::Config')->Set( Key => 'Prefix::Option' Value => 'Valami új érték', );