2007-11-30

Retry activity - artikel samt mina funderingar

Här finns en bra artikel som beskriver hur man bygger en egen semiavancerad aktivitet som uppfyller behovet av ett retry-beteende med en delay.

Min fundering kring hela denna artikel är varför han valt att skriva massor av kod istället för att bara skapa en composit aktivitet. Dvs designa detta med hjälp av en fault-handler, en delay-activity och en while-loop. Borde kunna resultera i en otroligt begränsad mängd kod och en mkt coolare lösning =)

2007-11-29

Innovation Day - Utveckling med Microsoft Office SharePoint Server 2007

Idag fick jag möjligheten att hålla en presentation av Workflow foundation i sharepoint ute hos Microsoft i akalla och det var en mkt trevlig upplevelse (även om det var sista passet innan lunch och några skruvade på sig). Tack för att ni tog er tid och lyssnade på mig även med kurrande magar.

Jag kan varmt rekommendera att bevaka Microsoft's events som på ett enkelt sätt ger oss möjlighet att få tillgång till nyheter.

Naturligtvis är även MSDN/SE en grym startpunkt för hitta guldkorn.

2007-11-22

Visual Studio 2008 - logga eventuella installationsproblem

Hittade denna artikel som pratar om ett verktyg som kan användas för att logga själva installationen av .NET 3.5 & VS 2008. Kan säkert vara ett bra verktyg för er som råkat ut för problem (verkar vara rätt vanligt tyvärr)

Vet att de senaste artiklarna inte direkt handlat om WF men VS2008 är en stor nyhet =)

Direktlänk till verktyget http://astebner.sts.winisp.net/Tools/Collect.zip

2007-11-21

Installation av VS2008

Jag tog ett helhetsgrepp runt installationen och tog bort allt som hade med VS2005 att göra, dvs SDK-er, dokumentation och så vidare. Efter detta installerade jag VS2008 och då började problemen. Dessa visade sig exempelvis när jag skapade ett webprojekt med 3.5 som mål och inte ens den web.config som automatgenererades var ok. Råkade även ut för att WYSIWYG webeditorn inte kunde ladda något så enkelt som en button. Hur löser man nu detta frågar ni? Tja, jag försökte allt och då menar jag verkligen allt.. ominstallation av hela VS, repair av allt möjligt, ta bort div hotfixar till Vista, återställa vissa SDK, ominstallera IIS, ominstallera .NET.. inget fungerade!

Som tur är så fungerade system restore briljant!! Vem kunde tro att den funktionen faktiskt kunde fungera?! Med min gamla VS2005 med tillbehör tillbaka på burken funkade VS2008 fint som tusan =D

Läxa: Avinstallera INTE VS2005 innan installation av VS2008 (kanske inte heller efter)

Av vad jag läst på olika forum så kan detta bero på en SP till NET2.0 (denna finns att ladda ned från microsoft och där står det att den hör till Vista men själva installationen vägrar köra på vista.. go figure) Såg att vissa rapporterat detta på connect.microsoft.com men de blev stängda med cannot reproduce.

Hur som helst så rockar VS2008 så fega inte bara pga mitt bloggande!!

2007-11-20

Visual Studio 2008 ReadMe

Många skippar nog (med glädje) att läsa denna fil men i denna release av VS måste jag säga att det står en hel del viktiga saker rörande bla Workflow Foundation.

Exempel:

2.1.1. Visual Studio SharePoint Workflow features have specific installation requirements.

2.3.1.3. Windows Workflow debugging with T-SQL is not supported.

2.3.1.5. Adding a new database unit test to a workflow project displays an error message.

2.3.1.6. To work correctly, the Visual Basic Workflow designer requires the Visual Web Developer feature to be installed.

2.3.5.5. Using Office SharePoint workflow templates on a 64-bit operating system is unsupported and causes an exception.

2.3.5.10. Visual Studio 2008 throws an exception if you attempt to create a SharePoint workflow project on a computer that does not have SharePoint installed.

2.3.5.11. Compiling the SharePoint workflow sample causes an error message to appear.

2.3.9.1. Custom activities do not appear in the Visual Studio 2008 toolbox when you use Visual C++ Development settings.

