Saturday, March 22, 2008

Day 391: Paris, you are simply the best!

Bonjour!

Few weeks ago I had the chance to go to Paris and I am simply dazzled by this city.

I could spend a weekend there - time sufficient enough only to point out the places you should visit when you come again for a longer period. Nevertheless, I managed to go on top of the Eiffel Tower, Arc the Triumph, walk down the "Champs Elysees" boulevard, have a look at the Louvre and Notre Dam Cathedral.

This is the first time I am really impressed by architecture, incredible structures. A friend of mine had to come and bring me back from the terrace of the Eiffel Tower, I could stay there for hours. Streets in Paris are so wide, I read the city was totally reconstructed around 1850 when, on his way back from London, Napoleon III said he wanted to see Paris as organized as the England capital. Then the government bought all the properties in the center, destroyed old medieval like buildings, laid down canalization, broadened streets and created laws saying houses must not be higher than a certain level. That's why Paris looks so beautiful today.

French language is like music but very difficult to write, quite different from Dutch for example :-)) where every second word contains 'g' produced with difficulties by your throat and nose. French food, bistros, wines, cheese ... I still remember that girl who after dinner said "Monsieur, what kind of cheese do you want ... blue, bri ..." and brought a plate full of all kind of cheese.

You can see photos from the trip here.

I definitely want to visit this city again in summer.

Au revoir! Viva la révolution!

Wednesday, March 12, 2008

Day 381: Some thoughts about MOSS, Workflows, InfoPath and WebServices

Hi. Lately I've been involved in a tricky project and would like to tell you the way I tackled it. While fighting with it I found lots of useful blogs ... so I thought now it's my turn to share some knowledge.

The main part of it consisted of a custom workflow that is attached to a SharePoint document library. When started the workflow creates several tasks that fire up InfoPath forms. InfoPath forms themselves query a web service to populate its drop down lists with data.

The first key moment was the use of Visual Studio 2008 and VSTO (Visual Studio Tools for Office). Now debugging the workflow is a breeze - right click your state machine or sequential workflow project, configure "SharePoint Debug Settings", place your breakpoints, click F5 and enjoy. That's all. VS 2008 will do everything for you, open a browser and navigate to the appropriate document library. No more manual IIS resets, GAC assembly deployment, detaching, attaching ...


Another interesting thing was where to deploy my web service. Knowing where most SharePoint web services are, I headed for the /_vti_bin folder of the moss web application, created a virtual directory to put the .asmx, web.config file and bin folder, configured the directory as application and pointed it to the the correct application pool. So far so good. Problems began when I started to receive this error message: "Unable to connect publishing custom string handler for output caching.". After googling for a while I read that the SharePoint page processing model may cause this because it overrides the way pages are parsed. I needed to modify the web service web.config, as described in this blog, to restore its standard handling. Ok, sounds pretty reasonably, except the fact that it doesn't work. I looked in disbelief for a few minutes when the idea to move the web service to another folder struck me - I put the web service files in the /_layouts folder and now everything was fine.

The next challenge was how to publish the InfoPath forms so that they could still find the web service when we move the application to test environment, for example the web service url in my dev environment looks like http://mossdev/_layouts/DemoWS/Service1.asmx but in the test environment it looks like http:// my.test.server/_layouts/DemoWS/Service1.asmx. I read the following MSDN article "InfoPath Support for Relative Paths to Web Services" but it was not appropriate for my case. It was time for Universal Data Connections. You can create Universal Data Connection File (.udcx) if you "convert" a data connection in InfoPath. What surprised me here was that though I wanted to centrally manage my connection, I had to upload it first to a data connection library, then download a copy and then upload it through Central Administration, InfoPath Forms Services section. The UDC file is a XML file that describes how to access a specific datasource. You can find the following tag inside the file: <udc:wsdlurl> http://mossdev/_layouts/DemoWS/Service1.asmx?wsdl</udc:wsdlurl>.
When you move to another environment you have to edit this file, for example replace the host header for the web service, and upload it again in central administration. The only thing your InfoPath form is interested in is to find the UDC file with certain name located under the IP section of CA. That's all. Very flexible solution!

