Přeskočit odkazy

Tip na řešení: Automatické aktualizace pomocí aplikace FileMaker

Aktualizace aplikace FileMaker 14.0v2

Pokyny: Funkce aktualizace pomocí aplikace FileMakerVelkou výhodou databází FileMaker je rychlá tvorba, což v praxi znamená, že databáze FileMaker jsou obvykle "živé" a neustále se rozšiřují. Z různých důvodů není vhodné pracovat na aktuální databázi v reálném čase. Databáze provádět změny. Bezpečnější je testovací prostředí s oddělenou vývojářskou verzí, s níž je produkční verze čas od času aktualizována. Během tohoto procesu je nutné exportovat všechny datové tabulky z aktuální verze a po výměně databází FileMaker je znovu importovat, pokud nejsou data a struktura pečlivě odděleny. Abyste nemuseli při každé aktualizaci ručně exportovat a znovu importovat všechna data, lze například pomocí zásuvného modulu Base Elements vytvořit rutinu, která tento proces automatizuje. V tomto článku vám ukážeme, jak to udělat a jak se manipulace s cestami FileMakeru a systému stane dětskou hračkou. Ukázkový soubor si můžete stáhnout na konci článku. Archiv obsahuje ukázkový soubor ve formátu FileMaker 12.

Jsou vyžadovány dva bezplatné pluginy

Popsané řešení využívá funkce bezplatného zásuvného modulu Base Elements, který běží pod softwarem FileMaker 11 a 12. Zásuvný modul Base Elements lze zdarma stáhnout z webových stránek výrobce Goya Pty Ltd. Staženo a je k dispozici ke stažení pro Mac OS X a Windows ve 32bitové nebo 64bitové verzi.

Dialogový zásuvný modul, který je rovněž k dispozici zdarma, je vyžadován pro pole pro výběr souborů. Zásuvný modul dialogu podporuje širokou škálu dialogů a vstupních možností, je k dispozici pro Mac OS X a Windows a lze jej použít pro ke stažení zde stát se.

Užitečné vlastní funkce

Pro usnadnění práce s cestami obsahuje ukázkové řešení celkem sedm vlastních funkcí. Ty lze zobrazit pomocí aplikace FileMaker Pro Advanced a jsou k dispozici také jako použitelné funkce v aplikaci FileMaker Pro. Dvě vlastní funkce, které používáme v praxi, se nazývají

PathPluginToFM ( Path ) - převede nativní systémovou cestu na cestu FileMakeru. Funkce je k dispozici v klientech Windows a Mac.

PathFMToPlugin ( Path ) - převede cestu FileMakeru na nativní systémovou cestu. Funkce je k dispozici v klientech pro Windows a Mac a lze ji použít například pro dialogový doplněk, který je rovněž k dispozici zdarma, k zadání cesty v poli pro výběr souborů.

Dalších pět vlastních funkcí jsou podfunkce a jsou interně používány dvěma zmíněnými vlastními funkcemi.

Nastavení cesty k paměti

Náš ukázkový soubor obsahuje celkem tři tabulky: Aktualizační funkce, Tabulka 1 a tabulku 2. Příkladový soubor simuluje řešení FileMaker, v němž lze prostřednictvím exportu a importu aktualizovat několik tabulek. Aby FileMaker věděl, kam mají být databáze uloženy, musí být nejprve nastavena cesta k uložení. To se provede pomocí tlačítka [...] před polem pro cestu, které obsahuje následující údaje Skript volá "sf.path selection". Tento skript vyvolá pouze pole pro výběr souboru pomocí dialogového zásuvného modulu:

Nastavit proměnnou [$pfad; Hodnota:Dialog_SelectFolderDialog (""; "Zvolte systémovou cestu...";
PathFMToPlugin (Get(DocumentPath)))]

Vybraná cesta se přenese do Variabilní $path byla napsána. V tomto příkladu byl jako výchozí cesta zadán adresář dokumentu aktuálního uživatele (kde by měl začít dialog výběru). Protože zásuvný modul dialogu přijímá nativní cesty, a nikoli cesty FileMakeru, cesta Get(DocumentPath) je převedena na nativní cestu pomocí funkce PathFMToPlugin (). Pokud uživatel zadá cestu a klikne na tlačítko [Vybrat] se cesta nastaví pomocí funkce

Nastavení hodnoty pole [Update function::File path; $path]

v terénu <> byla napsána. To znamená, že řešení má nyní platnou cestu k souboru, do kterého lze zapsat databáze pro aktualizaci.

Export všech tabulek do externích databází

Vzhledem k tomu, že řešení má nyní platnou cestu pro export, lze nyní exportovat všechny tabulky do externích databází. Datová tabulka se exportuje pomocí čtyř řádků skriptu:

