Teamstudio
Ve světě Lotusu je jenom málo produktů třetích stran, o kterých slyšeli skoro všichni. Mezi jedny z nich patří produkty TeamStudia, o kterých všichni vědí, že existují, většina ví. že jsou drahé a menšina ví, co vlastně umožňují. Jak to tedy je?
V současné době je k dispozici 8 různých produktů, jejichž cílem je zpříjemnit, zrychlit a zpřesnit práci vývojářům. Jednotlivé produkty podporují různé fáze vývoje a díky tomu jsou i více či méně potřebné. Pojďme se tedy podívat na každý produkt zvlášť, pěkně podle abecedy.
Analyzer
Produkt první, který začne výrazně pomáhat až v závěrečné fázi projektů. Jeho funkcí je analýza návrhu aplikací - v podstatě se jedná hlavně o podstatně vylepšené Synopsis. Pro každý návrhový prvek je vytvořen dokument, který obsahuje veškeré informace o daném prvku a k němuž jsou navázány související dokumenty. Například pro formulář je vytvořen jeden hlavní dokument a k němu navázány dokumenty jednotlivých polí umístěných na formuláři. V těchto dokumentech jsou vypsány všechny dostupné informace - skrývací podmínky, vlastnosti, použitý font, kód (jak formula jazyk, tak LotusScript).

Druhou důležitou úlohou aplikace je audit návrhu. Podstatou této funkce je definice kritérií, které musí aplikace splňovat - povolené barvy, fonty, upozornění na formuláře bez vyplněného titulku, tlačítka bez popisků. Tyto kritéria je možné uživatelsky definovat a audit vyhodnotí, které návrhové prvky těmto kritériím nevyhovují a je třeba je upravit. Pokud tedy máte zákazníka, který vyžaduje určité zvyklosti, může vám tento produkt výrazně pomoci při kontrole aplikace v průběhu vývoje či před předáním zákazníkovi.
CIAO!
Verzovat, verzovat, verzovat. To si říká každý vývojář v okamžiku, kdy si nenávratně smaže něco, co nechtěl, či když zákazník reklamuje něco, co dříve fungovalo. Zajímavé je, že ve stejných situacích si to říkají častěji projektoví vedoucí.
Zatímco ve světě Microsoftu je k dispozici SourceSafe či CVS (open source), vývojáři v Lotus Notes tyto možnosti nemají. Je to způsobeno hlavně faktem, že veškerý kód je umístěn v jednom velkém souboru - databázi. Zde nastupuje CIAO!, které existuje ve verzi pro klienta i server. Serverová verze doplňuje verzi klientskou a zajišťuje, že nikdo neupraví libovolný návrhový prvek ve sledované databázi, aniž by předtím neprovedl jeho vyjmutí (check-out) a následné vložení zpět (check-in). Při každé této operaci je možné zadat poznámku a zpětně se tak dá dohledat, co bylo účelem prováděných změn a kdo je provedl.
Sledování lze zapnout pro jednotlivé databáze a prováděné změny se zaznamenávají do databáze. Bohužel se do databáze zaznamenává celý návrhový prvek a nikoliv pouze popis změny a tak její velikost může relativně rychle narůstat.

