čtvrtek 24. února 2011

Nový blog

Konenčně jsem našel trochu času a zprovoznil nový blog - nová adresa je:
dev.goshoom.net
Ještě není úplně odladěný, ale něco na čtení tam už je. Nejpodstatnější změna je v tom, že nový blog je psán česky i anglicky.

úterý 8. února 2011

Label display metody

Dělal jsem nějaké změny do funkctionality, která umožňuje určit, která pole nebo display metody budou viditelná na formuláři. Konfigurace je uložena v tabulce (obsahuje mimo jiné RefTableId, FieldName a MethodName) a v konfiguračním formuláři se zobrazuje label pole. Chtěl jsem to rozšířit tak, aby se pro metody zobrazoval label z datového typu návratové hodnoty. Řešení je zde:
DictMethod dictMethod = new DictMethod(
    UtilElementType::TableInstanceMethod,
    idTabulky,
    jmenoMetody);
;
if (dictMethod)
{
    switch(dictMethod.returnType())
    {
        case Types::Enum :
            label = new DictEnum(dictMethod.returnId()).label();
            break;
        case Types::UserType :
            label = new DictType(dictMethod.returnId()).label();
            break;
    }
}

středa 2. února 2011

Status update

Nejprv bych chtěl trochu vysvětlit, proč je na tomto blogu poslední dobou tak ticho. Všechno to více či méně souvisí s mým přesunem do Anglie (tentokrát už ne pouze na jeden projekt). To s sebou neslo a nese řadu starostí, od pozitivních (průzkumy Londýna), po méně pozitivní, jako byla absence počítače na kterém bych mohl doma pracovat. Původně jsem totiž přijel jen s netbookem a naivně předpokládal, že použiji firemní servery; nicméně nechal jsem si z ČR poslat svůj vývojový servřík a už to snad bude OK. (Mimochodem poštou to není nijak zvlášť drahé, jen mi na Border Agency rozřezali krabici, což mě moc nepotěšilo.)

Také se mi v práci moc nedaří objevit něco publikovatelného a doma se věnuji spíš .NETu. Blog se širším záběrem je v plánu, ale zatím nemá tu správnou prioritu.

Hlavní věc v AX světě je teď samozřejmě AX2012 (tedy ne AX2011, jak byla často označována), zejména po technické konferenci v Redmondu (17.-20. 1.). Té jsem se bohužel nezúčastnil, ale informace ke mně putují, takže něco bych určitě napsat mohl.

Nicméně jsem se rozhodl, že nebudu sepisovat nějaký list „všech novinek“ a to ze dvou hlavních důvodů. O některých novinkách je tak málo informací, že se všude opakuje jen nějaký vágní popis a málokdo skutečně ví, co to vlastně znamená. A CTP má být vydáno už v únoru, tedy během pár týdnů, a pak bude možné napsat něco konkrétnějšího.

V tuto chvíli se omezím na prohlášení, že se toho mění neskutečně moc. :-)

středa 22. prosince 2010

Verzování bez Team Serveru

Nedávno jsem chystal vývojové prostředí AX2009 využívající Team Foundation Server, ale použití Team Serveru (aka ID Server) by mi nic nepřineslo a jen by mi věci zkomplikovalo.

Jak tedy donutit AX2009, aby se spokojila se správou verzí bez Team Serveru?
Odpověď je jednoduchá:
SysVersionControlSystem.requireTeamServer() musí vracet false.
Sám jsem čekal něco komplikovanějšího… :-)

úterý 21. prosince 2010

AX2009 a TFS2010

Jak jistě víte, AX2009 může používat k ukládání zdrojových kódů Team Foundation Server. Co když ale máte TFS2010, který není podporovaný AX2009?
Nastěstí je řešení celkem jednoduché - budete potřebovat:
  1. Team Explorer 2008 - AX využívá jeho knihovny (a nejspíš ho budete používat i přímo).
    Ještě není vyhráno, protože Team Explorer 2008 nespolupracuje s TFS2010. Za druhé tedy potřebujete:
  2. VSTS 2008 SP1 Forward Compatibility Update for TFS2010 - díky němu se Team Explorer 2008 dokáže připojit k TFS2010.
    Jak napovídá i název, na Team Explorer musí být aplikován:
  3. Service Pack 1 (Visual Studio 2008).
    Zde se můžete dostat ještě do jednoho problému - pokud máte Visual Studio 2008 SP1 a doinstalujete Team Explorer, musíte přeinstalovat SP1. Teprv pak je možné aplikovat Forward Compatibility Update.

čtvrtek 9. prosince 2010

Verzování dokumentů v TortoiseSVN

Verzování zdrojových kódů se díky integraci do IDE (velmi) pomalu zabydluje i ve světě Dynamics AX, ale často se zapomíná na ostatní data. Přitom znát historii třeba funkčního designu, mít možnost porovnat změny mezi verzemi atd. je stejně tak potřebné jako v případě kódu.
Navíc jde i o zdrojový kód mimo AX, třeba SQL, XSLT, HTML a tak podobně.

