Zugriff auf Listeninhalte mit LINQ to SharePoint

SharePoint 2010 bietet mit der Assembly Microsoft.SharePoint.Linq.dll (zu finden im Ordner 14\ISAPI) die Möglichkeit, recht einfach Listeninhalte abzufragen. Wenn man sich etwas näher damit beschäftigt, kann man sehr viele Parallelelen zu LINQ to Objects und Linq to SQL entdecken. Erster Schritt ist, eine Referenz auf die genannte Assembly hinzuzufügen. Ab diesem Zeitpunkt steht der Namespace Microsoft.SharePoint.Linq zur Verfügung. Dieser beinhaltet…

Einfacheres Debuggen mit Attributen

Marko hat in seinem Blogeintrag Mitte des Jahres schon gezeigt, wie man mit Hilfe von Detail Formatern die Ausgaben von Eclipse während des Debuggings vereinfachen oder besser lesbar machen kann – ähnliche Funktionalitäten gibt es auch im Visual Studio. Bei Objekten wird im Debugger in der Regel im Feld Value nur der Typ des Objekts angezeigt. Mit Hilfe des Plus-Zeichens…

Nachlese unseres Barrierefreiheit Vortrages auf dem iXDay in Düsseldorf

Am 2. Dezember 2009 fand in Düsseldorf der 2.  iX Day rund um SharePoint statt. Nach dem Erfolg des ersten iX Tages im Juli sollte sich diesmal alles rund um Sharepoint, speziell Sharepoint 2010 drehen. In über 25 Sessions kam der ambitionierte Sharepointer voll auf seine Kosten. Das Themengebiet erstreckte sich von entwicklerlastigen Vorträgen, welche sich mit der API Unterstützten…

Webtemplates via C# einem SPWeb hinzufügen

Jeder, der schon einmal ein Websitetemplate erstellt hat, kennt den mühseligen Weg über die vielen Menu Punkte. Meist muss man erst einmal in die „Websiteeinstellungen“ (Webseitaktionen -> Webseiteinstellungen -> Alle Websiteeinstellungen ändern). Dort findet man unter „Aussehen und Verhalten“ -> „Seitenlayouts und Websitevorlagen“. Dort kann man nun seine eigenen Webtemplates auswählen. Da das ganze aber wenig praktikabel und umständlich ist,…

Neues aus der .Net-Welt auf der BASTA! Spring 2010

Communardo tritt als Media-Sponsor der BASTA! Spring 2010 auf. Sie findet vom 22.-26. Februar 2010  in Darmstadt statt und soll dem Wissens- und Erfahrungsaustausch zur .Net und SharePoint Technologie dienen. Von Silverlight 3.0 bis Windows Azure, von Windows 7 über Visual Studio 2010 und Visual Studio Team System 2010 bis C# 4.0 und last but not least SharePoint 2010: Auf…

Sharepoint, ARF – Menü & Open Link in new window

Wohl jeder Sharepoint Entwickler welcher sich je mit Barrierefreiheit befasst hat, wird schon einmal von dem Alternative Rendering Framework von SPWorks gehört haben. ARF ist ein Open Source Project, welches von Vincent Rothwell entwickelt wurde um Sharepoint etwas barrierefreier zu gestalten. Das Framework beinhaltet mehr als 30 Controls für die Entwicklung barrierefeier Publishing Seiten. Alle Controls erzeugen XML welches mit…

.NET RIA Services mit deutschem Visual Studio 2008 nutzen

Neugierig geworden von der diesjährigen  Basta! und Oliver Scheers Vortrag über Silverlight und das .NET RIA Framework, wollte ich das Gehörte heute einmal versuchen in die Praxis umzusetzen. Das .NET Rich Internet Application (RIA) Framework unterstützt  den Entwickler bei der Erstellung  n- schichtiger Applikationen. Die .NET RIA Services bilden dabei ein Datenzugriffsmodell welche aus einem Objektmodell (z.B. ADO.NET Entity Framework)…

Sharepoint: AddFieldAsXml Bug oder internalName != displayName

Beim programmatischen Erstellen von benutzerdefinierten Spalten (SPField) in Sharepoint sind einige Dinge zu beachten und erwarten auch beachtet zu werden. Hält man sich jedoch an die Spielregeln (API Dokumentation) und erzielt trotzdem nicht das gewünschte Ergebniss, ist wahrscheinlich wieder ein Sharepoint Bug gefunden worden. Dies musste ich heute wieder mal schmerzhaft feststellen. Sharepoint verwendet zwei Namen um Felder zu kennzeichnen….

Sharepoint 2007: Host-Named SiteCollections und Fehler 401.1

Heute habe ich versucht, über ein Nutzerinterface (GUI) eine Site Collection (Websitesammlung) anzulegen, welche über eine eigene Url erreichbar ist (Host Named Site Collection). Wie erwartet ging dies nicht ohne jegliche Komplikationen über die Bühne. Um eine Host Named Site Collection anzulegen, stehen dem Entwickler zwei Varianten zur Verfügung. Die erste und von mir bevorzugte ist die programmatische: Mit der…

Sharepoint 2007: Ordner in Listen und Bibliotheken entmystifiziert