Produkt umožňuje nejenom sledování změn a verzování, ale také nastavení "promotion path". Jedná se o definici publikační cesty, kde oprávněné osoby mají možnost aktuální verzi aplikace posunout do dalšího stavu - automaticky tedy dojde k nasazení aplikace například na testovací servery a po otestování do ostrého provozu. Příjemnou vlastností je integrace s nástrojem Delta pro porovnávání změn v jednotlivých verzích a případně snadné vrácení poslední verze daného návrhového prvku.
Nevýhodou produktu je bohužel právě sledování jednotlivých návrhových prvků - práce offline je tak velice ztížena, neboť vývojář si musí dopředu rozmyslet, co vše bude upravovat a podle toho si zamknout příslušné návrhové prvky. Ostatně zamykání prvků funguje již na verzi 6, kdyby verze 7 obsahovala verzování - co víc si přát?
Configurator
Produkt, který mate svým názvem - kdo z vás si pod ním představí vyhledávání a nahrazování textu v databázi? A právě to je mocnou zbraní tohoto nástroje. Vyhledává zadaný text (je možné použít zástupné znaky) nejenom v dokumentech, ale i ve všech návrhových prvcích - text na formuláři, ve formuli či skriptu. Nalezený text lze nahrazovat jiným, ovšem v tomto případě není možné použít zástupné znaky. Při nalezení každého výskytu program zobrazí místo, kde text nalezl, spolu s nejbližším okolím a člověk se tak snadno může rozhodnout, zda provede nahrazení či nikoliv.

Díky němu končí psaní agentů, kteří nahrazovali texty v dokumentech a používání synopsis pro nalezení většiny hledaného textu v kódu aplikace a poté jeho ruční nahrazování. Ostatně jedním z důvodů pro pořízení tohoto nástroje má být i ušetření 60 minut při vyhledávání a záměně textů v návrhu aplikace a dokonce 90 minut při hledání v dokumentech.
Delta
Srovnání různých databází - nepřál si to někdy každý z nás? Oblíbená záležitost ve chvíli, kdy existují dvě verze aplikace, které se v něčem liší a nikdo neví v čem. Není nic snadnějšího než je srovnat pomocí tohoto nástroje a hned je vidět, v čem se liší. Přičemž ono "v čem" jde opět až na úroveň kódu a jsou vidět dvě rozdílné řádky například LotusScriptu, které zapříčiňují rozdílné chování.

Výhodou je také textová interpretace některých systémových polí, například $Flags u pohledů - mimochodem kdo z vás ví, co znamená hodnota cP v tomto poli?
Výsledkem je dialogové okno, ve kterém je možné zobrazit všechny či pouze rozdílné prvky a podívat se, v čem se liší. Velkou výhodou je ovšem možnost exportu tohoto reportu do databáze a jejich následné srovnávání "v klidu" s možností přepínání se do jiných oken. Barevně jsou zvýrazněny rozdíly a barvy nejsou zvoleny samoúčelně - je z nich poznat, co je kde navíc a co naopak chybí.
Bonbónkem na dortu je možnost srovnávání dvou dokumentů - možnost která se dala zapnout v Lotus Notes verze 4 a poté zmizela - že už by člověk replikační konflikty slepě nemazal, ale nejdříve porovnával?
Librarian
Asi každý z nás to zná - kde jsem ten kousek kódu jenom použil? Tady z té databáze chci vzít tenhle formulář, co k němu musím ještě zkopírovat?
Právě k těmto účelům slouží Librarian - mezi dvěmi databázemi lze přetahovat jednotlivé návrhové prvky a ony s sebou mohou automaticky kopírovat vše související. Při praktické ukázce například v diskuzní databázi tak dojde při překopírování jednoho formuláře k překopírování několika dalších pohledů a sdílených polí - tedy v podstatě všeho, co je potřeba pro správnou funkci daného formuláře. Bohužel ony "související" prvky mohou být definovány pouze ve formula jazyku.

Součástí produktu jsou Snippets - tedy krátké řádky kódu či celá tlačítka, která lze vlepit na aktuální místo. Menu, které se objeví po kliknutí pravým tlačítkem myši je rozšířeno o další položku, po jejímž zvolení vyskočí dialogové okno s výběrem ze všech zavedených kódů - krátké kliknutí a funkce je na místě, kde jsme ji chtěli mít. Pokud si člověk dá tu práci a nadefinuje jednotlivé funkce, tak si může práci opravdu výrazně zrychlit. Stojí to za to?
Profiler
Novinka v portfoliu TeamStudia, ovšem první verze není vůbec špatná. Každý z nás ví, že občas je kód opravdu pomalý, ovšem pouze špatně se zjišťuje proč. Neustálé přidávání a odebírání tisku aktuálního času není to pravé řešení. Právě proto existuje nástroj, který se spustí před a po příslušné funkci (agent, tlačítko, otevření formuláře). Zobrazí zdrojový kód a u každé řádky dobu trvání v procentech i vteřinách. Pokud se jedná o funkci či proceduru je možné ji rozkliknout a takto vyhledat nejpomalejší místa aplikace.