Denna readme växer även rätt stadigt så en titt om en vecka igen lär inte skada.

2007-11-19

Skarpa Visual Studio 2008 är nu tillgänglig

Såg på Dag Königs blogg att VS 2008 nu finns för nedladdning på MSDN.. Sist i sjön förlorar =)

Kritisk info angående sharepoint workflows och loggning (del 2)

Del ett finns här

Har letat vidare runt denna issue (även fått bra feedback från er läsare) och har hittat följande två guldkorn.

På detta sätt kan man påverka tiden som associationen (och kopplingen till historyn) finns kvar via kod (för läsbarhetens skull använder jag ingen delegat i kodexemplet).

SPList list = //Din lista
SPWorkflowAssociation wfAssociation = null;
foreach (SPWorkflowAssociation association in list.WorkflowAssociations)
{
   if (association.Name == "Din association")
   {
      association.AutoCleanupDays = 9999;
      wfAssociation = association ;
      break;
   }
}
list.UpdateWorkflowAssociation(wfAssociation);

Jag hittade även ett exempel på hur man kan få samma effekt för egenutvecklade workflows via element manifestet (workflow.xml)

<Elements ....>
   <Workflow>
      <MetaData>
         <AutoCleanUpDays>9999</AutoCleanupDays>
      </MetaData>
   </Workflow>
</Elements>

Ser ut som en relativt enkel väg att gå om det nu fungerar som det är tänkt.

Värt att notera är att en av anledningarna till att det ser ut som det gör är pga prestanda (som vi kan läsa på Robert Bogue's blogg) och vi måste bestämma om vår logg är viktig nog kontra kostnaden. Det jag ser som lesson-learned är att historylistan inte skall användas som en "riktig" logg utan snarare som ett komplement.

Om någon behöver hjälp med att utveckla en egen logg-aktivitet så får ni gärna höra av er ;-)

2007-11-15

Nybörjare?

För alla som nyss upptäckt workflow foundation vill jag påpeka att det finns en hel del guider och liknande i början av denna blogg.

I januari fyller bloggen ett år, får fundera ut något lämpligt sätt att fira den händelsen =)

2007-11-14

SharePoint - Workflow - MSDN Forums

Det finns förresten ett bra forum för oss utvecklare där jag och många med mig försöker svara på många av de frågor som postas där.

På TechEd gjorde Microsoft det väldigt klart för oss deltagare att de valt att satsa på att göra forumen levande och försöka få en bra kvalité i användarupplevelsen så det är antagligen en bra väg att gå =)

Pattern för aktiviter som kan ta lång tid

Hittade en bra artikel som beskriver hur workflow foundation kan hjälpa utvecklare att implementera stöd för aktiviteter som spänner över en längre tid. Där beskrivs även varför vi inte vill blockera tråden som kör vårt workflow och ger en liten blick bakom kulisserna på WF.

I .NET 3.5 har dessa patterna förenklats rejält i och med stödet för WCF (som jag tidigare skrev i bloggen så är WCF den föredragna vägen för att komunicera med en aktiv WF-instans)

I exemplet finns även kod att ladda ned.

Min personliga reflektion är att detta antagligen är ett av de vanligare områdena där vi kommer att se applikationer som springer in i prestandaväggen.

2007-11-12

Kritisk info angående sharepoint workflows och loggning

Under en session på TechEd påtalade en av talarna i förbifarten att workflow-history'n försvinner efter 60 dagar. Detta kom som en rejäl överaskning för mig och jag måste säga att det låter som ett otroligt konstigt designbeslut.

Här finns en bra bloggpost som beskriver problemet i detalj, tydligen är det workflow-associationen för instansen som rensas och på så sätt försvinner relationen mellan objektet och dess ärende (samt logg)

Som tur är går detta enligt en kommentar på den länkade bloggen att fixa genom stänga av jobbet:

Central Administration > Operations > Timer Job Definitions > Workflow Auto Cleanup

Har inte testat detta själv men tror det delvis löser problemet, tyvärr kommer det att bli rejäla problem så fort någon slår på timern igen... En lösning kan vara att programatiskt ändra fältet som sätter de 60-dagarna men det låter som ett hack.