Nastavit proměnnou [$path; Hodnota:PathPluginToFM (Aktualizace funkce::Cesta k souboru) & "/Update function.fmp12]

Tento příkaz zapíše cestu k souboru kompatibilnímu se systémem FileMaker uloženou v tabulce funkce Update do proměnné $path.

Přejděte na Rozložení ["Funkce aktualizace" (Funkce aktualizace)]

Přepnutí na rozvržení, ze kterého se mají exportovat datové záznamy.

Zobrazit všechny datové záznamy

Protože se při exportu mají exportovat všechny datové záznamy, vyvolá tento příkaz všechny datové záznamy v cílové tabulce. U speciálních exportů lze v tomto okamžiku provést i jiný výběr datových záznamů.

Export datových záznamů [Bez dialogového okna; "$path"; Unicode (UTF-16)]

Tento příkaz exportuje datové záznamy z tabulky volaného rozložení do externího souboru zadaného v $path. V našem příkladu byl jako formát souboru zadán FileMaker (.fmp12). V tomto okamžiku je důležité zadat také pořadí polí, ve kterém se mají data exportovat:

Pořadí polí pro export dat

Tyto čtyři příkazy se nyní jednoduše opakují pro každou tabulku v databázi. V každém případě se název souboru pro proměnnou $pathRozložení, které se má vyvolat, a pořadí polí pro export se přizpůsobí pro každou tabulku.

Exportní skript pro funkci aktualizace

Skript pro kompletní export dat obsahuje na konci čtyři výše popsané příkazové řádky pro každou tabulku, která má být exportována v rámci aktualizační funkce.

Spuštění exportu dat pro importní skript

Ve svém řešení byste nyní měli jednou spustit skript pro export dat - nejen pro testovací účely, ale také potřebujete exportované soubory, abyste mohli vytvořit skript pro import. Pokud je váš exportní skript bezchybný, měly by se nyní všechny soubory nacházet ve vybraném adresáři.

Automatický import všech exportovaných databází

Posledním krokem je automatický import dat z exportovaných databází zpět do řešení. Vzorové řešení obsahuje skript "ts.Update_Import", který má následující strukturu:

Nastavit proměnnou [$update path; hodnota:Update function::File path]

Tímto příkazem se hodnota zadaná do pole <> cesta uložená v proměnné Cesta k $update je napsáno. Toto přiřazení je třeba v tomto skriptu provést pouze jednou. Všechny další příkazy se opakují tak často, jak často se mají importovat tabulky.

Nastavit proměnnou [$pfad; Hodnota:PathPluginToFM ($updatepfad) & "/Updatefunktion.fmp12"]

Proměnná $path tento příkaz slouží ke změně Cesta k $update a název souboru exportované databáze a celá věc se převede na platnou cestu FileMakeru pomocí funkce "PathPluginToFM".

Přejděte na Rozložení ["Funkce aktualizace" (Funkce aktualizace)]

Přepnutí na rozvržení, do kterého se mají importovat datové záznamy.

Zobrazit všechny datové záznamy
Smazat všechny datové záznamy [Bez dialogového okna]

Pokud jsou v tabulce ještě staré datové záznamy, jsou před importem pomocí těchto dvou příkazů z tabulky dat odstraněny.

Import datových záznamů [Bez dialogového okna; "$pfad"; Add; Mac Roman]

Tento příkaz importuje datové záznamy do tabulky volaného rozložení (zde: "Aktualizační funkce").

Trik se sekvencí polí

Při vývoji tohoto skriptu však nelze příkaz pro import jednoduše zapsat tímto způsobem, protože pokud byla jako název souboru zadána proměnná, nelze definovat pořadí polí pro import. Z tohoto důvodu je třeba nejprve jako název souboru zadat také databázový soubor exportovaný v předchozím kroku. To provedete poklepáním na příkaz [Import datových záznamů...] a klikněte na tlačítko [Přidat soubor...]. Nyní vyberte příslušný databázový soubor exportovaný v předchozím kroku:

Zadání souboru při importu dat

Po uzavření dialogu s [OK] potvrzeno, můžete nyní přejít na [Zadejte pořadí importu] zadat pořadí polí, ve kterém se mají databáze importovat.

Sekvence polí pro import dat

Pod [Zdroj] zobrazí se tabulka dat dříve exportované databáze. Ve vyskakovacím menu vyberte [Cíl] Vyberte příslušnou cílovou tabulku, do které se mají importovat data z externí datové tabulky, a v případě potřeby upravte pořadí polí. Po kliknutí na [OK] zadat, zda se mají provádět automatické vstupní volby, a kliknout na tlačítko [Import]uložit možnosti importu.

Nyní znovu klikněte na [Soubor...] pod Zadejte zdroj dat nebo dvakrát klikněte na příkaz skriptu Import datových záznamů. Nyní odstraňte řádek file:Dateiname.fmp12tak, aby ve vstupním poli pod seznamem cest bylo pouze $path stojany.

Chcete-li automaticky importovat další tabulky, opakujte postup pro každou datovou tabulku. Na konci bude importní skript vypadat jako naše ukázkové řešení:

Skript pro import dat

Tím je funkce automatického přenosu dat pro aktualizace dokončena. V ukázkovém řešení byly dva skripty přiřazeny dvěma tlačítkům [Aktualizace: Export] a [Aktualizace: Import] je umístěn. Tlačítkem [Cesta k aplikaci FileMaker] ukazuje, jak Vlastní funkce PathPluginToFM (cesta) převede systémovou cestu na cestu FileMakeru.

Ukázkové řešení FileMaker

Stáhnout ukázkový soubor pro FileMaker 12

Stáhnout ukázkový soubor FileMakeru

Jak přenést skripty ze vzorového souboru do řešení

Skripty lze snadno přenášet z jednoho řešení FileMakeru do druhého prostřednictvím schránky. Stačí otevřít dialogové okno Správa skriptůVyberte požadovaný skript myší a zkopírujte jej do schránky pomocí nabídky [Úpravy - Kopírovat] nebo kombinace kláves [Ctrl/Cmd-C]. Poté otevřete stejný dialog v cílovém řešení a jednoduše znovu vložte dříve zkopírovaný skript pomocí příkazu nabídky [Úpravy - Vložit].

Přenos tabulek ze vzorového souboru do řešení

Tabulky lze do stávajícího řešení vložit několika způsoby. Nejjednodušší je importovat tabulku pomocí tlačítka [Importovat...] v dialogu Správa databáze. Všechny tabulky, které mají být importovány ze zdrojového řešení, lze poté vybrat v následném dialogu. Tento způsob je proto vhodný zejména v případě, že se má importovat více tabulek najednou. Pokud se má importovat pouze jedna tabulka, lze to provést také prostřednictvím schránky jako skript. Má-li být tabulka importována spolu s daty, lze to provést příkazem [Soubor > Importovat záznamy > Soubor]. V dialogovém okně pro import je cílová tabulka Nová tabulka musí být zadán.

Přenos seznamů hodnot ze vzorového souboru do řešení

Seznamy hodnot lze snadno importovat z jednoho řešení FileMakeru do druhého prostřednictvím schránky. Stačí otevřít dialog v nabídce [Soubor/Soubor > Správa > Seznamy hodnot], vybrat požadovaný seznam hodnot a kliknout na tlačítko [Importovat]. Seznam hodnot myší a zkopírujte seznam hodnot do schránky pomocí nabídky [Úpravy - Kopírovat] nebo kombinace kláves [Ctrl/Cmd-C]. Poté otevřete stejný dialog v cílovém řešení a vložte dříve zkopírovaný seznam hodnot pomocí příkazu nabídky [Úpravy - Vložit].

Jak přenést vlastní funkce z příkladového souboru do řešení

Klikněte na tlačítko [Importovat] v dialogu [Soubor > Správa > Vlastní funkce...] a poté vyberte vzorový soubor. V následujícím dialogu vyberte požadované vlastní funkce a dialog potvrďte. Upozorňujeme, že tato funkce je k dispozici pouze v aplikaci FileMaker Pro Advanced, nikoli však v aplikaci FileMaker Pro.

Zanechat komentář

  1. Ahoj Markusi,

    Nebylo by jednodušší oddělit formu, obsah a funkci? Takto lze všechny soubory kromě obsahové DB snadno nahradit libovolným programem pro aktualizaci instalace. Skript s právy správce by mohl manipulovat i s poli v obsahové DB.
    Vyzkoušel jsem také výše uvedenou variantu. Pak byste mohli uložit pouze jednu tabulku na DB!
    Dnes bych to naprogramoval takto:
    1. DB pro funkce
    2. Rozložení DB
    3. Struktura DB/Relas
    4. Obsah DB

    Je to jasné a velmi snadno se to aktualizuje.

    1. Ahoj Felixi,

      Struktura, ve které je databáze vytvořena, je na vás. Tento článek pouze ukazuje, jak lze najednou importovat datový obsah tabulek.

      S pozdravem!

Sdílet tuto stránku:

Software ERP je stejně flexibilní jako vaše společnost.
Rádi vám poradíme.

Přizpůsobitelný software ERP pro Mac, Windows a iOS.

Nacházíte se zde: Masarykova univerzita Lidé se mohou těšit na další informace: FileMaker: Funkce aktualizace s automatickým exportem a importem