GeoGet

Complete geocaching solutions

User Tools

Site Tools


user:skripty:autor:downloadrewrite

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:skripty:autor:downloadrewrite [2010/09/07 21:01] medwyn_czuser:skripty:autor:downloadrewrite [2024/07/14 10:56] (current) mikrom
Line 1: Line 1:
 ===== DownloadRewrite ===== ===== DownloadRewrite =====
-DownloadRewrite je plugin pro [[http://www.dokuwiki.org|Dokuwiki]], který byl vyvinut speciálně pro potřeby webových stránek programu [[:start|GeoGet]]. Jeho posláním je umožnit jednoduše spravovat knihovnu [[user:skript|doplňků]], které jsou k programu GeoGet dostupné. +DownloadRewrite je plugin pro [[http://www.dokuwiki.org|Dokuwiki]], který byl vyvinut speciálně pro potřeby webových stránek programu [[:start|GeoGet]]. Jeho posláním je umožnit jednoduše spravovat knihovnu [[user:skript|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: Představuje nástroj, který umožňuje jednoduše na **pevně definovaných URL** adresách distribuovat dvě důležité informace:
Line 10: Line 10:
 ==== Autor ==== ==== Autor ====
 Autorem je [[http://www.geocaching.com/profile/?u=happz|happz]], který se k tvorbě přihlásil na [[http://www.geocaching.cz/forum/viewthread.php?forum_id=20&thread_id=15348|inzerát uvedený na stránkách Geocaching.cz]]. Autorem je [[http://www.geocaching.com/profile/?u=happz|happz]], který se k tvorbě přihlásil na [[http://www.geocaching.cz/forum/viewthread.php?forum_id=20&thread_id=15348|inzerát uvedený na stránkách Geocaching.cz]].
 +
 +Autorem nápadu a specifikace požadavků je [[http://www.geocaching.com/profile/?u=medwyn_cz|medwyn_cz]].
  
 ==== Motivace vzniku ==== ==== 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 [[:user:skript|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.+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 [[:user:skript|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 ==== ==== Předpoklady ====
-Každý [[:user:skript|doplněk]] k programu GeoGet má svoji vlastní stránku ve jmenném prostoru [[user:skript|skript]]. Na této stránce se nachází popis doplňku, návod k instalaci, historie verzí apod.  +Každý [[:user:skript|doplněk]] k programu GeoGet má svoji vlastní stránku ve jmenném prostoru [[user:skript|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 **[[gip|instalační balíčky]]** doplňku. +Ke stránce jsou jako příloha ukládány soubory, především pak **[[gip|instalační balíčky]]** doplňku.
  
 ==== Jak to funguje ==== ==== 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. +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: 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:
  
-   * <nowiki>http://webova.adresa/stranky</nowiki>**?download** - po vstupu na adresu dojde k přesměrování na aktuální instlační balíček a jeho stažení, +   * <nowiki>http://webova.adresa/stranky</nowiki>**?download** - po vstupu na adresu dojde k přesměrování na aktuální instalační balíček a jeho stažení, 
-   * <nowiki>http://webova.adresa/stranky</nowiki>**?current_version** - po vstupu na adresu je vypsáno číslo verze aktuálního instalačního balíčku. +   * <nowiki>http://webova.adresa/stranky</nowiki>**?current_version** - po vstupu na adresu je vypsáno číslo verze aktuálního instalačního balíčku.
  
 ==== Syntaxe ==== ==== Syntaxe ====
Line 31: Line 33:
 Do stránky se skriptem je třeba vložit značku **DOWNLOAD**. Možná syntaxe je následující: Do stránky se skriptem je třeba vložit značku **DOWNLOAD**. Možná syntaxe je následující:
 <code>~~DOWNLOAD <popis jména souboru> <parametry>~~</code> <code>~~DOWNLOAD <popis jména souboru> <parametry>~~</code>
-   <popis jména souboru> - popisuje jméno souboru, který má být stažen. Popis může být buď + 
-     * **dynamický název** - např. **jmenopluginu-*.gip**. Hvěždič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: +<popis jména souboru> - popisuje jméno souboru, který má být stažen. Popis může být buď 
-       * **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, tedy //1.0.1 < 1.0.2//, //1.0.< 1.0.1a//, //1.0.1a 1.0.2//, //1.11.1 > 1.1.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: 
-         <code>~~DOWNLOAD jmenopluginu-*.gip highest~~</code+       * **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ísmenaale není to doporučeno. 
 +         * <code>~~DOWNLOAD jmenopluginu-*.gip highest~~</code> 
 +<hidden onHidden=":!: **Zobrazit ukázkovou řadu verzí pro lepší pochopení algoritmu řazení**" onVisible="Skrýt"> 
 +0.3 < 0.3.1 < 0.3.2 < 0.3.2.< 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.< 0.3.4a.2 < 0.3.4z.< 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 
 +</hidden>
        * **newest** - jako aktuální bude označen soubor, jehož datum změny je nejnovější.        * **newest** - jako aktuální bude označen soubor, jehož datum změny je nejnovější.
-         * <code>~~DOWNLOAD jmenopluginu-*.gip newest~~</code>   +         * <code>~~DOWNLOAD jmenopluginu-*.gip newest~~</code> 
-     * **statický název** - všechna jména souboru, která začínají na //<nowiki>http://</nowiki>//, //<nowiki>https://</nowiki>//, //<nowiki>ftp://</nowiki>//, 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. +   - **statický název** - všechna jména souboru, která začínají na //<nowiki>http://</nowiki>//, //<nowiki>https://</nowiki>//, //<nowiki>ftp://</nowiki>//, 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. 
-       * <code>~~DOWNLOAD jmenopluginu-1.0.2b.gip 1.0.2b~~</code>    +       * <code>~~DOWNLOAD jmenopluginu-1.0.2.gip 1.0.2~~</code> 
-       * <code>~~DOWNLOAD http://uplne.jina/adresa/soubor.gip 1.0.2b~~</code>      +       * <code>~~DOWNLOAD http://uplne.jina/adresa/soubor.gip 1.0.2~~</code> 
-   * <parametry> + 
-     * **hide** - do vygenerované wiki stránky se značka **DOWNLOAD** vypíse 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**. +<parametry> 
-       * <code>~~DOWNLOAD http://uplne.jina/adresa/soubor.gip 1.0.2b hide~~</code> +     * **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**. 
 +       * <code>~~DOWNLOAD http://uplne.jina/adresa/soubor.gip 1.0.hide~~</code>
      * **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**.      * **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.      * **highest**, **newest**, **číslo** - jejich význam byl vysvětlen v předcházejícím odstavci.
  
-=== Poznámky ===  +=== Poznámky === 
-   * 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í. +  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í. 
- +  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:
-   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í     * **?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     * **?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
-{{tag>distrib skript}} 
user/skripty/autor/downloadrewrite.1283886118.txt.gz · Last modified: 2010/09/07 00:00 (external edit)