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

Před pár dny se mi stala (pro mne velmi milá a překvapující věc), při registraci na Windows Phone 7 Developer Tools jsem použil svoje LiveID, které jsem používal už v dobách, kdy se to jmenovalo Passport ID a které bylo též spojeno s mým účtem jakožto zaměstnance Microsoftu. Přestože to je již 6 měsíců co v této společnosti nepracuji, mé LiveID je pořád vedeno jako zaměstnanecké. To jsem tedy zjistil před pár dny, kdy jsem po registraci na WP7 obdržel přístup do interních skupin MS :) :) :)  A jelikož nevím, kdy si toho někdo všimne, využiji toho k tomu, abych nasál nejnovější novinky a řádně se s nimi podělil se svým okolím ;)

Takže jsem se doteď dozvěděl, že WP7 je pouze mezičlánek k nově připravovanému Windows Phone 8, které budou uvedeny ve stejnou dobu jako Windows 8. Platforma Windows [Phone] 8 by měla být generačním krokem do světa .NETu. Microsoft totiž neupustil od svého konceptu Managed OS, který se v letech 2002-2003 jmenoval Longhorn XP a po letech byla .NET část vyňata a dnes známa jako WPF (Avalon), WCF (Indigo), WinFX a další. Pozor neplést s kódovým označením Windows Longhorn pro Windows Server 2008….

Pouze pro připomenutí jak vypadal Longhorn v dobách dávno minulých

Microsoftu se podařilo vyřešit problém s Managed drivery a tak již nic nebrání spustit historicky první Managed OS. To zda se to nakonec povede těžko říci, přeci jenom z historie známe, kolik projektů bylo zaříznuto před spuštěním např. Performance Point Server atd.

Co z toho pro nás plyne? Windows Phone 8 bude plně běžet v maged kódu a Pozor!!! klasické Windows CE aplikace zde nepojedou a hlavně nebude žádný upgrade z WP7!!! U velkých Windows 8 na tom budeme lépe, Windows API pojede v emulovaném módu, ale nebude možné běřet žádnou 16-bit aplikaci.

S uvedením W8 přijde ještě jedna změna. W8 se budou hodně blížit používání WP8 a též co nejtěsnější propojení s internetem a MS Cloudem. Např. současný Mesh, bude s uvedením W8 ukončen, přičemž každý uživatel W8 a WP8 bude mít k dispozici prostor na Windows Azure. Součástí W8 a WP8 bude značně přepracovaný Mesh klient.

To co mne, ale vůbec netěší je, že se W8 blíží WP8 i svým GUI, viz. obrázek…Mne osobně to příjde příšerný a doufám, že bude možné se přepnout do něčeho normálnějšího. Takhle mi to přijde jako remote obrazovka mobilního telefonu.

Beta WP8 a W8 se má oznámit na PDC 2010 a uvedení na trh je plánováno v době Mixu 2011.

Pokud používáte ne zcela bezpečnou extended proceduru xp_cmdshell (občas to bez ní prostě nejde), tak by se občas třeba i hodilo získat nějakým hezkým způsobem výstup procedury ke zpracování. Možná to je veřejné tajemství jak na to, ale já na to přišel fakt nedávno.

Myslím, že kód níže mluví za vše :)

-- Nejdrive musime povolit xp_cmdshell

EXEC sp_configure 'show advanced options', 1

GO

RECONFIGURE

GO

EXEC sp_configure 'xp_cmdshell', 1

GO

RECONFIGURE

GO

 

-- Vytvorime si tabulku pro ukladani informai z xp_cmdshell

CREATE TABLE ShellOutput (OutputLine VARCHAR(MAX))

GO

 

-- Spustime xp_cmdshell

INSERT INTO ShellOutput

Execute master.sys.xp_cmdshell 'bcp tempdb..Employee out c:\temp\Employee.txt -c'

GO

 

-- Podivame se do tabulky jejiz obsah vidime o par radku nize….

SELECT * FROM ShellOutput

GO

 

OutputLine

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

User name not provided, either use -U to provide the user name or use -T for Trusted Connection

usage: bcp {dbtable | query} {in | out | queryout | format} datafile

[-m maxerrors] [-f formatfile] [-e errfile]

[-F firstrow] [-L lastrow] [-b batchsize]

[-n native type] [-c character type] [-w wide character type]

[-N keep non-text native] [-V file format version] [-q quoted identifier]

[-C code page specifier] [-t field terminator] [-r row terminator]

[-i inputfile] [-o outfile] [-a packetsize]

[-S server name] [-U username] [-P password]

[-T trusted connection] [-v version] [-R regional enable]

[-k keep null values] [-E keep identity values]

[-h "load hints"] [-x generate xml format file]

NULL

(13 row(s) affected)

 

Co více dodat?

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

Více článků Další stránka »