tisdag 23 oktober 2012

RsStreamNotFound i SharePoint 2010 Report Viewer webpart

Hej!

Hade nyligen ett drygt problem i en Reporting Services integrerad SharePoint webpart där alla rapporter som skulle visas med "Asynchronous Rendering" flaggan satt till false inte ville låta sig renderas.









När jag inte hade denna flagga fick jag följande felmeddelande:
"Error, The stream cannot be found. The stream identifier that is provided to an operation cannot be located in the report server database. (rsStreamNotFound)"









Googlade lite och de flesta ville ha det relaterat till embeddade bilder i rapporten, samt att det skulle gå att lösa med UseCredentialCache satt till "false" i RS-databasen. Hur som helst hade jag inga bilder i min rapport och letade vidare...

https://connect.microsoft.com/SQLServer/feedback/details/262600/rsstreamnotfound-error-using-the-reportviewer-control

I lösningen i länken ovan nämns att de identifierat felet till att vara "att rapporten innehöll blanksteg i namnet"... då gick det upp för mig... rapporterna som inte fungerade "synkront" innehöll namn med Å, Ä och Ö.

Så... dumpa de vackra svenska vokalerna och undvik antagligen alla andra tecken som i olika XHR-requests antagligen översätts till nåt encodat värde.

Gött mos på Heden som de säger där nere i Göteborg!

måndag 15 oktober 2012

Inline-script i editor på EPiServer CMS 5

Hej!

Stötte nyligen på ett problem där en redaktör ville kunna lyfta in tredjeparts javascript i en editor i EPiServer CMS 5 R2 via html-läget.

Tydligen så verkar det fungera att göra det, det sparas ned korrekt till sidan. Dock försvinner alla inmatade värden i Editorn när redaktören redigerar egenskapen på nytt.

För att gå runt detta kan man mata in följande, t.ex.:
<P>&nbsp;

<SCRIPT src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></SCRIPT></P>

Så stannar det kvar nästa gång man editerar! Gött!

Obs. fulhetsdisclaimer: Den wrappade <p>-taggen är det EPiServer som lägger in och inte jag.

tisdag 2 oktober 2012

SharePoint 2010 och ram-minne

Hej!

Tänkte bara dela med mig av en insikt jag fick efter att ha installerat mer ram-minne på min utvecklar-burk idag...

Utvecklar du till SharePoint 2010 och har för lite ram-minne (<=8 GB)?
- Se till att skaffa mer ram-minne/ny dator! Motverkar gråhårighet och andra smärtor! Socialstyrelsen borde lagstifta kring detta snarast!

Over n out!

onsdag 12 september 2012

Visual Studio Tips & Trix vol 3

Fyller på med några till :)

1. TODO

Hör du till skaran utvecklare som använder sig av notationen:
//TODO: Fix this blabla

Hör du dessutom till den stackars skara utvecklare som fått i uppdrag att gå igenom alla TODOS?
Vad inte alla vet är att det finns ett inbyggt stöd för att navigera bland dessa kommentarer.

I Visual Studio, välj "View" -> "Task List". Välj "Comments" i dropdown-menyn, 
och där är alla TODOS i din solution. Navigera genom att välja en todo och dubbelklicka på den.











Gött!

2. Using alias

Ibland råkar man ut för att olika namespaces krockar namnsättningsmässigt, en vanlig lösning är då att man använder hela namespaces för ena eller båda. Men det går att sätta alias på sina using direktiv så att man kan särskilja dem utan att ange hela namespacen. Vilket jag tycker förbättrar läsbarheten.

Låt oss säga att vi har två klasser med namnet "Helper.cs", den ena under namespacet: MyLib.SharePoint och den andra under MyLib.EPiServer.

Då är det smidigt att ge den ena eller båda ett alias, t.ex.:
using EPi = MyLib.EPiServer;
using SP = MyLib.SharePoint;

Sen anropas respektive klass med aliaset som prefix/namespace EPi.Helper & SP.Helper