"Houston, we have another problem!". One of the web methods needed an input parameter. How to supply this value at run time? I felt I could do this from the workflow ... When you define a data connection to a web method that needs parameter, InfoPath creates a Secondary Data Source and exposes this parameter as a field. You know that you can supply information to your form using that ItemMetadata.xml file and ows_field. Ok. I decided to create a rule "set team=ows_team" ("team" is the parameter) that applies everytime the form is loaded. The ows_team value I supply programmatically from the workflow when I create the task with a line like this: spWorkflowProperties.ExtendedProperties["ows_team"] = "team value"; One final problem: My web service was called before the parameter could be set from the workflow. To fix this you have to modify your data connection and uncheck the box "Automatically retrieve data when form is opened", place a control(for example a button) and create a rule saying "execute this data connection when button is clicked". Prima.

Tot zo.

Tuesday, January 29, 2008

Day 339: Genius died. Genius was born.






Goedenavond, dames en heren,

During the past two weeks my attention was attracted by the super super super tournament of Corus. It was held in the town of Wijk aan Zee, a small village located in the north-west part of Holland. It's amazing how this, in the middle of nowhere place, can be the venue of one of the biggest chess tournaments in the World. The strongest chess minds challenged each other in Wijk besides being subject of the unceasing wind, non-stop "stop and go" rain, and of course "without a glimpse of sun" days.

The tournament was bombastic in many ways - it was won by the youngest participant Magnus Carlsen, ahead of two ex World Champions and the current World Champion; the handshake scandal; the fantastic novelty played by Topalov and kept in secret by his second - Cheparinov - for 3 years "until the appropriate occasion has arrived" ... and for a chess fan like me, being part of all this, was an unforgettable experience. The thing I really like in chess is that it is accessible to anyone and you can even sometimes sit behind the board playing against your idols.

Unfortunately, another thing that this tournament has to be remembered for is the announcement of the sudden death of Robert Fischer or as chess lovers know him Bobby Fischer. Bobby died at the chess age of 64 - the number of squares on the chess board. He is a Legend and whatever we say won't be enough, he is the one who made people, who even didn't know how to move the pieces, attracted by this game and follow his match in Reykjavik in 1972 against Boris Spassky, the match during the Cold War that was filled with so much tension.

The genius died but a new star appeared on the horizon - the Norwegian boy wonder Magnus Carlsen. What impressed me most was the way Magnus outplayed his opponents. I could understand over calculating them in complex positions or beating them by preparing a stunning opening variation, but his style is so logical and patient as if he is a grandmaster with 20 years of experience behind him, something totally untypical for a 17-year old "kid".

I'm a bit disappointed I couldn't get an autograph from Magnus but I'm sure we'll see and hear from him more and more in the future.

Well done, Magnus!
Rest in peace, Bobby.


Sunday, November 25, 2007

Day 275: Short trip to London

After surviving very busy two months I could find some time for a short holiday and a trip to London. I had only three days but managed to visit a few interesting places. Though quite expensive and not very secure I always enjoy visiting this city - it's a great mixture of tradition and modern elements.

On Friday had the chance to see the England capital from above by trying "London Eye". It's an amazing construction, right at the heart of the city, that offers a tremendous view over The Thames and The Houses of Parliament.

At night met one class mate from high school who I had not seen for about 10 years. She spent the past 7 years studying for a bachelor degree in Japan. Wow! Respect! After that we joined a "thanks giving dinner" organized by some American students. I didn't know this is such an important event for the North American people. I could hear the story of Pilgrims and the Indians.

Sunday was reserved for going to "Millennium Dome" and seeing the exhibition of the famous Egyptian pharaoh Tutankhamun. This boy took the throne very young but died mysteriously at the age of 19. Some artifacts from the king's tomb were present but the mask and the mummy are strictly kept in the museum in Cairo.

Good night ladies and gentlemen.

Wednesday, November 21, 2007

Day 274: Finally MCPD

After planning for an year to upgrade my old Microsoft certification and failing to do it two weeks ago, I'm finally happy to announce that I passed the exam and am now Microsoft Certified Professional Developer.


Specialist say this will be one of the hottest certifications for 2008:

"This has been a rocket since last year. Demand for these developers are up over 80% compared to last year, and does not seem to be slowing down any time soon. There are only a little over 3000 currently with the certification. If you are looking for a certification track, I would give this one a lot of consideration."

... and here is what Microsoft says:

