Dnes: 16. ledna 2018    | Registrace | Hledáme | Redakce | Info | Testy | Školení | Ocenění | Nápověda | Čtenář: nepřihlášen

Rychlé odkazy
  • Hlavní stránka
  • Seznam rubrik
  • Ankety
  • Editoriály
  • TOP 15
  • KONFERENCE 2008
  • KONFERENCE 2007
  • KONFERENCE 2006
  • KONFERENCE 2005
  • KONFERENCE 2004
  • Sborník
  • Testy
  • Virtuální školení
  • Personalizace


  • Hledáte práci?
    Hledáme redaktora - pojďte s námi tvořit Databázový svět!

    Vyhledávání

    Hledej
    na Databázovém světě!



    Rozšířené vyhledávání

    Rubriky
    Aktuality
    Bezpečnost
    Business
    Česká scéna
    Datové sklady
    Dokumentace
    Dotazovací jazyky
    Hardware
    Historie
    Komentáře
    Literatura
    Metodologie
    Nondb
    Open Source
    Poradna
    Produkty
    Případové studie
    Redakce
    Rozhovory
    Standardy
    Technologie
    Tipy - triky
    Tiskové zprávy
    Vývoj
    Vývojové nástroje
    Zajímavosti

    Co je to?
    Systémový katalog
    Struktury, ve kterých jsou uloženy informace o dané databázi, případně databázovém serveru. Někdy je možné se z anglického Data Dictionary setkat s pojmem datový slovník.

    Akce
    Dynamická Datová Centra
    - na semináři se seznámíte s komplexním řešením a koncepcí Dynamických Datových Center od Fujitsu Siemens Computers se speciálním důrazem na řešení FlexFrame.

    Textová inzerce
    IBPhoenix - Vše o InterBase a Firebirdu.

    Smějete se rádi? - Pak je pro vás Vtipník to pravé!

    Prodejce reklamy - Hledáme schopného prodejce reklamního prostoru, možnost i externí spolupráce.

    Přihlášený čtenář
    Nepřihlášený čtenář

    O portálu
    Databázový svět
    ISSN: 1213-5933

    Web je optimalizován pro rozlišení 1024x768, nicméně kromě větších rozlišení podporujeme i 800x600. Podrobnosti najdete zde.

    Chcete-li mít kdykoliv možnost zkontrolovat obsah našeho portálu, můžete využít podporu rss. Podrobnosti najdete zde.
    Tipy a triky pro Caché XX. - Práce s třídou %Installer


    [Tipy - triky] - V dnešním pokračování seriálu si ukážeme použití ještě stále poměrně čerstvé novinky, určené pro uživatelskou úpravu instalace Caché. S příchodem verze 2009.1 se součástí Caché stal balíček %Installer, jejímž hlavním úkolem je poskytnout komfortní API pro tvorbu upravených instalačních skriptů Caché. Mnozí z Vás si instalaci Caché upravujete tak, aby kromě samotného serveru instalovala i aplikační kód a předkonfigurovala runtime prostředí aplikace. Z vlastní zkušenosti víte, že možnosti Caché v této oblasti nebyly nijak valné. To se nyní podstatně mění.



    Jak balíček %Installer funguje? Základní třídou pro práci je %Installer.Installer. Tato třída poskytuje interface pro Vaši vlastní instalační třídu, kterou vytvoříte tak, že nebude dědit od žádného předka. Co ovšem Vaše třída musí obsahovat, bude XData element, libovolně nazvaný, ale musí mít deklarován [ XMLNamespace = INSTALLER ]. Tím kompilátor pozná, že se jedná o instalační třídu, a vygeneruje správný kód pro připojení a spuštění při instalaci Caché. Pro správnou kompilaci nesmíte zapomenout přidat do deklarace třídy direktivu import %occInclude.

    Co vše je možno v kontejneru XData definovat? Namespace INSTALLER obsahuje prvky Manifest, Var, Namespace, Configuration a mnohé další. Tyto prvky definují konfiguraci instalace. Ještě o nich pojednáme později. Kromě konfiguračních prvků ještě exitují prvky Invoke a Import, který umožňuje definovat metody, které se mají vykonat v průběhu instalace.

    Kromě XData kontejneru musíte v instalační třídě deklarovat a implementovat metodu setup(). Pojďme se nyní podívat na jednotlivé prvky a metodu setup() blíže.

    Přehled vybraných elementů kontejneru XData:

    • Manifest - Kořenový prvek XML stromu
    • Namespace - Povinný - potomek prvku Manifest, obsahuje definici nově vytvářeného/modifikovaného názvového prostoru. Má atributy Create, Code (dataset s rutinami) a Data (dataset s globály).
    • Configuration - Povinný - potomek prvku Namespace, skupinový prvek.
    • Database - Povinný - potomek prvku Configuration, obsahuje informaci o vytvářeném/modifikovaném datasetu. Má mj. tyto atributy: Dir, Create, Resource, Blocksize, Collation, InitialSize a jiné.
    • Var - Volitelný prvek - potomek prvku Manifest, definuje proměnné použitelné v různých částech XML dokumentu.
    • Import - Volitelný - potomek prvku Namespace, definuje soubor s globály, rutinami či třídami, který se má načíst.
    • Invoke - Volitelný - potomek prvku Namespace, definuje metodu třídy, která se má vykonat po importu rutin, globálů či tříd.

    K tomu, aby se spustil vygenerovaný kód popsaný v XData kontejneru musíme definovat již zmíněnou metodu setup(). Její implementace musí výpadat takto:

     
    ClassMethod setup(ByRef pVars, pLogLevel As %Integer, pInstaller As %Installer.Installer) As %Status [ CodeMode = objectgenerator, Internal ]
       {
        #; Let XGL document generate code for this method. 
        Quit ##class(%Installer.Manifest).%Generate(%compiledclass,%code, nazevXDataKontejneru)
       }

    V praxi, při tvorbě složitějších instalačních schémat, nejspíš zjistíte, že ačkoliv XML značky Vám dávají poměrně velkou volnost, stejně pro některé úlohy nestačí (např. definování uživatelských účtů a rolí, nastavení NLS), takže asi často využijete prvky Impor a Invoke.

    Testování a ladění obsahu třídy: Je samozřejmé, že třída s takto zásadními schopnostmi musí mít možnost být před nasazením otestována. K testování můžete použít příkazovou řádku Caché, z níž spustíte metodu setup() buď bez nebo s předanými vstupními parametry. Třeba takto:

     
    %SYS> Set vars(SourceDir)="c:\kutac\installer\cache2009"
    %SYS> Set vars(Updated)="Yes"
    %SYS> Do ##class(KUTAC.Demo).setup(.vars,3)

    K tomu, aby instalační skript Caché (na libovolném operačním systému) zavolal váš instalátor, musíte třídu exportovat ze Studia do souboru s názvem DefaultInstallerClass.xml v instalačním adresáři Caché. Pokud chcete při instalaci použít alternativní název souboru s instalační třídou nebo předat parametry získané z operačního systému při právě prováděné instalaci, musíte instalaci Caché provést z příkazové řádky a nikoliv dvojklikem na ikonu instalačního souboru (pouze Windows). Zde je alternativní instalace pod Windows:

    setup_cache.exe INSTALLERMANIFEST="c:\kutac\installer\MyInstaller.xml" INSTALLERMANIFESTPARAMS="SourceDir=c:\mysourcedir,Updated=Yes" 
    A zde pro Unix/Linux:
    ISC_INSTALLER_MANIFEST=c:\MyStuff\MyInstaller.xml
    ISC_INSTALLER_PARAMETERS=SourceDir=c:\mysourcedir,Updated=Yes
    cinstall

    Jak vidíte, Unixové systémy využívají proměnné prostředí místo argumentů příkazu cinstall. Tento příspěvek je, vzhledem k obsáhlosti tématu, jen velmi stručným výřezem a nezahrnuje zdaleka všechny elementy a možnosti instalátoru. Jeho cílem je uvést čtenáře do tématu a naznačit, kudy se lze ubírat při sestavování vlastní instalační třídy. Pokud instalujete na Windows, můžete ještě sami pokračovat tím, že pomocí nástrojů typu InstallShield či Orca si sami upravíte uživatelské rozhraní instalátoru Caché, například můžete vyjmout některé dialogy a nahradit je výchozími hodnotami či naopak přidat vlastní dialogy a instalátor zcela upravit k obrazu svému. Toto však značně přesahuje rozsah článku a případné pokusy nechám zcela na Vás.

    V příštím díle se budeme věnovat dynamickému odbavení vlastností a metod tříd.

    Související články:
    Tipy a triky pro Caché XXII. - Nová implementace dynamického SQL (15.11.2010)
    Tipy a triky pro Caché XXI. - Dynamické odbavení vlastností a metod tříd (08.11.2010)
    Tipy a triky pro Caché XIX. - Využití uživatelské projekce (25.10.2010)
    Tipy a triky pro Caché XVIII. - Testování kódu (11.10.2010)
    Tipy a triky pro Caché XVII. – try - catch (04.10.2010)
    Tipy a triky pro Caché XVI. – kdy a proč používat třídu System.Eents? (02.10.2006)
    Tipy a triky pro Caché XV. – jak na chybové stavy? (31.07.2006)
    Tipy a triky pro Caché XIV. – jak na grafiku s XML transformací? (13.07.2006)
    Tipy a triky pro Caché XIII. – jak na izolaci objektů v CSP? (06.04.2006)
    Tipy a triky pro Caché XII. – jak na Caché Server Rules? (09.03.2006)
    Tipy a triky pro Caché XI. – definování virtuálních CSP serverů (09.02.2006)
    Tipy a triky pro Caché X. – vlastní vyhledávání (23.01.2006)
    Tipy a triky pro Caché IX. – komunikace mezi procesy podruhé (16.01.2006)
    Tipy a triky pro Caché VIII. – komunikace mezi procesy poprvé (09.01.2006)
    Tipy a triky pro Caché VII. – Java Server Pages a Caché (02.01.2006)
    Tipy a triky pro Caché VI. – psaní kódu v .NET pomocí COM třídy Factory (14.11.2005)
    Tipy a triky pro Caché V. – jak na ladění CSP stránek? (05.10.2005)
    Tipy a triky pro Caché IV. – jak na neznámý počet parametrů? (19.08.2005)
    Tipy a triky pro Caché III. – casting objektů (19.07.2005)
    Tipy a triky pro Caché II. – dotazy bez SQL (18.05.2005)
    Tipy a triky pro Caché I. - izolace (05.05.2005)

    ( Celý článek! | Autor: Daniel Kutáč | Počet komentářů: 0 | Přidat komentář | Informační e-mailVytisknout článek )

    Vyhledávání
     

    Anketa
    Kolik ročně utratíte za dovolené?

    Nic 
     (1546 hl.)
    Do 1 000,- Kč 
     (1065 hl.)
    Do 10 000,- Kč 
     (997 hl.)
    Do 25 000,- Kč 
     (1375 hl.)
    Do 50 000,- Kč 
     (1015 hl.)
    Do 75 000,- Kč 
     (1177 hl.)
    Více než 75 000,- Kč 
     (1015 hl.)

    Celkem hlasovalo: 8190


    Poslední komentáře
    frontierd@126.com
    frontierd@126.com
    frontierd@126.com
    c
    http://www.coachoutl

    Newsletter
    Přihlaste si nezávazně - i bez registrace - odběr informačního newsletteru. Podrobné informace najdete zde.

    Emailová adresa:


    Kalendář
    <<  Leden  >>
    PoÚtStČtSoNe
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    

    Redakci připojuje


    Nejčtenější

    Databáze je prázdná!


    Nejvíce komentářů

    Databáze je prázdná!


    Reklama






    Nenechte si ujít články na dalších webech




    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.

    Databázový svět | dfKlub - digitální fotografie | Vtipník - vtipy přímo k Vám | Reminder - přestaňte zapomínat | Databázový svět

    Copyright (c) 2004 AVRE Publishing, spol. s r.o. Všechna práva vyhrazena