Die letzten Tage habe ich damit verbracht, mich mit den Besonderheiten(oder besser absurden Angewohnheiten) von Sharepoint 2007  zu befassen. Speziell mit dem programmatischen Anlegen von Ordnern und Unterordnern in Sharepoint Dokumenten – Bibliotheken beziehungsweise Listen. Hier meine gesammelten Erfahrungen über das Anlegen von Ordnern in Bild- und Dokumentenbibliotheken (Picture- and Documentlibrary) Webseiten Bibliotheken (Pages Library) Wiederverwendbare Inhalte (Reusable Content) Bild-…

Sharepoint 2007 Masterpage Unterscheidung für Gäste und Nutzer

Steht man vor der Aufgabe einen Sharepoint optisch anpassen zu müssen, ist oft die Masterpage anzupassen. Wird der Sharepoint lediglich als interner Portalserver verwendet, welcher nur von einer bestimmten Zielgruppe genutzt wird, reicht dazu meist das Anlegen einer eigenen Masterpage aus. In einem aktuellen Projekt stand ich jedoch vor dem Problem, Gästen sowie Administratoren jeweils eine eigene Masterpage zur Verfügung…

Zugriff auf erweiterte Eigenschaften einer Workflowaufgabe

Bei der Entwicklung komplexer Workflows für den SharePoint spielen auch Workflowaufgaben für die Benutzerinteraktion während der Ausführung des Workflows eine nicht unbedeutende Rolle. Eine solche Aufgabe hat nicht nur die Standardeigenschaften wie einen Titel oder eine Beschreibung sondern auch erweiterte Eigenschaften. Das praktische daran ist, dass diese kein eigenes Feld in der Liste benötigen sondern die Daten in den bereits…

Clientseitiges „onchange“ für ASP.Net CheckBoxList Items

Als netter ASP.Net Programmierer mutet man dem Anwender wegen eines Klicks in eine CheckBox (in diesem Fall als Item einer CheckBoxList) kein Postback/Reload der Seite zu. Nun hat man ja aber vielleicht doch den Wunsch, das eine oder andere beim Klick zu erledigen – clientseitig per Javascript. Wenn möglich, will man den einzelnen CheckBoxList Items noch ein paar Attribute mitgeben,…

Sharepoint Listenelement (SPListItem) in eine andere Liste kopieren

Dafür gibt es (theoretisch) eine denkbar einfache Lösung: SPListItem bietet eine Methode CopyTo(destinationUrl) an (http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.copyto.aspx) – leider scheint diese aber nicht (in jedem Fall?) zu funktionieren. Zumindest in meinem Fall (benutzerdefinierte Liste mit benutzerdefiniertem Inhaltstyp UND Attachments – vielleicht erwarte ich einfach auch zu viel von Sharepoint…) tat sie es nicht. Stattdessen erhielt ich folgende Exception: „Source item cannot be…

Formular URLs für Sharepoint Inhaltstypen anpassen

Wenn man in Sharepoint einen benutzerdefinierten Inhaltstyp erstellt und diesen einer Liste zuweist, muss man sich im Idealfall nicht um die Formulare für das Anlegen, Anzeigen und Editieren der Listeneinträge kümmern – dies erledigt Sharepoint anhand der zum Inhaltstyp zugehörigen Spalten freundlicherweise automatisch für uns. Nun kann es aber passieren, dass wir mit dem von Sharepoint generierten Standardformular nicht zufrieden…

User Controls dynamisch zur Laufzeit in ein Web Form einbinden

Web User Controls (*.ascx) kann man zur Designzeit sehr bequem per Drag & Drop auf ein Web Form (*.aspx) ziehen – den Rest erledigt Visual Studio für uns.Wenn man das Gleiche dynamisch zur Laufzeit erreichen möchte (weil man z.B. unterschiedliche ascx-Dateien verwenden oder einunddieselbe ascx-Datei mehrmals nacheinander laden will), kann man das folgendermaßen bewerkstelligen: Unser User Control heißt „SampleControl“ und…

Verwenden von Sharepoint Listen als Datenquellen für CheckBox Lists oder RadioButton Lists

Wer für Sharepoint Web Forms und/oder Controls entwickelt, hatte vielleicht auch schon einmal das Bedürfnis, eine Sharepoint Liste als Datenquelle für z.B. eine RadioButton List zu verwenden. Dies lässt sich glücklicherweise mit geringem Aufwand umsetzen: Hier ist erst einmal unsere Sharepoint Beispielliste: Und hier die RadioButton List, an die wir die Liste binden wollen: Wichtig sind hier die Properties DataTextField…

File upload in eine Sharepoint Dokumenten-bibliothek (C#)

Wenn man programmgesteuert eine vorhandene Datei von der Festplatte in eine Sharepoint Dokumentenbibliothek hochladen will, kann man dies mittels folgender C#-Befehle bewerkstelligen: SPSite objSite = new SPSite(„http://server/sites/samples“); SPFolder objFolder = objSite.OpenWeb().GetFolder(„Shared Documents“); string sourcePath = „C:\\test.doc“; FileInfo fi = new FileInfo(sourcePath); int fileSize = (int) fi.Length; SPFileCollection objFiles = objFolder.Files; byte[] myFile = new byte[fileSize]; FileStream mystream = new System.IO.FileStream(sourcePath,…