Vítejte na blog.vyvojar.cz Přihlásit | Registrovat | Pomoc

Během vývoje systému Kentico CMS, který využívá mimo jiné MS AJAX, jsme narazili na problém s nefungujícím AJAXem na Chrome a Safari3+. Problémů s AJAXem je mnoho např. nefungující RegisterXXXXScriptBlock v update panelu atd.

Problém je v tom, že v době, kdy MS AJAX vznikl, měl WebKit (na kterém staví jak Safari, tak Chrome) bug, díky kterému AJAX nefungoval. Takže se do MS AJAXu natvrdo zadělal workaround pro WebKit….Jenže po několika verzích byl tento bug ve WebKitu opraven a tím pádem workaround způsobuje problémy….

Těžko hledat viníky…V postu mého kolegy najdete více informací včetně řešení….

AJAX not working properly with Chrome or newer versions of Safari-

V rámci úklidu mega množství dat co mi zůstala z dob co jsem pracoval jako ISV Developer Evangelist v české pobočce MS (Leaving Microsoft …), a že toho po těch 10-ti letech je hroznáááá fůra, jsem objevil též jednu hodně žhavou prezentaci, která je ještě v nedodělaném stavu a už ji ani nikdy nedodělám. Není kdy, kde a komu ji ukázat….

Jedná se o prezentaci představující nejdůležitější novinky pro vývojáře, jež přinášejí Windows 7. Takže pokud máte zájem, je vám zcela k dispozici ještě v česko-anglické podobě. Jo a pokud ji někdo někdy použije pro prezentaci tak tam dejte In Memoriam ISV DPE :)

Je to taková všehochuť cca 90 slides pokrývající např. vývoj pro jumpLists, tvorba thumbnails, Scenic Ribbon atd……

Prezentace je zde: http://cid-98841b9d3bb08a0d.skydrive.live.com/self.aspx/Archiv%20prezentac%c3%ad/w7-Big%5E_Overview.pptx

Nedávno se na mne obrátil znamý s prosbou o pomoc s vývojem malého state-machine workflow pro Windows Sharepoint Services. Říkal jsem si, že když znám Workflow Foundation, ASP.NET a standardní vývoj pro Sharepoint Server, tak proč do toho nejít, že … A to byla chyba, Worfklow pro WSS je něco za co bych celému vývojovému týmu WF zakázal nadobro programovat, aby již neudělali více škod! A proč?

  1. 99% všech ukázek a dem na internetu jsou zaměřeny na sekvenčí workflow …. což naprosto nechápu, protože WSS/MOSS je document-based systém, kde oběh dokumentů lze velmi špatně popsat pomocí sekvenčního workflow
  2. Když už máte to štěstí, že najdete ukázky na tvorbu state-machine workflow, tak jsou z 99,99999% zaměřeny na vývoj pro MOSS tj. tvorba workflow formulářů pomocí InfoPath services, které jaksi nejsou dostupné pro WSS.
  3. Když se dostanete k těm pár ojedinělým ukázkám jak vytvořit task formuláře pomocí ASP.NET, tak začnete proklínat do čeho jste se to dali :)

    1. Formuláře pro workflow jsou dvojího druhu. Formuláře pro inicializaci, asociaci a modifikaci workflow. To jsou “jednoduché” ASP.NET formuláře. Pomocí nich se provádí inicializace workflow, kde se informace předávají pomocí AssociationData struktury. Informace o těchto formulářích se vkládají do konfiguračního .XML souboru workflow.
    2. Druhým typem jsou formuláře pro editaci Tasku, jsou to taky normální ASP.NET formuláře…jenže je nelze nikde nakonfigurovat v .XML  souboru, ale je nutné vytvoři něco co se jmenuje ContentType…fakt pakárna.
  4. Když už překousnete, že je šílená pakárna s ASP.NET formuláři, tak narazíte na věci typu, že některé parametry získáte z query-stringu, jiné z objektového modelu a jiné jako vlastnosti workflow….O pomoci z dokumentace si nechte zdát
  5. A aby tomu nebyl konec, tak error logging je nad WSS/MOSSEm night mare. Když nastane chyba, tak se to dozvíte hláškou Error Okurek  (Error Occured) a více detailů v gigantickém log adresáři…..ladění workflow přímo z VS má za následek stopnutí celého WSS/MOSS portálu a nejsou zpracovány žádné jiné požadavky.
  6. Další NightMare jsou tzv. Correlation Tokens, kterými se řídí scope operací ve State-machine workflow. Pokud používáte tokens tak jak byste očekávali dle logiky, tak se sice workflow přeloží, ale nic neudělá … a jelikož nedojde k chybě nelze fakt dobře zjistit, kde je problém ….
  7. Nasazení Workflor na WSS se trošku liší od nasazení pro MOSS… Konfigurační soubor .XML obsahuje pro WSS jiné položky než pro instalaci na MOSS.
  8. A takhle bych mohl postupovat dále a dále …..