Bohužel nevýhodou první verze je omezení pouze na LotusScript. Každý z nás zažil formulář, který je pomalý sám o sobě - například díky použití velkého množství klíčových slov, která se natahují z jiných pohledů či databází. A to je věc, kterou nástroj není schopen nalézt.
Nástroj existuje také ve verzi pro server, kdy běží na serveru a vývojáři poskytuje výsledky běhu na konkrétním hardwaru či v konkrétních časových obdobích. Součástí dokumentace produktu jsou také výkonostní tipy - které funkce používat a kterým se naopak vyhnout.
Snapper
Sami pracovníci TeamStudia tvrdí - CIAO! je pro velké vývojové týmy, Snapper pro malé či pro samostatné vývojáře. Zatímco CIAO! podporuje zamykání návrhových prvků a komentování jednotlivých změn, Snapper slouží k periodickému či vyžádanému zálohování databáze. Výsledek je v zásadě stejný - existují zálohy verzí, ovšem rozdílná je cesta, jak vznikly, a také možnosti, které jsou k dispozici. Narozdíl od CIAO! není k dispozici ochrana proti konkurenčnímu přístupu k jednomu návrhovému prvku či plné verzování spolu s uvedením poznámek, nehledě na možnost publikování databáze do další etapy (promote path). Opět existuje v klientské a serverové verzi, které se liší v podstatě pouze místem, kde vznikají zálohy verzí.

Validator
Nástroj, který by čas od času měl použít každý správce například webových stránek. Nevím jak vy, ale já nemám rád webové stránky, kde zrovna ten nejzajímavější odkaz nikam nevede.

Úkolem Validatoru je nalezení neplatných odkazů v dokumentech i v návrhových prvcích, které nikam nevedou; pole, která již nejsou na formulářích a nejsou tak k dispozici uživatelům; nesoulad mezi typem pole a uloženou hodnotou v dokumentu; kontrola zda existuje definice klíčových slov (pokud se dynamicky načítají z pohledu); response dokumenty, které nemají vazbu na nadřízený dokument.
Přesně to jsou případy, kdy člověk nemá odvahu něco z databáze smazat, neboť netuší zda se "to" ještě někde nepoužívá. A databáze boptná a boptná.
Závěr?
Na začátku bylo řečeno, že jde o drahé produkty. Jak to ve skutečnosti s tou cenou je?
Faktem je, že jednotlivé nástroje si nemůžete běžně sami vyzkoušet. K dispozici je pouze on line prezentace přes internet. V každém případě pokud se nedáte a produkty ozkoušíte, tak zjistíte, že možná některé vlastnosti jsou lepší, než se původně zdály, a jiné jsou na tom opačně.
K produktům je zpracována výborná dokumentace obsahující informace o návratnosti investic, business case jednotlivých nasazení a spousta dalších informací, které mají pomoci přesvědčit.
Ceníková cena všech osmi produktů je necelých 7 000 EURO, což není málo. Po nějaké době přesvědčování se můžete dostat i na jinou cenu - přibližně 5 500$, což je o něco méně, ale za licenci pro jednoho člověka pořád ještě hodně.
Stojí tyto peníze za to nebo nikoliv? To je na zvážení každého z nás.
Zveřejněno na serveru světNotes.cz ve dvou dílech - TeamStudio 1 a TeamStudio 2.
Technorati: Články
0 Komentáře
-
Dokumenty nenalezeny
Zanech komentář