user:skripty:autor:gip
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
user:skripty:autor:gip [2013/11/10 12:21] – [Metasoubor plugin.meta.ini] gord | user:skripty:autor:gip [2020/12/27 11:51] (current) – mikrom | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Tvorba instalačních balíčků *.gip ===== | ===== Tvorba instalačních balíčků *.gip ===== | ||
+ | |||
==== Co je to GIP? ==== | ==== Co je to GIP? ==== | ||
GIP je balíček, který obsahuje plugin pro program GeoGet. Pomocí balíčků je řešena automatizovaná instalace pluginů a online kontrola dostupnosti případných novějších verzí pluginu. Je to standardní soubor ** *.zip ** se změněnou příponou a definovaným obsahem. GeoGet podle tohoto obsahu: | GIP je balíček, který obsahuje plugin pro program GeoGet. Pomocí balíčků je řešena automatizovaná instalace pluginů a online kontrola dostupnosti případných novějších verzí pluginu. Je to standardní soubor ** *.zip ** se změněnou příponou a definovaným obsahem. GeoGet podle tohoto obsahu: | ||
Line 8: | Line 9: | ||
* pro správně nainstalovaný plugin umí určit jeho verzi a vyhledat verzi novější, pokud existuje | * pro správně nainstalovaný plugin umí určit jeho verzi a vyhledat verzi novější, pokud existuje | ||
- | <box round 95% #DEE7EC> | + | <WRAP center |
- | :!: Je velmi důležité zvolit správně jméno pluginu (a tedy i instalačního souboru). Jednak by mělo být výstižné a také by mělo být v rámci všech pluginů jedinečné a pokud možno nezaměnitelné s jiným pluginem. Odstrašujícím příkladem mohou být [[user: | + | Je velmi důležité zvolit správně jméno pluginu (a tedy i instalačního souboru). Jednak by mělo být výstižné a také by mělo být v rámci všech pluginů jedinečné a pokud možno nezaměnitelné s jiným pluginem. Odstrašujícím příkladem mohou být [[user: |
- | </box> | + | </WRAP> |
- | <box round 100% #FFE7FF> | + | <WRAP center |
- | :!: Existuje plugin [[user: | + | Existuje plugin [[user: |
- | </box> | + | </WRAP> |
==== Struktura GIPu ==== | ==== Struktura GIPu ==== | ||
- | V zásadě lze říci, že **gip** obsahuje adresář (nebo adresáře) a v něm všechny soubory, které mají být instalovány. Adresář a všechny soubory v něm obsažené GeoGet při instalaci zkopíruje do **DATADIR\script**. Kromě všech souborů, které potřebuje plugin ke své práci, musí být v **gipu** ještě [[user: | + | V zásadě lze říci, že **GIP** obsahuje adresář (nebo adresáře) a v něm všechny soubory, které mají být instalovány. Adresář a všechny soubory v něm obsažené GeoGet při instalaci zkopíruje do **DATADIR\script**. Kromě všech souborů, které potřebuje plugin ke své práci, musí být v **GIPu** ještě [[user: |
< | < | ||
Line 31: | Line 32: | ||
</ | </ | ||
- | :!: Obecně není nutné, aby plugin byl instalován v adresáři stejného jména, ale je to doporučené. Výjimkou z tohoto pravidla jsou knihovny instalované do adresáře **lib** a různé speciální pluginy jako například šablony pro [[user: | + | <WRAP center round info 80%> |
+ | Obecně není nutné, aby plugin byl instalován v adresáři stejného jména, ale je to doporučené. Výjimkou z tohoto pravidla jsou knihovny instalované do adresáře **lib** a různé speciální pluginy jako například šablony pro [[user: | ||
+ | </ | ||
- | :!: Uživatelské nastavení pluginů je uloženo v souboru ***.config.pas**. Je však velmi nevhodné tento soubor dávat do instalačního balíčku, protože při aktualizaci balíčku bude uživatelovo nastavení přepsáno. Místo něj instalovaný plugin obsahuje soubor ***.default.pas** s implicitním nastavením a GeoGet z něj při prvním spuštění pluginu soubor **config.pas** udělá sám. Rovněž se, při použití verze **config.pas** ze starší verze pluginu, postará o doplnění nových konfiguračních proměnných nebo ignorování proměnných starých a již neplatných. | + | <WRAP center round important 80%> |
+ | Uživatelské nastavení pluginů je uloženo v souboru ***.config.pas**. Je však velmi nevhodné tento soubor dávat do instalačního balíčku, protože při aktualizaci balíčku bude uživatelovo nastavení přepsáno. Místo něj instalovaný plugin obsahuje soubor ***.default.pas** s implicitním nastavením a GeoGet z něj při prvním spuštění pluginu soubor **config.pas** udělá sám. Rovněž se, při použití verze **config.pas** ze starší verze pluginu, postará o doplnění nových konfiguračních proměnných nebo ignorování proměnných starých a již neplatných. | ||
+ | </ | ||
==== Metasoubor plugin.meta.ini ==== | ==== Metasoubor plugin.meta.ini ==== | ||
- | Úkolem | + | Úkolem |
<code ini PLG_JM.meta.ini> | <code ini PLG_JM.meta.ini> | ||
Line 53: | Line 58: | ||
; Webová stránka s pluginem. Pokud položku neuvedete, | ; Webová stránka s pluginem. Pokud položku neuvedete, | ||
; je odkaz generován automaticky na web GeoGetu (doporučeno!). | ; je odkaz generován automaticky na web GeoGetu (doporučeno!). | ||
- | web=http://geoget.ararat.cz/ | + | web=http://www.geoget.cz/ |
; Příkaz pro zjištěni aktuální verze pluginu. Pokud položku neuvedete, | ; Příkaz pro zjištěni aktuální verze pluginu. Pokud položku neuvedete, | ||
- | ; je odkaz generován automaticky na web GeoGetu (doporučeno!). | + | ; je odkaz generován automaticky na web GeoGetu (doporučeno!). |
- | webversion=http:// | + | ; Pokud se jedná například GIP s dávkou pro Combine, můžete použít pro kontrolu soubor s příponou *.ver, |
+ | ; ve kterém bude zapsáno číslo aktuální verze pluginu. | ||
+ | webversion=http:// | ||
; Příkaz pro staženi instalačního balíčku s nejčerstvější dostupnou verzi. | ; Příkaz pro staženi instalačního balíčku s nejčerstvější dostupnou verzi. | ||
; Pokud položku neuvedete, je odkaz generován automaticky na web GeoGetu (doporučeno!). | ; Pokud položku neuvedete, je odkaz generován automaticky na web GeoGetu (doporučeno!). | ||
- | webupdate=http:// | + | webupdate=http:// |
; Výchozí skupina (kategorie v menu Pluginy), do které budou spustitelné skripty obsažené v balíčku zařazeny. | ; Výchozí skupina (kategorie v menu Pluginy), do které budou spustitelné skripty obsažené v balíčku zařazeny. | ||
Line 69: | Line 76: | ||
DefaultPluginGroup_cs=Nástroje | DefaultPluginGroup_cs=Nástroje | ||
- | ; od verze 2.8 je možné | + | ; Od verze 2.8 je možné správci pluginů |
+ | ; Správce pak zobrazí tento plugin mimo abecední pořadí hned u toho rodičovského. | ||
+ | ; Uvádí se pouze jméno pluginu, bez cesty a přípon ggp.pas, gge.pas, ... | ||
Parent=Jméno_nadřízeného_pluginu | Parent=Jméno_nadřízeného_pluginu | ||
[install] | [install] | ||
- | ; Instalační skript. Může obsahovat funkce InstallWork : String a | + | ; Instalační skript. Může obsahovat funkce InstallWork: |
- | ; UninstallWork : String. | + | ; UninstallWork: |
+ | ; tyto funkce jsou volány při instalaci nebo odinstalaci pluginu | ||
+ | ; (pokud je zde instalační skript uveden) | ||
script=PLG_JM\PLG_JM.ggi.pas | script=PLG_JM\PLG_JM.ggi.pas | ||
Line 81: | Line 92: | ||
; která je dostupná ke stažení na dané adrese. Pokud položku neuvedete, | ; která je dostupná ke stažení na dané adrese. Pokud položku neuvedete, | ||
; je odkaz generován automaticky na web GeoGetu (doporučeno!). | ; je odkaz generován automaticky na web GeoGetu (doporučeno!). | ||
- | VarSubstLib|1.2=http://geoget.ararat.cz/ | + | VarSubstLib|1.2=https://www.geoget.cz/ |
; závislost na knihovně (bez definované verze) | ; závislost na knihovně (bez definované verze) | ||
- | StringLib=http://geoget.ararat.cz/ | + | StringLib=https://www.geoget.cz/ |
; závislost na knihovně (vyhledává se automaticky na webu GeoGetu) | ; závislost na knihovně (vyhledává se automaticky na webu GeoGetu) | ||
Line 90: | Line 101: | ||
[uninstall] | [uninstall] | ||
- | ; Při odinstalování smazat | + | ; Při odinstalování smazat |
- | ; Pro dodržení formátu | + | ; Pro dodržení formátu |
PLG_JM= | PLG_JM= | ||
Line 97: | Line 108: | ||
..\offline\PLG_JM.*= | ..\offline\PLG_JM.*= | ||
..\offline\PLG_JM\= | ..\offline\PLG_JM\= | ||
+ | |||
</ | </ | ||
- | ==== Instalační skript | + | <WRAP round important> |
- | Ve složitějších případech může instalace kromě kopírování souborů vyžadovat ještě další činnosti. V tom případě musí autor vytvořit instalační skript typu [[user: | + | Pokud je v sekci [install] uveden instalační skript, při instalaci je z něj spouštěna funkce **InstallWork** (existuje-li) a při odinstalování spouští GeoGet funkci (existuje-li). |
+ | </ | ||
+ | |||
+ | ==== Instalace a odinstalace pluginu | ||
+ | |||
+ | **Instalace** | ||
+ | Většinou k instalaci pluginu stačí standardní " | ||
Výsledek instalačního skriptu (funkce InstallWork) je string. Buď je prázdný (=OK), nebo bude text přidán k chybovým hlášením. | Výsledek instalačního skriptu (funkce InstallWork) je string. Buď je prázdný (=OK), nebo bude text přidán k chybovým hlášením. | ||
+ | |||
+ | **Odinstalování** | ||
+ | Stejně jako při instalaci, stačí většinou pro odinstalování uvést v sekci [uninstall] soubory a adresáře, které je třeba vymazat. (Soubor '' | ||
+ | |||
+ | Pokud je v '' | ||
==== Popis průběhu instalace či aktualizace ==== | ==== Popis průběhu instalace či aktualizace ==== | ||
Line 116: | Line 139: | ||
- pokud bylo vše OK, vypíše uživateli zprávu spolu s upozorněním, | - pokud bylo vše OK, vypíše uživateli zprávu spolu s upozorněním, | ||
- | Když se instaluje plugin, který | + | Když se instaluje plugin, který |
Pokud dojde k jakémukoliv problému při instalaci balíčku, při instalaci závislých balíčků atd., všechny chybové hlášky se sbírají a na konci | Pokud dojde k jakémukoliv problému při instalaci balíčku, při instalaci závislých balíčků atd., všechny chybové hlášky se sbírají a na konci | ||
instalace se zobrazí. | instalace se zobrazí. |
user/skripty/autor/gip.1384082505.txt.gz · Last modified: 2013/11/10 00:00 (external edit)