Proč to ale píšu…Pokud se někdo dostal do stavu, že ho čeká tato sebevražda, či je již ve stavu totálního chaosu, tak dejte vědět a pokusím se připravit nějaký použitelný manuál/průvodce jak na toto zvěrstvo…

30.9.2009 byl můj poslední den ve společnosti Microsoft a po téměř 10-ti letech spolupráce v této společnosti končím. Důvody mého odchodu bych shrnul asi takto: Přišel jsem, viděl jsem, NECHÁPU, Odcházím…aneb kdo četl D-FENSE ten již ví…

Pouze bych dodal, že kromě mne v DPE již nepracují Majka Thunová (zodpovědná za Design Akademie, Web Akademie, Vortex a mnohé další akce) a Petr Tichý (autor deisgnu MSTV.cz, stránek o PhotoSynthu, atd.). V DPE v tuto chvíli jsou pouze dva vývojářsky zaměření evangelisti – Michael Juřek a Štěpán Bechynský. Buďte s nimi prosím trpěliví, fakt se ve dvou nedá stihnout evangelizace všech technologií …. Možná nastává pravá chvíle pro externí specialisty….

Chtěl bych tímto poděkovat všem, se kterými jsem měl tu čest spolupracovat ať už přímo či v rámci virtuálních komunikací. Bylo to pro mne velmi přínosné a doufám, že i já jsem svým dílem pomohl ke spokojenosti mnohých z vás.

Mým odchodem z MS, v žádném případě nezahazuji tento blog, pouze ho budu obohacovat o praktické věci z praxe a už ne žádná “opsaná” moudra z marketingu :D :D :D….

Mé další kroky vedou do společnosti Kentico Software (producent Kentico CMS http://www.kentico.com). Více informací zde: Joining Kentico Software a ještě o jednom mém kolegovi z Redmonu Thom Robbins Joins Kentico!

 

Díky….

Objevil jsem na serveru https://www.microsoftelearning.com zajímavé školení pro vývojáře nad MS SQL 2008 a vše zdarma. Školení je zaměřeno na:

  • TSQL Improvements and Data Types
  • Beyond Relational
  • SQLCLR: .NET Code In SQL Server
  • Service Broker and Messaging
  • SQL Server and Visual Studio
  • Client Programmability
  • ADO.NET Entity Framework
  • HTTP Programming and SQL Server
  • Occasionally Connected Systems

 

Více na https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=121915&tab=overview

Dal jsem dohromady velké množství zdrojů zaměřených na migraci projektů z VB6 na VB2008. Pevně věřím, že to pomůže těm, kteří mají pořád své aplikace ve VB6 (a že jich není málo!)

České zdroje:

VB6 to .NET Migration Guidance AJ:

Migrační nástroje:

Unit Testing:

Další zdroje:

 

Doufám, že se to hodí :)

