Obecný objekt¶
Odkaz na zdrojové kódy: https://github.com/pluginsGLPI/genericobject
Stažení: https://github.com/pluginsGLPI/genericobject/releases
This user manual applies to version 2.14 of the GLPI Generic Object Plugin.
Požadavky¶
Please refer to plugin page <https://plugins.glpi-project.org/#/plugin/genericobject>.
Funkce¶
Tento zásuvný modul umožňuje přidávat nové typy objektů, integrované do GLPI.
Podporuje následující funkce GLPI:
správa entit a podřízených entit;
vyhledávání;
šablony;
historie;
Začlenění služby podpory;
začlenění zásuvného modulu pro vložení CSV souboru;
Začlenění zásuvného modulu odinstalace položky;
začlenění zásuvného modulu Správa objednávek.
Příklad použití¶
Cíl: Spravovat vozový park podobně jako vaše počítačové vybavení.
Vytvořte nový typ objektu inventáře auto.
Přidejte přesné kolonky pro automobil jako: název, WIN kód, inventární číslo, typ, model, barva, stav, atp.
Popište chování automobilu: viditelnost v dílčí položce, uchovávání historie, atp.
Upravte oprávnění na automobily.
Aktivujte objekt automobily.
Spravujte svůj vozový park v GLPI.
Nainstalovat zásuvný modul¶
Rozbalit archiv
Přesuňte složku
genericobject
do složky<GLPI_ROOT>/plugins
Přejděte do Nastavení > Zásuvné moduly
Nainstalovat a aktivovat zásuvný modul
Využití¶
Vytvořit nový typ objektu¶
Toto je první krok.
Klikněte na tlačítko + ve formuláři nastavení zásuvného modulu.
Vytvořte nový typ objektu inventáře:
název: povinný, malými písmeny – může obsahovat pouze písmena;
štítek: ve výchozím stavu je stejné jako název.
Ověřit
Aby ji bylo možné použít, novou položku aktivujte.
Příklad: Vytvořte nový typ objektu auto.
Upravit označení¶
Pro každý typ je k dispozici jazykový soubor v <GLPI_ROOT>/files/_plugins/genericobject/locales/itemtype/
Zásuvný modul vytváří:
jazykový soubor pro stávající jazyk
jazykový soubor pro výchozí jazyk GLPI
Poznámka
Pokud stávající a výchozí jazyk jsou stejné, je vytvořen pouze jeden soubor.
Pro změnu označení typu položky, pro český jazyk, upravte soubor:
<?php
// <GLPI_ROOT>/files/_plugins/genericobject/locales/<itemtype>/<itemtype>.en_GB.php
$LANG['genericobject']['<itemtype>'][1] = "<type's label>";
You can also define labels globally in <GLPI_ROOT>/files/_plugins/genericobject/locales/fields.<lang>.php
files:
<?php
// <GLPI_ROOT>/files/_plugins/genericobject/locales/<itemtype>/<itemtype>.en_GB.php
$LANG['genericobject']['fields']['<itemtype>'] = "<type's label>";
Nastavení chování¶
Příklad: Popište chování automobilu: viditelné v dílčí položce, uchovávat historii, etc.
Nový typ bude spravován stejným způsobem jako obvyklé GLPI typy (počítač, monitor, síťové zařízení, atd.)
Poznámka
Všechny objekty jsou přinejmenším přiřazeny k entitě
Karta Chování umožňuje určit:
child-entities: umožní typu aby byl rekurzivní;
Služba podpory: umožňuje aby objekt byl přiřazen k požadavku;
Koš: použít funkci GLPI koš;
Poznámky: použít funkci GLPI poznámky;
Historie: umožnit historii pro tento typ;
Šablony: umožňuje správu šablon;
Dokumenty: umožňuje připojovat dokumenty k objektu tohoto typu;
Zápůjčky: umožňuje aby objekty byly zapůjčovány;
Smlouvy: odkaz na objekt jednoho a více smluv;
Síťová připojení: umožní aby pro tento typ byly používány a spravovány porty;
Zásuvný modul vložení CSV souboru: umožní aby tento typ byl k dispozici pro použití v zásuvném modulu;
Zásuvný modul odebrání položky: umožní odinstalaci tohoto typu;
Zásuvný modul pro správu objednávek: umožní tomuto typu aby byl propojený s objednávkou;
Přidat kolonky¶
Příklad: Přidejte přesné kolonky pro automobil jako: název, WIN kód, inventární číslo, typ, model, barva, stav, atd.
Přejděte na kartu Kolonky.
Zásuvný modul přichází s několika předpřipravenými kolonkami:
Název
Typ
Model
Sériové číslo
Inventární číslo
Uživatel položky
Skupina
Stav
Komentáře
Poznámky
Umístění
Ostatní
Výrobce
URL adresa
Datum vytvoření
Datum skončení platnosti
Kategorie
Viditelné ve službě podpory
Technik odpovědný za hardware
Doména
Kontakt
Kontaktní číslo
Poznámka
Použití nějakého chování automaticky přidá objektu některé kolonky:
síťové připojení => umístění
zápůjčky => umístění
služba podpory => je viditelné ve službě podpory
poznámky => poznámkový blok
Začlenění služby podpory¶
Pro použití objektu ve službě podpory, použijte následující uspořádání:
V panelu Chování: je třeba, aby použít službu podpory bylo nastaveno na Ano.
pokud je určena kolonka Uživatel, umožní to, aby položka byla viditelná v seznamu Moje položky (jako položka jejíž vlastník je uživatel).
pokud je určená kolonka Skupina, umožní aby položky byly viditelné také v seznamu Moje položky (protože položka náležející do skupiny do které náleží uživatel).
pokud je v objektu kolonka Služba podpory viditelná nastavená a pokud je její hodnota Ne, pak objekt nebude vůbec viditelný ve službě podpory.
Přidat nové kolonky¶
Poznámka
Nové kolonky budou dostupné pro objekty všech typů.
Vytvořte nový soubor nazvaný
<GLPI_ROOT>/files/_plugins/genericobject/fields/<type>.constant.php
Například, pro typ auto soubor konstanty bude <GLPI_ROOT>/files/_plugins/genericobject/fields/car.constant.php
.
Mějte na paměti, že je třeba, aby první řádek souboru byl následující, jinak se nové kolonky neobjeví v seznamu:
<?php
global $GO_FIELDS, $LANG;
Přidat definice nových kolonek.
Přidat kolonku jednoduchého rozbalovacího seznamu¶
<?php
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['name'] = $LANG['genericobject']["<type's name>"][2];
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['field'] = 'color';
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['input_type'] = 'dropdown';
Poznámka
V souboru s jazykovými daty je třeba určit proměnnou pro jazyk (viz vysvětlení výše).
Přidat kolonku rozbalovací nabídky která je přiřazená k entitě:
<?php
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['name'] = $LANG['genericobject']["<type's name>"][2];
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['field'] = 'color';
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['input_type'] = 'dropdown';
//Does the dropdown take care of entities ? (true/false)
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['entities_id'] = true;
//Can values be recursive ? (true/false, only taking in account if entities_id is set to true)
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['is_recursive'] = true;
Přidat kolonku stromové rozbalovací nabídky¶
<?php
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['name'] = $LANG['genericobject']["<type's name>"][2];
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['field'] = 'color';
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['input_type'] = 'dropdown';
//Is it a tree-dropdown, or a simple one ? (true/false)
$GO_FIELDS['plugin_genericobject_mytypecolors_id']['is_tree'] = true;
Poznámka
Ve stejnou chvíli je možné použít následující parametry: entities_id, is_recursive, is_tree.
Přidat rozbalovací kolonku která je založena na objektu GLPI samotného (uživatel, umístění…)¶
<?php
$GO_FIELDS['users_id_passengers_id']['name'] = 'Passenger';
$GO_FIELDS['users_id_passengers_id']['input_type'] = 'dropdown';
Poznámka
Aby kolonka byla rozpoznána jako ta založená na seznamu uživatelů GLPI je NUTNÉ, aby jméno mezi hranatými závorkami ([]
) začínalo na ``users_id`.
Viz soubor <GLPI_ROOT>/files/_plugins/genericobject/fields/field.constant.php
s úplným seznamem kolonek, které jsou k dispozici.
Přidat globální rozbalovací nabídku¶
Globální rozbalovací nabídku je možné použít ve všech typech položek. Dobrý příklad by byl:
<?php
$GO_FIELDS['categories_id']['name'] = $LANG['common'][36];
$GO_FIELDS['categories_id']['input_type'] = 'dropdown';
$GO_FIELDS['categories_id']['dropdown_type'] = 'global';
Pro každý typ položky bude vytvořena zvlášť tabulka kategorie. Název tabulky a kolonky bude vytvořena takto:
tabulka:
glpi_plugin_genericobject_<itemtypename>_category
název kolonky:
plugin_genericobject_<itemtype>categories_id
Přidat celočíselnou kolonku¶
<?php
$GO_FIELDS['testinteger']['name'] = 'testinteger';
$GO_FIELDS['testinteger']['input_type'] = 'integer';
$GO_FIELDS['testinteger']['min'] = 10; //not mandatory, by default 0
$GO_FIELDS['testinteger']['max'] = 40; //not mandatory, by default 100
$GO_FIELDS['testinteger']['step'] = 3; //not mandatory, by default 1
Přidat textovou kolonku¶
<?php
$GO_FIELDS['mytextfield']['name'] = 'My text field';
$GO_FIELDS['mytextfield']['input_type'] = 'text';
Změněno ve verzi 2.1.2: Přidáním následujícího argumentu je možné zásuvnému modulu sdělit, že tato kolonka může být vytvořena automaticky při použití šablony:
<?php
$GO_FIELDS['mytextfield']['autoname'] = true;
Přidat kolonku Ano/Ne¶
<?php
$GO_FIELDS['mybooleanfield']['name'] = 'My boolean field';
$GO_FIELDS['mybooleanfield']['input_type'] = 'bool';
Přidat datumovou kolonku¶
<?php
$GO_FIELDS['creationdate']['name'] = $LANG['genericobject']['fields'][30];
$GO_FIELDS['creationdate']['input_type'] = 'date';
Přidat kolonku datum a čas¶
<?php
$GO_FIELDS['creationdate']['name'] = $LANG['genericobject']['fields'][30];
$GO_FIELDS['creationdate']['input_type'] = 'datetime';
Poznámka
Pokud nechcete aby byla kolonka upravena hromadnými akcemi, přidejte do její definice následující řádek:
<?php
$GO_FIELDS['myfield']['massiveaction'] = false;
Přidat globální kolonky¶
Pro zpřístupnění vašich kolonek všem položkám všech typů:
Vytvořte soubor nazvaný
<GLPI_ROOT>/files/_plugins/genericobject/fields/field.constant.php
Umístěte své definice do tohoto souboru.
Nastavit oprávnění¶
Je možné určit přístupová práva pro každý z typů objektu, pro každý profil. Dostupné možnosti jsou:
právo na typu: žádný přístup, čtení, zápis.
právo přiřadit tento typ objektu k požadavku: ano, ne.
Pro přiřazení oprávnění je možné buď:
Použijte panel Práva ve formuláři typ položky.
Přejděte do Správa > Profily a spravujte práva pro každý z profilů.
Použít novou kolonku¶
Aktivujte nový typ, nyní je připraven k použití.
Nový typ je uživatelů k dispozici v nabídce Zásuvné moduly > Správa objektů.
Použít velikost generického objektu jako CMMS¶
Účel této dokumentace¶
Zobrazuje se úplné použití Obecného objektu jako CMMS (počítačem podporovaná správa údržby) v biomedicínském prostředí.
Na konci tohoto příkladu využití budete mít:
vyhrazenou entitu Biomed (pod Kořenová entita)
obsahující Biomedicínské objekty (v nabídce Majetky)
s vestavěnými a uživatelsky určenými kolonkami
spravuje uživatele s profile Spravce_biomed
Kroky¶
Následující kroky předpokládají, že máte práva hlavního správce (Super-Admin):
Instaluje se Obecný objekt on GLPI (ověřeno s genericobject >= 0.85-1.0 a GLPI >= 0.90)
Nastavení obecného objektu
Nastavení GLPI
Začít používat obecný objekt a GLPI
Instalace obecného objektu do GLPI¶
Viz sekce Nainstalovat zásuvný modul.
Nastavení obecného objektu¶
Vytvořte typ objektu¶
Viz sekce Vytvořit nový typ objektu a použít biomedicínské jako vnitřní identifikátor. Štítek bude automaticky nastaven na Biomedicínské (S velkým písmenem B).
Po odhlášení/přihlášení, v Majetku uvidíte nabídku Biomedicínské.
Určit nové kolonky biomedicínského¶
Tyto kolonky budou použitelné pouze v biomedicínských objektech:
Vytvořte nový soubor nazvaný:
<GLPI_ROOT>/files/_plugins/genericobject/fields/biomedical.constant.php
Přidejte následující obsah:
<?php
global $GO_FIELDS, $LANG;
// CODE CNEH
$GO_FIELDS['plugin_genericobject_cnehcodes_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][1];
$GO_FIELDS['plugin_genericobject_cnehcodes_id']['field'] = 'cnehcode';
$GO_FIELDS['plugin_genericobject_cnehcodes_id']['input_type'] = 'dropdown';
// REFORME (yes or no)
$GO_FIELDS['reformed']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][2];
$GO_FIELDS['reformed']['input_type'] = 'bool';
// CLASSE CE (3 choix possibles 1,2a ou 2b)
$GO_FIELDS['plugin_genericobject_classeces_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][3];
$GO_FIELDS['plugin_genericobject_classeces_id']['field'] = 'classce';
$GO_FIELDS['plugin_genericobject_classeces_id']['input_type'] = 'dropdown';
// UF (Unité Fonctionnelle)
$GO_FIELDS['plugin_genericobject_ufs_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][4];
$GO_FIELDS['plugin_genericobject_ufs_id']['field'] = 'uf';
$GO_FIELDS['plugin_genericobject_ufs_id']['input_type'] = 'dropdown';
// PRESTATAIRE BIOMED
$GO_FIELDS['plugin_genericobject_prestataires_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][5];
$GO_FIELDS['plugin_genericobject_prestataires_id']['field'] = 'prestataire biomed';
$GO_FIELDS['plugin_genericobject_prestataires_id']['input_type'] = 'dropdown';
// TYPE D'EQUIPEMENT BIOMED
$GO_FIELDS['plugin_genericobject_typedequipementbiomeds_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][6];
$GO_FIELDS['plugin_genericobject_typedequipementbiomeds_id']['field'] = "type d 'equipement biomed";
$GO_FIELDS['plugin_genericobject_typedequipementbiomeds_id']['input_type'] = 'dropdown';
// Criticite
$GO_FIELDS['plugin_genericobject_criticites_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][7];
$GO_FIELDS['plugin_genericobject_criticites_id']['field'] = 'criticite';
$GO_FIELDS['plugin_genericobject_criticites_id']['input_type'] = 'dropdown';
// Numéro marquage CE
$GO_FIELDS['plugin_genericobject_marquageces_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][8];
$GO_FIELDS['plugin_genericobject_marquageces_id']['field'] = 'marquagece';
$GO_FIELDS['plugin_genericobject_marquageces_id']['input_type'] = 'dropdown';
// Classe électrique
$GO_FIELDS['plugin_genericobject_classeelecs_id']['name'] = $LANG['genericobject']['PluginGenericobjectBiomedical'][9];
$GO_FIELDS['plugin_genericobject_classeelecs_id']['field'] = 'classeelec';
$GO_FIELDS['plugin_genericobject_classeelecs_id']['input_type'] = 'dropdown';
?>
Varování
Uzavírající s_id
je v [plugin_genericobject_field*s_id*]
povinné protože GLPI framework vyžaduje, aby kolonky cizích klíčů končily na s_id
. V databázi, glpi_plugin_genericobject_fields
je název tabulky a id
, jeho cizí klíč. Viz Vývojářská dokumentace ke GLPI.
Definovat štítky kolonek¶
Viz sekce Upravit označení.
Upravte svůj soubor s místními a jazykovými nastaveními, například:
<GLPI_ROOT>/files/_plugins/genericobject/locales/biomedical/biomedical.cs_CZ.php
Na konec souboru přidejte následující obsah:
<?php
// Fields
$LANG['genericobject']['PluginGenericobjectBiomedical'][1]="Code CNEH";
$LANG['genericobject']['PluginGenericobjectBiomedical'][2]="Réformé";
$LANG['genericobject']['PluginGenericobjectBiomedical'][3]="Classe CE";
$LANG['genericobject']['PluginGenericobjectBiomedical'][4]="UF";
$LANG['genericobject']['PluginGenericobjectBiomedical'][5]="Prestataire Biomed";
$LANG['genericobject']['PluginGenericobjectBiomedical'][6]="Type d'équipement biomed";
$LANG['genericobject']['PluginGenericobjectBiomedical'][7]="Criticité";
$LANG['genericobject']['PluginGenericobjectBiomedical'][8]="Marquage CE";
$LANG['genericobject']['PluginGenericobjectBiomedical'][9]="Classe électrique";
Určit chování¶
V nabídce Zásuvné moduly > Správa objektů, na panelu Hlavní, vyberte:
Položky v koši
Historické
Finanční a správní informace
Dokumenty
Globální hledání
Asistence
Šablony
Smlouvy
Globální hledání
Toto přidá předpřipravené kolonky do vašeho typu objektu.
Přidat kolonky do svého typu objektu¶
V nabídce Zásuvné moduly > Správa objektů, na panelu Kolonky, je možné přidat kolonky k typu objektu Biomedicínské:
předpřipravené kolonky (kolonky vestavěné v GLPI)
nové kolonky (určené v sekci Určit nové kolonky biomedicínského;)
Nastavení GLPI¶
Určete profil Spravce_biomedicinskeho¶
Klonovat profil Správce
V profilu Spravce_biomedicinskeho nastavte následující práva:
Správa > Profilů > Spravce_biomedicínského > panel Majetky > Odznačit vše
Správa > Profilů > Spravce_biomedicínského > panel Asistence > Přiřazení > Položky přiřaditelné k požadavku > Biomedical
Správa > Profilů > Spravce_biomedicínského > Panel správa > Vybrat vše
Správa > Profily > Admin_biomed > Panel správa objektů > Biomedicínsko > Vybrat vše
Poznámka
S těmito nastaveními, uživatelé z Admin_biomed vidí v nabídce Majetky pouze Biomedicínské.
Začít používat obecný objekt a GLPI¶
Jako Admin_biomed uživatel, můžete vytvořit svůj první objekt v Majetky > Biomedicínské.
Pro získání času, zadejte hodnoty v Nastavení > Rozbalovací nabídky > Správa objektů pro nové kolonky