Ni som har möjlighet att påverka Microsoft bör påtala denna brist och förklara hur kritisk den är!

En tanke som slår mig är även varför man gjort denna design.. prestandaproblem eller vad?

Nya starter kits

Här kommer en liten lista på nya/(nya versioner av) ett gäng starter-kits.

Bara att ladda hem och köra igång med Workflow Foundation alltså =)

Skönt att vara hemma från TechEd igen, borta bra..

2007-11-08

TechEd 2007 - Torsdag

Var nyss på en lvl400-dragning med titeln "Deep Dive" som handlade om workflow foundation i sharepoint. Tydligen är det inte många som gjort egna aktiviteter, använt loggning, kopplat in affärslager via WCF osv där ute eftersom dragningen snarare kändes som "lvl200 introduction"

Gick därifrån med lite blandade känslor, ville ha ut mer men kände samtidigt att tekniken rockar och det jag hittils gjort är rätt o riktigt.

Att använda workflow foundation kan vara en utmaning, det är mkt som skiljer sig åt mot traditionell utveckling och det finns många fällor på vägen. Hur som helst blir slutresultatet grymt och om man lägger ned mkt tid i början av projektet så blir det väldigt produktivt senare =)

ps: Ted Pattison pratade sig varm om InfoPath/FormServices, jag håller nog inte riktigt med honom och vill gärna peka ut min tidigare postning om detta ämne.

2007-11-07

TechEd 2007 - Onsdag (del 2)

Har precis käkat lunch och före det var jag på en dragning (lvl300) med Matt Winkle om hur WF/WCF (WF service host) fungerar under ytan samt hur vi kan arbeta med korrelering och liknande utmaningar.

Helt kort handlade dragningen om hur vi kan säkerställa att WCF-anrop (både utgående och ingående) har samma kontext, dvs hur de når samma workflowinstans och även hur de når samma branch etc i denna instans.. Mkt spännande ämne =)

En av de viktigaste saker Matt sa under hela dragningen var i mitt tycke valet mellan Queue/ExternalDataExchange/WCF. Enligt honom var den föredragna vägen helt klart WCF även om applikationen som vi arbetar på ligger på samma dator. Det finns trots allt bla. namedpipes som ger oss bra prestanda.

Microsofts SOA-erbjudande har helt plötsligt blivit så mkt coolare..

TechEd 2007 - Onsdag

Var nyss på en cool lvl400-dragning om workflow foundation. Presentatören visade ett grymt verktyg som heter wca.exe och är en del av Windows Vista-SDK. Verktyget i sig skapar aktiviteter som matchar ett givet kontrakt avsett för ExternalDataExchange och förenklar vardagen rejält för WF-utvecklare.

Läs mer om WCA.EXE och bli lycklig =)

2007-11-06

TechEd 2007 - Tisdag

Igår fick vi bekräftat att Oracas (VS2008) och .NET 3.5 kommer att släppas på MSDN under november. Då Orcas ger möjligheten att utveckla för 2.0, 3.0, 3.5 är det i min värld det naturliga valet av utvecklingsmiljö. Nu hoppas jag bara på ett skarpt uppdrag med behov av WF Service Host =)

2007-11-05

TechEd 2007 - Måndag

Har landat i Barcelona och har hittils hunnit köra en labb med nya WF Service host som verkar otroligt lovande (om än lite buggig).

Själva konceptet att i en SOA värld kunna hantera WF och WCF i en union är otroligt coolt och ger oss arkitekter hela nya möjligheter att göra grymma tjänster som har bättre koll på vad som skall utföras och när.

Nog om detta nu, dags för keynote..

2007-11-02

BizTalk Server 2006 extensions for Windows Workflow Foundation SDK

Nu har byggstenarna för att skapa workflow foundation flöden i BizTalk släppts. Detta kräver att BizTalk 2006 R2 används men det visste vi sedan tidigare.

Tidigare har många undrat om det är BizTalk eller WF som gäller för att skapa processer, nu är svaret lite enklare då dessa båda går att kombinera. En annan möjlighet är att börja med WF och sedan om behov finns välja BizTalk som host.

Läs mera här

OT: På söndag åker jag till TechEd barcelona, skall försöka rapportera direkt därifrån om/när jag ser något intressant.