GeoGet

Complete geocaching solutions

User Tools

Site Tools


user:skripty:autor:downloadrewrite

DownloadRewrite

DownloadRewrite je plugin pro Dokuwiki, který byl vyvinut speciálně pro potřeby webových stránek programu GeoGet. Jeho posláním je umožnit jednoduše spravovat knihovnu doplňků, které jsou k programu GeoGet dostupné.

Představuje nástroj, který umožňuje jednoduše na pevně definovaných URL adresách distribuovat dvě důležité informace:

  1. aktuální verzi instalačního balíčku doplňku,
  2. aktuální číslo verze instalačního balíčku doplňku.

Tyto informace je pak možno z GeoGetu automatizovaně zpracovávat a umožnit uživatelům jednoduchou správu nainstalovaných doplňků - především ale pravidelnou automatickou kontrolu nejnovější verze doplňku a případnou aktualizaci.

Autor

Autorem je happz, který se k tvorbě přihlásil na inzerát uvedený na stránkách Geocaching.cz.

Autorem nápadu a specifikace požadavků je medwyn_cz.

Motivace vzniku

Vzhledem k narůstající velikosti uživatelské základny programu Geoget a k tomu přímo úměrně rostoucímu počtu opakujících se problémů při instalaci jednotlivých doplňků bylo třeba učinit rázný krok ke zpřehlednění a zjednodušení práce s programem. K vyřešení tohoto problému byl zapotřebí i aktualizační a distribuční server, jehož roli by měl v ideálním případě převzít stávající systém.

Předpoklady

Každý doplněk k programu GeoGet má svoji vlastní stránku ve jmenném prostoru skript. Na této stránce se nachází popis doplňku, návod k instalaci, historie verzí apod. Ke stránce jsou jako příloha ukládány soubory, především pak instalační balíčky doplňku.

Jak to funguje

Pro zajištění distribuce a aktualizace jednotlivých doplňků je třeba nějak umožnit GeoGetu zjistit, jaká je momentálně nejnovější verze doplňku a kde je k dispozici ke stažení. Správu dostupných verzí by měl mít plně v režii autor doplňku. A o tyto funkce se stará Dokuwiki plugin DownloadRewrite.

Pomocí speciální syntaktické značky je kamkoliv do wiki stránky vložen odkaz, který mezi přiloženými instalačními balíčky popisuje právě ten nejnovější. Po vložení odkazu začnou automaticky fungovat následující URL adresy:

  • http://webova.adresa/stranky?download - po vstupu na adresu dojde k přesměrování na aktuální instlační balíček a jeho stažení,
  • http://webova.adresa/stranky?current_version - po vstupu na adresu je vypsáno číslo verze aktuálního instalačního balíčku.

Syntaxe

Značka DOWNLOAD

Do stránky se skriptem je třeba vložit značku DOWNLOAD. Možná syntaxe je následující:

~~DOWNLOAD <popis jména souboru> <parametry>~~

<popis jména souboru> - popisuje jméno souboru, který má být stažen. Popis může být buď

  1. dynamický název - např. jmenopluginu-*.gip. Hvězdička za pomlčkou značí místo, kde bude v názvu souboru uvedeno číslo verze. V případě použití dynamického názvu je třeba parametrem zvolit způsob, jakým bude nejnovější verze zjišťována:
    • highest - jako aktuální bude označen soubor, který obsahuje nejvyšší číslo verze. Hodnoty jsou porovnávány zleva doprava dle velikosti čísel mezi tečkami. V číslech verzí je možno používat i písmena, ale není to doporučeno.
      • ~~DOWNLOAD jmenopluginu-*.gip highest~~

:!: Zobrazit ukázkovou řadu verzí pro lepší pochopení algoritmu řazení

Skrýt

0.3 < 0.3.1 < 0.3.2 < 0.3.2.1 < 0.3.2.2 < 0.3.2.3 < 0.3.3 < 0.3.3.2 < 0.3.3.5 < 0.3.3.5b < 0.3.3.5z < 0.3.4 < 0.3.4.1 < 0.3.4a.2 < 0.3.4z.1 < 0.3.4z.2 < 0.3.4z.2a < 0.3a < 0.3b < 0.4 < 0.31 < 0.31.2 < 0.31b.2 < 0.31b.21 < 0.31b.21b < 0.31b.21d < 0.32

  • newest - jako aktuální bude označen soubor, jehož datum změny je nejnovější.
    • ~~DOWNLOAD jmenopluginu-*.gip newest~~
  1. statický název - všechna jména souboru, která začínají na http://, https://, ftp://, nebo neobsahují zástupnou hvězdičku pro určení čísla verze z názvu. Jako statický je vyhodnocen název také vždy, když není v parametru uvedeno highest ani newest. Pro správnou funkčnost funkce na zjištění aktuální verze je třeba parametrem definovat číslo verze.
  • ~~DOWNLOAD jmenopluginu-1.0.2.gip 1.0.2~~
  • ~~DOWNLOAD http://uplne.jina/adresa/soubor.gip 1.0.2~~

<parametry>

  • hide - do vygenerované wiki stránky se značka DOWNLOAD vypíše jako odkaz ke stažení souboru. Pokud nechcete, aby ve výsledné stránce tento odkaz byl, můžete jeho zobrazení potlačit pomocí parametru hide.
    • ~~DOWNLOAD http://uplne.jina/adresa/soubor.gip 1.0.2 hide~~
  • debug_crawl - v případě problému se získáváním odkazu na správný soubor je možno použít tento parametr, který zařídí vypsání prohledávaných cest adresářové struktury do hlavičky stránky. Při použití parametru nefunguje funkce ?current_version, je tedy třeba jej pro ostrý provoz nepoužívat.
  • highest, newest, číslo - jejich význam byl vysvětlen v předcházejícím odstavci.

Poznámky

  1. Pokud se ve stránce vyskytuje značka DOWNLOAD vícekrát, směrodatný je pouze její první výskyt. Místo všech ostatních je vypsáno chybové hlášení.
  2. V případě, že není ve stránce definována značka DOWNLOAD ani jednou, chová se systém následujícím způsobem:
    • ?download - vrátí patřičnou wiki stránku místo souboru ke stažení
    • ?current_version - vrátí hodnotu -1. -1 je vráceno rovněž v případě, kdy je definován statický název souboru a není uveden parametr s číslem verze
user/skripty/autor/downloadrewrite.txt · Last modified: 2011/10/08 00:00 (external edit)