3. Bättre prestanda

Det finns många saker man kan göra som snabbar upp VS2010 betänkligt.

Nöjer mig med att plocka med en:

Stäng av HTML designern. 
Görs via Tools -> Options -> HTML Designer och se till att "Enable HTML designer" är urbockad. Jag använder aldrig denna funktion ändå (av principskäl sedan jag råkade ut för automatgenererad markup från helvetet).

Tänk bara på att inte plocka bort  features som du behöver/har nytta av :)

Länktips:
http://stackoverflow.com/questions/4325630/ways-to-speedup-visual-studio-2010
http://lennybacon.com/post/2010/10/18/UltimateGuideToSpeedUpVisualStudio

fredag 7 september 2012

Utveckla för Sharepoint 2010 utan att ha Sharepoint 2010 installerat

Hej å hå!

Idag fortsätter jag med lite mer Sharepoint. När man utvecklar för SharePoint är det gött att använda en virtuell maskin för att slippa lusa ner sitt host-OS med massa dret.

Tyvärr är det en pre-requisite för SharePoint 2010-utveckling i Visual Studio 2010 att man har just Sharepoint installerat.










Visst finns det stora fördelar med att ha en SharePoint installerad lokalt i utvecklingsmiljön (enkelt att debugga, automatisk deploy av solution etc.), men också gigantiska nackdelar i form av prestandatappet som kommer med prestandakraven för en Windows Server med SP 2010 installerat. Sitter man inte på en Rolls Royce till dator så kommer du garanterat att få möe tid över till att lägga patiens medan det står och tuggar.

Nåväl efter lite googlande hittade jag följande forum-tråd:
http://social.technet.microsoft.com/Forums/en/sharepoint2010programming/thread/cda807f6-4edf-4efc-8e9b-4d446356c8ae

Det intressanta är inlägget:
"Hmm .. just tried something .. exported the following hive from the SP2010 server: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0]
and installed it on my host. I can now create SP2010 projects in VS2010."

Nåväl, det testar vi!

1. Visual Studio 2010 SharePoint Power Tools

Först och främst behöver vi installera Visual Studio 2010 SharePoint Power Tools i vår utvecklingsmiljö, som återfinns här:

Det innehåller olika Sharepoint-templates som tar hand om allt tråkigt som man förr fick göra manuellt (wsp-builder, manifesthantering och annat zzzz).

Om man försöker använda någon SharePoint-template direkt efter installation av ovanstående så får man det felmeddelande som bilden överst visar. Så vi går vidare till register-hacket.

2. Regedit 

Leta upp nån maskin med SharePoint 2010 installerat och hoppa in i den.
In i regedit (kör -> regedit), leta upp noden 14.0 (hela sökvägen återfinns i citatet ovan). Högerklicka och välj export.



















Spara filen på nåt klurigt ställe och kopiera över den till din utvecklingsmiljö utan SharePoint.

3. Utvecklingsmiljön

Inne i ditt utvecklingsmiljö, högerklicka återigen på filen och välj "Merge".










Svara ja på säkerhetsvarningen som dyker upp och nu ska det vara klart.

4. Visual Studio 2010

Nu testar jag att skapa ett nytt projekt, t.ex. ett "Visual Web Part Project".

Jajamen, det funka fint! Peka ut nån dummy-url som din SharePoint-path.

Dock kommer olika SharePoint-dll-referenser inte att fungera, så du får kopiera över dessa (återfinns på en Sharepoint-server i mappen <sökväg till hive>\ISAPI\) och lägga t.ex. i en "Dependencies"-folder och peka ut dem därifrån för att kunna kompilera. Typ nåt sånt här:
















Sen är det bara att använda "Package"-funktionen så skapas .wsp-solutions filen i projektets \bin\<debug/release>. Sedan är det bara att flytta .wsp-filen till en SharePoint-server och installera den med stsadm el. dylikt.
Ps. för den som vill prova remote debugging så nämns även det i samma tråd.