Pod AIO (All-In-One) si asi většina lidí představí mega balíčky různého SW či her distrobuovaných “legálními” cestami po internetu :) … Na CodePlexu (http://cfx.codeplex.com/) se objevil velmi zajímavý projekt, který má nemalé ambice. Připravit mega vývojářský balíček základních nejdůležitějších postupů, které může vývojář použít – Od práce s COMem, ATL, Officem, Winforms, WPF až ke práci se Silverlightem. Nejedná se žádná hotová řešení, ale o krátké kódy tipy Howto někdy též nazývaných Recipes (recepty).

Např. pro Silverlight 3 zde najdeme jak udělat FullScreen, práce s PixelShader atd. Níže je zase náhled na příklady připravené pro Office

Office.png

Výborné čtení na téma kdo to je a co má dělat Developer Evangelist. Pokud netušíte co to je či co dělá takový evangelist, vřele doporučuji. Můžete si i tak třeba udělat obrázek co by mělo dělat lokání DPE oddělení (Developers & Platform Evangelism).

http://developer-evangelism.com/

Gestalt.js (http://www.visitmix.com/labs/gestalt/dev/gestalt/) je knihovna vytvořená MIX Online Labs umožňující psát kód v Ruby/Pythonu a XAMLu přímo v kódu (X)HTML.

Co to vlastně znamená?

Ukázka Ruby

<html>
<head>
  <script src="js/jquery.js" type="text/javascript"></script>
  <script src="js/gestalt.js" type="text/javascript"></script> 
</head>
<body>

<input id="say_hello" type="button" value="Say, Hello!" />

<script language="ruby">
document.say_hello.onclick do |s,e|
  window.alert "Hello, World!"
end
</script>
</body>
</html>

 

Ukázka Python

<html>
<head>
  <script src="js/jquery.js" type="text/javascript"></script>
  <script src="js/gestalt.js" type="text/javascript"></script> 
</head>
<body>

<button id="say_hello">Say, Hello!</button>

<script language="python">
def OnClick(s,e):
  document.say_hello.innerHTML = "Hello, World!"
    
document.say_hello.AttachEvent("onclick", 
                   EventHandler[HtmlEventArgs](OnClick))
</script>
</body>
</html>

 

Ukázka XAML

<html>
<head>
  <script src="js/jquery.js" type="text/javascript"></script>
  <script src="js/gestalt.js" type="text/javascript"></script> 
</head>
<body>
<xml class="xaml" 
     src="xaml/mushroom.xaml" width="200" height="230"></xml>
</body>
</html>

Na partnerské konferenci v New Orleans (http://www.digitalwpc.com/) byly uvedeny mimo jiné Office Web Applications, jinými slovy Office přístupný jen a pouze přes web. Tyto aplikace budou postupně zpřístupněny zdarma všem uživatelům mající LiveID na službě SkyDrive. Office Web aplikace budou též součásti nového Office System 2010 a mají být též k dispozici webové služby pro práci s dokumenty.

Hezký a souhrný přehled Office Web aplikací je v k dispozic na stránkách Office Online http://officebeta.microsoft.com/en-us/Get-started-with-the-office-web-applications-products_suites-HA100405923.aspx.

Cca před týdnem byla celkem v tichosti uvolněna podpora POP3 a SMTP na hotmailu pro každého v každé zemi a též použitelné z mobilu. Já sice používám HTTP přístup, ale pokud je někdo příznivec této “zastaralé” možnosti tak ji má k dispozici.

Popis nastavení jak POP3 tak i SMTP je zde": http://mailcall.spaces.live.com/blog/cns!CC9301187A51FE33!49799.entry

Pokud si myslíte, že VB.NET je jazyk druhé kategorie a dáváte přednost C# (což je taky druhá kategorive v porovnání s C++ :) ) tak vám vřele doporučuji následující video, demonstrující elegantní použití XML Literals ve spojení s ASP.NET MVC.

http://channel9.msdn.com/posts/funkyonex/ASPNET-MVC-using-Visual-Basic-XML-Literals/

Jak tak koukám  tak jsem se problogoval k číslu 100. Mno a proč to neoslavit, že? Přemýšlel jsem čím a vybral jsem něco, co je již trochu starší, ale doufám že snad pořád ještě IN :)

http://silverlight.services.live.com/invoke/23217/Silverlight_big/iframe.html

Asi bych to měl dát spíše na nějaký micro-blog, ale zas takový blogový spammer nejsem….

Myslím si, že jsem dnes narazil na nejdelší název metody v .NETu. Jedná se o FormsAuthenticationHashPasswordForStoringInConfigFile.

A to je vše … Víte o nějakém delším názvu?

Tak už několik dní používám upgradované Windows 7 (Upgrade z Windows Vista SP1 x64 - Život s Windows x64 (9.) – Upgrade na Windows 7 Beta x64) a sesbíral jsem pár postřehů/poznatků. Upgrade proběhl zcela bez problému (sice až na druhý pokus). Upgrade zachoval na mém počítači úplně vše co jsem měl před tím na Windows Vista. Např.:

  • všechny aplikace co jsem měl vytvořené pro IIS zůstaly nadále plně funkční
  • nastavení synchronizace složek mezi počítačem a serverem v práci
  • všechny různé druhy odkazů či favorites zůstaly na svém místě (např. IE favorites)
  • všechna rozšíření shellu či prohlížečů zůstala nedotčena – použivám pro download souborů FDM a jeho integrace do prohlížečů zůstala nedotčena, zároveň zůstaly zachované položky v Open With atd. atd. atd.
  • jednoduše řečeno, tam kde jsem měl nějaká custom nastavení ve Vistě, tak ta mi po upgradu zůstala ve Windows7

Při tom z počítače zmizely “služby”, které již ve Windows 7 nejsou např. Dreamscene. Zároveň se nastartovaly a zmoudřely služby, které jsem kvůli jejich nenasytnosti měl ve Vistě vypnuté – např. Search indexer.

Od upgrade jsem počítač nevypnul, nehybernuji, pouze počítač uspávám do sleep modu. Počítač mi bez problému vydrží ve sleep modu přes celý víkend bez vybití baterie – ve Vistě mi baterie nevydržela.

Níže je menší seznam aplikací/zařízení, které by mohli být ne-zcela plně funkční. To že jede Office asi nemá cenu psát, to asi každý čeká :)

Co funguje:

  • Camtasia Studio 6
  • DOS BOX 0.71 – upozorňuji, že jedu na x64 a DOS BOX používám pro 16-bit aplikace (viz: http://blog.vyvojar.cz/michalowo/archive/2007/08/13/ivot-s-vistou-x64-6-hry.aspx)
  • Nero 7 premium
  • SQL 2005 (9.00.3054.00 (X64)), SQL 2008 (10.0.1600.22 (X64))
  • FireFox 3.05
  • Opera 10.00 Alpha
  • VB6 SP6 – neuvěřitelné, ale VB6 je pořád v kurzu
  • Expression Studio
  • VLC 0.8.6a
  • VPC
  • VMRC Plus
  • Live Mesh – přestože se všude na internetu objevují zprávy jaké mají lidé problémy na Win7 x64, mne zřejmě díky upgradu žádné problémy nenastaly
  • DancePad zařízení – zde jsem udělal pověstné WOW. Mám doma pro děti taneční podložku, která měla problémy na Vistě x64. Nyní jsem ji připojil, nechal počítač najít a stáhnout ovladače z netu a vše jelo bez problému.

Co funguje s problémy:

  • Axesstell CDMA modem. Přesněji řečeno nefunguje Axesstell manager: nepomůlže ani compatibility level nastaven na Vistu či nižší ani Run as admin. Ovladače na Axesstell CDMA modem jsou však funkční, takže pro připojení stačí vytvořit nové spojení v Network Centru.
  • Některé ovladače: po upgrade jsem měl problémy s některými ovladači. Např. pro SideWinder či LifeCam. Windows zařízení identifikovalo, ale došlo ke chybě při instalaci ovladačů. Stačilo však zařízení odebrat v Device Manageru a operaci udělat znovu a již se dotáhli nové ovladače. Nevím zda to bylo způsobeno upgradem a nebo to je obecný problém na x64

Co nefunguje:

  • Daemon Tools: bohužel v současné době nepomůže nic. Tento produkt je v současné době na seznamu aplikací, jež mají compatibility issue s Windows 7. Což mne docela mrzí, protože nevím co mám použít namísto tohoto nástroje. Mám mnoho souborů .nrg a .mdf/.mds. Pokud víte o něčem lepším prosím dejte mi vědět.
  • DreamScene – v Betě nejsou k dispozici žádné Extras vlastnosti. Na internetu kolují zaručené postupy, jak tam vrátit DreamScene z Visty, ale žádný mi nefungoval.
Více článků Další stránka »