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é.
Určit entitu Biomed a ověřovací pravidla¶
- Vytvořte entitu Biomedicínské pod Kořenová entita v Správa > Entity
- Nastavit pravidla ověřování pro přiřazení Admin_biomed profilu k entity Biomedicínské uživatelů.
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