Složky pro upload souborů z administračního rozhraní

Veškeré obrázky a soubory nahrávané prostřednictvím administračního rozhraní jsou ve výchozím nastavení ukládány do složky upItems v rootu webu. Je tedy nutné, aby uživatelský účet, pod kterým je JellyPot na serveru spuštěn, měl právo zápisu do této složky, včetně všech jejích podsložek. upItems obsahuje tyto podsložky:

  • data – (pouze ve variantě JellyPot XML) – XML soubory, do kterých je ukládán veškerý obsah zadávaný přes administrační rozhraní, uživatelské účty atd. – jinými slovy to, co se v SQL verzi ukládá do databáze
  • files – všechny soubory
  • imgs – všechny obrázky
  • temp – slouží k dočasnému uložení právě zpracovávaných souborů (upload nebo přeuložení obrázků do zvoleného rozlišení)
  • trash – smazané soubory

Nahrané soubory jsou automaticky přejmenovány tak, aby neobsahovaly diakritiku, mezery nebo jiné neobvyklé znaky. Toto chování lze změnit pomocí atributu sanitizeNames elementu UploadsRuntime.config.

Počet souborů v jedné složce

Pokud by počet souborů v libovolné složce přesáhl 1000, JellyPot automaticky vytvoří podsložku s novým pořadovým číslem (001, 002, 003, …) a soubory začne ukládat do ní. Na NTFS sice není žádný praktický limit, kolik souborů může v jedné složce být – ale pokud jich je hodně (v případě systému JellyPot jsme za hodně prohlásili 1000), je zobrazení obsahu složky ve Windows Explorer nebo v jiném souborovém manažeru pomalé. Rychlost zobrazení obsahu složky samozřejmě nemá žádný vliv na funkci systému JellyPot, opatření je pro případ prohlížení složek přímo na serveru nebo přes FTP.

Kontrola souborů

V administračním rozhraní je v Media Admin Tools / Kontrola a přeuložení obrázků a souborů k dispozici nástroj pro kontrolu souborů. Ten umožňuje zjistit:

  • zda existují všechny soubory odkazované v databázi (nebo XML)
  • zda obrázky mají vygenerována všechna rozlišení definovaná v Site.config
  • zda všechny soubory mají vyhovující jména (viz atribut sanitizeNames elementu UploadsRuntime.config)

O všech nalezených chybách je zobrazen podrobný report. Zároveň je možné nechat JellyPot opravit případně chyby ve jménech souborů a vygenerovat chybějící rozlišení obrázků (za předpokladu, že chybějící rozlišení je menší než největší uložené).

Mazání souborů

Při odstranění libovolného souboru v administraci, popřípadě smazání prvku kolekce, který daný soubor obsahoval, je pouze zrušen odkaz na soubor v databázi. Soubor je však fyzicky na disku ponechán na svém místě. Pokud bychom tedy naimportovali obsah databáze před smazáním souboru, vše by fungovalo správně, linky odkazující na smazaný soubor by byly funkční.

Mazání souborů totiž bývá jen těžko vratný proces a proto k tomu JellyPot přistupuje opatrně. To ale zároveň znamená, že ve složkách pro nahrané soubory a obrázky se postupně hromadí neužitečná data. Pro úplné smazání souboru je třeba provést tyto kroky:

  • Odstranit soubor (resp. obrázek) v administraci – tím se odstraní odkaz z databáze.
  • Fyzicky přesunout všechny odstraněné soubory do složky trash. To se provede pomocí nástroje Media Admin Tools / Smazání obrázků a souborů v administraci – JellyPot projde všechny soubory ve složkách pro upload a ty, na které nenajde žádný odkaz v databázi, přesune do složky trash. Toto provede bez ohledu na to, odkud se soubory původně vzaly. Pokud tedy byly do složky např. nahrány přes FTP, přesune je do trash také.
  • Smazat obsah složky trash, obvykle ručně přes FTP. (Tento krok odpadá při nastavení atributu trashMethod="delete" elementu UploadsRuntime.config – v takovém případě se soubory v kroku 2 rovnou mažou.)

Změna výchozí složky pro ukládání souborů

Výchozí složky pro ukládání souborů je možné změnit jedním z těchto způsobů:

Při změně výchozích složek je dobré si dát pozor na následující:

  • Není vhodné používat pojmenování složek 001, 002, … 999, neboť toho využívá JellyPot a mohlo by dojít ke kolizi.
  • Změna v definici PathsSecurePathsRuntime.config se projeví u již nahraných souborů. Soubory nahrané před změnou je tedy potřeba ručně přesunout na nové umístění.
  • Po jakékoliv změně umístění souborů doporučujeme provést kontrolu, viz odstavec Kontrola dostupnosti souborů výše v textu.

Připomínky a postřehy

Máte-li nějakou připomínku, dobrý nápad nebo jste našli v dokumentaci chybu, rádi od vás uslyšíme.