Ukládání dokumentů a e-mailů na disk místo do serverové databáze

Standardně se veškeré dokumenty a emaily ukládají spolu s ostatními daty do serverové databáze eWay-CRM. V případě, že využíváte zdarma dostupnou Express edici SQL Serveru, je maximální velikost databáze omezena (4 - 10GB v závislosti na verzi SQL Serveru). Pro středně velkou firmu a běžný způsob práce se systémem (práce především s textovými soubory, pdf atd.) je i kapacita databáze u SQL Serveru Express dostačující na mnoho let. Ovšem, pokud jste firma, která často pracuje s velkoobjemovými dokumenty (scany projektových návrhů, nekomprimované obrazové formáty, e-maily s velkými přílohami), může být životnost databáze značně omezena, protože velké soubory brzy vyčerpají limitní velikost databáze.

Aby se předešlo tomuto rychlému zaplnění databáze dokumenty, nabízí systém nastavení, díky němuž je možné tato binární data (dokumenty, obrázky, emaily) ukládat na server samostatně mimo databázi do předem určeného adresáře na serveru. Aktivací ukládání binárních souborů na serveru mimo databázi tak můžete ušetřit náklady na pořízení vyšší placené verze SQL Serveru. Způsob ukládání binárních dat na serveru nijak nemění způsob, jakým uživatelé v systému pracují.

Aktivace

POZOR: Jestliže webová služba běží na jiném serveru než SQL server, může dojít k problémům při práci s dokumenty. A to v případě, kdy jsou revize dokumentů ukládány do umístění, kam SQL server nemá oprávnění. Když se uživatel vrací ke starší revizi, tak se souborem nakonec pracuje CLR procedura, která běží na SQL serveru - tzn. uživatel, pod nímž běží SQL server musí mít oprávnění do dané cesty a cesta musí být pro SQL server viditelná.

 Pro nastavení ukládání do konkrétní složky je třeba v souboru web.config ve složce webové služby do sekce <appSettings> doplnit následující dva řádky kódu:

<add key="BinaryDataDirectory" value="C:\Warehouse\"/> 
<add key="StoreBinaryDataInFileSystem" value="1"/>
<add key="StoreBinaryDataByDate" value="1"/>
Klíč Hodnoty Popis
BinaryDataDirectory Konkrétní adresářová cesta Definuje cestu ke složce, do které se soubory dokumentů a e-mailů budou ukládat. Adresář, do kterého se mají dokumenty ukládat, už musí na serveru existovat. Do této složky musí mít webová služba eWay-CRM právo zápisu.
StoreBinaryDataInFileSystem 0 (vypnuto) nebo 1 (zapnuto) Zapíná se samotná funkcionalita ukládání položek do adresáře. Pokud je nastavena hodnota 0, položky se ukládají do databáze.
StoreBinaryDataByDate 0 (vypnuto) nebo 1 (zapnuto)

Při zapnutí klíče se vytvoří v adresáři struktura, kde jsou položky ukládány do složek podle roku a měsíce.

V souboru web.config bude doplnění tohoto nastavení vypadat například následujícím způsobem:

Převedení stávajících dokumentů

Podle výše uvedeného postupu nastavíte, aby se dokumenty a e-maily nově ukládaly do adresářové struktury namísto do databáze. Zejména ve chvíli, kdy řešíte nedostatek volného místa v databázi, doporučujeme kromě aktivace ukládání do adresářové struktury rovněž provést převedení stávajících dokumentů do této složky. Pro převod dokumentů postupujte podle následujících kroků:

  1. Vypněte službu eWayTimer
  2. Vypněte webovou službu -  ve složce webové služby najděte soubor "_App_Offline.htm" a přejmenujte na "App_Offline.htm"
  3. Spusťte MoveBinaryDataToFileSystem.exe ve složce bin v adresáři webové služby
  4. Počkejte, až se převod dokončí (v případě, že by došlo k chybě během převodu vlivem špatně nahraných souborů, postupujte podle tohoto návodu)
  5. Webovou službu nyní spusťte - ve složce webové služby vraťte název souboru "App_Offline.htm" zpět na "_App_Offline.htm"
  6. Znovu spusťte službu eWayTimer

    Po dokončení postupu budou všechny již existující soubory uloženy do vámi zadané složky, zároveň sem budou ukládány všechny nové soubory, jak jste aktivovali výše.

    Zpětný import dokumentů do databáze

    V případě, že jste již v minulosti nastavili, že chcete ukládat dokumenty a e-maily do adresářového systému, je možné, pokud například změníte názor, využít i opačný proces, tedy převést dokumenty a e-maily zpět do databázové struktury. Návod je obdobný jako v předchozím případě, rozhodující je pak bod 3):

    1. Vypněte službu eWayTimer.
    2. Vypněte webovou službu -  ve složce webové služby najděte soubor "_App_Offline.htm" a přejmenujte na "App_Offline.htm".
    3. Spusťte MoveBinaryDataToFileSystem.exe ve složce bin v adresáři webové služby, ale nyní přec příkazový řádek, kde v dané složce bin spustíte soubor v následujícím parametru:

      MoveBinaryDataToFileSystem.exe /revert
    4. Počkejte, až se převod dokončí.
    5. Webovou službu nyní spusťte - ve složce webové služby vraťte název souboru "App_Offline.htm" zpět na "_App_Offline.htm".
    6. Znovu spusťte službu eWayTimer.

    Po dokončení postupu budou všechny již existující soubory uloženy do databázové struktury, zároveň sem budou ukládány všechny nové soubory, jak jste aktivovali výše.

    Změna struktury ukládaných dokumentů

    Dokumenty mohou být ukládány každý do vlastní složky anebo ještě členěny do podadresářů podle roku a měsíce, kdy byly přidány. O to se stará toto nastavení:

    <add key="StoreBinaryDataByDate" value="1"/>

    Pokud je zadána hodnota 0, dokumenty jsou ukládány do systému, kdy každý má vlastní složku, v níž jsou jeho verze. Kořenová složka tak obsahuje velké množství adresářů. Použitý systém je /ItemGUID/Verze/.

    Pokud je zadána hodnota 1, dokumenty jsou ukládány do složek podle roku a měsíce. Použitý systém je /Rok-Měsíc/ItemGUID/Verze/.

    Změnit z jedné struktury na druhou můžete už ve chvíli, kdy jste jednu používali, takže by pak část dokumentů byla v původní struktuře a další v nové. Je proto vždy lépe změnit strukturu již existujících dokumentů. Postupujte podle následujícího návodu:

    1. Vytvořte si zálohu souborů, kterých se změny struktury bude týkat.
    2. Vypněte službu eWayTimer.
    3. Vypněte webovou službu -  ve složce webové služby najděte soubor "_App_Offline.htm" a přejmenujte na "App_Offline.htm".
    4. Ujistěte se, že je v souboru web.config přidán parametr StoreBinaryDataByDate a jeho hodnta je 1.
    5. Spusťte soubor MoveBinaryDataToFileSystem.exe, který se nachází ve složce bin vaší webové služby, a to s následujícím parametrem:
    MoveBinaryDataToFileSystem.exe /rearrange
    1. Počkejte, až se změna struktury ukončí. Staré dokumenty byly převedeny do nově nastavené struktury.
    2. Webovou službu nyní spusťte - ve složce webové služby vraťte název souboru "App_Offline.htm" zpět na "_App_Offline.htm".
    3. Znovu spusťte službu eWayTimer.

    Logování chyb

    Chyby se logují do logu eWayTimer.