Některé týmy používají nějakou podobu document managementu s verzováním, typicky v rámci SharePointu. Ale i toto řešení má své nedostatky, zejména komplikovanost práce s takovými soubory, a tak zůstává řada dokumentů mimo tyto systémy.

Kontextové menu TortoiseSVN
Dnes chci ukázat, že používat verzovací systém může být snadné a bezbolestné. A to tak, že můžete snadno verzovat úplně všechny soubory, u kterých to má nějaký smysl.
Nebudu tedy zabíhat do žádných detailů - pokud TortoiseSVN nebo podobný nástroj používáte, asi se toho mnoho nedozvíte.

Ikony souborů
Nejpřirozenější systém je takový, který vám umožní pracovat s verzovanými soubory z velké části tak, jak se soubory pracujete dnes, ale přidá další vrstvu pro práci s verzemi. Přesně to vám umožní TortoiseSVN, což jeden z mnoha klientů pro verzovací systém Subversion (existují také například Subversion pluginy pro Visual Studio, doma používám AnkhSVN).

Nejviditelnější věc na TortoiseSVN jsou dodatečné symboly na ikonách ve správci souborů (viz obrázek vpravo). Ty se samozřejmě nezobrazují všude, ale jen v adresářích, v kterých je verzování aktivní (hodně zjednodušeně řečeno).

Do takové složky je možné soubory přidávat, měnit, mazat atd. jako by zde žádný verzovací systém nebyl (řada lidí žije v představě, že používání verzování znamená provádět checkout před každou editací a proto se mu brání, tak to raději zdůrazňuji).

Ukládání do repozitáře
Jakmile jste se změnami spokojeni, uložíte (v jediném kroku) veškeré modifikované soubory do úložiště verzí (repozitáře) - a hotovo, soubory jsou uloženy a můžete dále pracovat s vědomím, že se k dané verzi kdykoli vrátíte, bude-li třeba.

Kontextové menu TortoiseSVN nabízí sice spoustu možností, ale zmiňme jen pár základních:
  • Update = načtení souborů z repozitáře
  • Commit = uložení do repozitáře
  • Show log = zobrazení hostorie
  • Rename = přejmenování souboru se zachováním historie
Historie verzí
Show log zobrazí okno se všemi verzemi zvoleného souboru nebo adresáře, obsah každé verze (přidané, smazané soubory atd.), komentáře k verzím a podobně. Můžete zde také vybrat verze k porovnání, přímo otevřít historickou verzi a tak dále. Při porovnání nejste omezeni na čistě textové porovnání, třeba Word a Excel jsou také podporované!

Instalace
Instalační soubor můžete stáhnout zde. Při výběru verze (32/64 bit) vezměte v potaz nejen verzi operačního systému, ale i správce souborů. Máte-li Windows 64bit a chcete používat TortoiseSVN jak ve Windows Exploreru (64bit), tak Total Commanderu (32bit), potřebujete nainstalovat obě varianty TortoiseSVN.

Po instalaci musíte vytvořit repozitář. Subversion opět nabízí spoustu možností, které budu okázale ingorovat. :-) Vytvořte adresář (ideálně na nějakém bezpečném serverovém disku, v horším případě lokálně), z kontextové nabídky na adresáři zvolte TortoiseSVN > Create repository here a potvrďte. Do tohoto adresáře v podstatě nemusíte vstupovat, takže volte spíš lokaci, kde vám nebude překážet.

Dále vyberte místo, kde budete chtít pracovat se svými verzovanými soubory. Zvolte SVN Checkout a zadejte cestu k repozitáři (jako file://ServerName/path/to/repos/ nebo file:///C:/repo). Těchto pracovních adresářů můžete mít kolik chcete a můžete si nějaký vytvořit kdykoli, kdy potřebujete svá data a máte dokážete číst z adresáře s repozitářem (serverový disk přístupný přes VPN je skvělá volba).

Nastavení

Nastavení můžete měnit v TortoiseSVN > Settings.

Z obsáhlého kontextového menu si můžete vybrat často používané položky a umístit je hned přímo do hlavní kontextové nabídky, tedy tam, kde je defaultně SVN Update atd. Mně například dost chyběl příkaz Add.
(General > Context menu)

V Icons Overlays můžete nastavit, na jakých druzích disků (síťové, přenostné atd.) se mají zobrazovat stavové ikonky TortoiseSVN. Chcete-li vidět ikony i v jiných aplikacích, než jen ve Widnows Exploreru (typicky v jiném souborovém manageru), odšktněte zde Show overlays and context menu only in explorer.
Pokud používáte konkrétně Total Commander, musíte mít v jeho konfiguraci zaškrtnuté Show overlay icons (Configuration > Options > Icons).

Užitečné je také nastavit, jaké soubory má Subversion ignorovat (v General > Global ignore pattern), například soubory začínající "~" (mj. pracovní soubory MS Office).

středa 8. prosince 2010

AX Business Intelligence Team blog

Dynamics AX Business Intelligence Team blog byl spuštěn před pár dny a obsahuje (v tuto chvíli) dvacet videí o používání SQL Server Reporting Services v Dynamics AX. Každé video má jen pár minut a na základní seznámení nejsou vůbec špatná.