"The Microsoft Certified Professional Developer: Web Developer (MCPD: Web Developer) certification demonstrates that you have the comprehensive skills that are required to build interactive, data-driven Web applications that use ASP.NET 2.0 for both intranet and Internet uses."

Yeah, I guess so.

Saturday, November 3, 2007

Day 256: Dennis - wat een goal!!

Eens in de zoveel jaar scheidt een historische gebeurtenis de generaties. Hoe vaak wordt door grootmoeder niet nostalgisch gerefereerd aan de tijd voor de oorlog, of wijst de vader zoonlief er fijntjes op wijst dat hij nooit getuige is geweest van het ontstaan van Michel’s en Cruijff’s totaalvoetbal? Meer recent is natuurlijk het EK1988 reden tot het maken van onderscheid tussen de bewuste getuigen, onbewuste getuigen en de generatie die nog verwekt moest worden op het moment dat Van Basten met zijn wreef niet alleen zichzelf, maar ook Mьhren onsterfelijk maakte. Een mooie quizvraag is dan overigens altijd of het nu Arnold of Gerrie Mьhren was die de pass verzond. (dit was natuurlijk Arnold Mьhren, die op zijn beurt de bal van Van Tiggelen ontving)

De goal viel op zaterdag 3 november 2007, even voor 14.00u. Een waas van stilte waaierde uit over het sportpark van het voormalige Duinoord/De Jager, tegenwoordig spelend onder de naam svLY. Het bladerdek achter het doel was momenten later bewoond door een juichende, in het traditionele blauw-rood gestoken, menigte van uitgelaten jongemannen, waarbij ййn onblote torso zich het centrum van de feestvreugde mocht noemen. De oude handen, behorende tot de al sinds 1965 in functie zijnde voorzitter van de supportersvereniging “Duinoord 3”, handelden door de as uit de goed gevulde pijp te kloppen, waarop vervolgens de elektrische signalen binnen deze oude knar de lippen aan het werk zetten, waarbij er een welgemeend ‘wel heb ik ooit’ soepel over deze kleine lappen vlees rolden.

Aanstichter van dit alles was Lyubomir Mishkovski , voetbalnaam “Lubo”. Dit Bulgaarse toonbeeld van onverzettelijkheid, hierin slechts geлvenaard wordt door Jaap Stam in zijn hoogtijdagen, veroverde op de hem typerende wijze de bal ter hoogte van de middellijn. Een stapje links, een klein tikje rechts en een subtiele heupbeweging later vonden zijn ogen die van de gretig wachtende Djoffie Wieske en niet veel later legde het lederen monster dezelfde weg af. Zich nog onbewust van zijn nederige, doch belangrijke rol in dit nieuwe hoofdstuk in de geschiedenis van het veldvoetbal, kaatste Wieske de bal.

Tot dit moment kon dit tafereel symbool staan voor alles wat een normale amateurwedstrijd op reserve 6e-klasse niveau zo heerlijk maakt. Een puffende 40’er die net teruggekomen van zijn 2e burn-out in evenzoveel jaren tijd beseft dat hij te laat is, een wanhopig naar een zweem van buitenspel zoekende grensrechter en een vrolijk keuvelend publiek langs de zijlijn. Tot de bal met de juiste richting en de juiste snelheid de weg tussen Wieske en Lubo heeft afgelegd was alles nog het oude. Het moment hier onmiddelijk op volgend beroerde Lubo de bal met de buitenkant van de rechterschoen. De toegesnelde keeper ontdekte tot zijn afgrijzen dat de voorwaarts gerichte snelheid van de bal werd geлvenaard door de opwaartse gerichte snelheid. Twintig hondersten van een seconde later betrok het gezicht van de tot op dat moment vrijwel onverslaanbare keeper. Op deze finesse had ook de Van der Sar van de Haagse binnenstad niet gerekend. De pogingen die de sluitpost vervolgens ondernam om het tij te keren konden alleen maar bijdragen aan de magie van het moment. Een halve seconde verder bereikte de bal zijn hoogste punt. Toen duidelijk werd dat er onder het aluminium voldoende ruimte was voor het in Taiwan met de hand vervaardigde object om in te verdwijnen openden de kelen van de omstanders zich reeds. Zeven-en-twintig honderdsten later bereikte de magie zijn hoogtepunt met de lichte streling van de netten.

Nu rest slechts de vraag: waar was u?

03 November 2007 | 17:24