c#

Zugriff auf Listeninhalte mit LINQ to SharePoint

SharePoint 2010 bie­tet mit der Assembly Microsoft.SharePoint.Linq.dll (zu fin­den im Ordner 14\ISAPI) die Möglichkeit, recht ein­fach Listeninhalte abzu­fra­gen. Wenn man sich etwas näher damit beschäf­tigt, kann man sehr viele Parallelelen zu LINQ to Objects und Linq to SQL ent­de­cken. Erster Schritt ist, eine Referenz auf die genannte Assembly hin­zu­zu­fü­gen. Ab die­sem Zeitpunkt steht der Namespace Microsoft.SharePoint.Linq zur Verfügung. Dieser beinhal­tet…

Einfacheres Debuggen mit Attributen

Marko hat in sei­nem Blogeintrag Mitte des Jahres schon gezeigt, wie man mit Hilfe von Detail Formatern die Ausgaben von Eclipse wäh­rend des Debuggings ver­ein­fa­chen oder bes­ser les­bar machen kann – ähn­li­che Funktionalitäten gibt es auch im Visual Studio. Bei Objekten wird im Debugger in der Regel im Feld Value nur der Typ des Objekts ange­zeigt. 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 ers­ten iX Tages im Juli sollte sich dies­mal alles rund um Sharepoint, spe­zi­ell Sharepoint 2010 dre­hen. In über 25 Sessions kam der ambi­tio­nierte Sharepointer voll auf seine Kosten. Das Themengebiet erstreckte sich von ent­wick­ler­las­ti­gen Vorträgen, wel­che sich mit der API Unterstützten…

Webtemplates via C# einem SPWeb hinzufügen

Jeder, der schon ein­mal ein Websitetemplate erstellt hat, kennt den müh­se­li­gen Weg über die vie­len Menu Punkte. Meist muss man erst ein­mal in die "Websiteeinstellungen" (Webseitaktionen -> Webseiteinstellungen -> Alle Websiteeinstellungen ändern). Dort fin­det man unter "Aussehen und Verhalten" -> "Seitenlayouts und Websitevorlagen". Dort kann man nun seine eige­nen Webtemplates aus­wäh­len. Da das ganze aber wenig prak­ti­ka­bel und umständ­lich ist,…

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

Communardo tritt als Media-Sponsor der BASTA! Spring 2010 auf. Sie fin­det vom 22.–26. Februar 2010  in Darmstadt statt und soll dem Wissens- und Erfahrungsaustausch zur .Net und SharePoint Technologie die­nen. 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 wel­cher sich je mit Barrierefreiheit befasst hat, wird schon ein­mal von dem Alternative Rendering Framework von SPWorks gehört haben. ARF ist ein Open Source Project, wel­ches von Vincent Rothwell ent­wi­ckelt wurde um Sharepoint etwas bar­rie­re­freier zu gestal­ten. Das Framework beinhal­tet mehr als 30 Controls für die Entwicklung bar­rie­re­feier Publishing Seiten. Alle Controls erzeu­gen XML wel­ches mit…

Rückblick zur Basta! & Shareconnect 2009 in Mainz

Vom 22 – 24.09.2009 hatte ich, dank mei­ner Firma, die Gelegenheit zur Shareconnect & Basta 2009 in Mainz zu fah­ren. Das ist zwar jetzt schon fast einen Monat her, jedoch will ich euch meine Eindrücke nicht vor­ent­hal­ten. Die Shareconnect fin­det im Rahmen der Basta statt und baut auf  den Sharepoint Days auf, wel­che seit 2007 par­al­lel zur Basta statt­fin­den. In…

.NET RIA Services mit deutschem Visual Studio 2008 nutzen

Neugierig gewor­den von der dies­jäh­ri­gen  Basta! und Oliver Scheers Vortrag über Silverlight und das .NET RIA Framework, wollte ich das Gehörte heute ein­mal ver­su­chen in die Praxis umzu­set­zen. Das .NET Rich Internet Application (RIA) Framework unter­stützt  den Entwickler bei der Erstellung  n- schich­ti­ger Applikationen. Die .NET RIA Services bil­den dabei ein Datenzugriffsmodell wel­che aus einem Objektmodell (z.B. ADO.NET Entity Framework)…

Sharepoint: AddFieldAsXml Bug oder internalName != displayName

Beim pro­gram­ma­ti­schen Erstellen von benut­zer­de­fi­nier­ten Spalten (SPField) in Sharepoint sind einige Dinge zu beach­ten und erwar­ten auch beach­tet zu wer­den. Hält man sich jedoch an die Spielregeln (API Dokumentation) und erzielt trotz­dem nicht das gewünschte Ergebniss, ist wahr­schein­lich wie­der ein Sharepoint Bug gefun­den wor­den. Dies musste ich heute wie­der mal schmerz­haft fest­stel­len. Sharepoint ver­wen­det zwei Namen um Felder zu kenn­zeich­nen.…

Sharepoint 2007: Host-Named SiteCollections und Fehler 401.1

Heute habe ich ver­sucht, über ein Nutzerinterface (GUI) eine Site Collection (Websitesammlung) anzu­le­gen, wel­che über eine eigene Url erreich­bar ist (Host Named Site Collec­tion). Wie erwar­tet ging dies nicht ohne jeg­li­che Komplikationen über die Bühne. Um eine Host Named Site Collec­tion anzu­le­gen, ste­hen dem Entwickler zwei Varianten zur Verfügung. Die erste und von mir bevor­zugte ist die pro­gram­ma­ti­sche: Mit der…

Sharepoint 2007: Ordner in Listen und Bibliotheken entmystifiziert

Die letz­ten Tage habe ich damit ver­bracht, mich mit den Besonderheiten(oder bes­ser absur­den Angewohnheiten) von Sharepoint 2007  zu befas­sen. Speziell mit dem pro­gram­ma­ti­schen Anlegen von Ordnern und Unterordnern in Sharepoint Dokumenten – Bibliotheken bezie­hungs­weise Listen. Hier meine gesam­mel­ten 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 anpas­sen zu müs­sen, ist oft die Masterpage anzu­pas­sen. Wird der Sharepoint ledig­lich als inter­ner Portalserver ver­wen­det, wel­cher nur von einer bestimm­ten Zielgruppe genutzt wird, reicht dazu meist das Anlegen einer eige­nen Masterpage aus. In einem aktu­el­len 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 kom­ple­xer Workflows für den SharePoint spie­len auch Workflowaufgaben für die Benutzerinteraktion wäh­rend der Ausführung des Workflows eine nicht unbe­deu­tende Rolle. Eine sol­che Aufgabe hat nicht nur die Standardeigenschaften wie einen Titel oder eine Beschreibung son­dern auch erwei­terte Eigenschaften. Das prak­ti­sche daran ist, dass diese kein eige­nes Feld in der Liste benö­ti­gen son­dern die Daten in den bereits…

Clientseitiges "onchange" für ASP.Net CheckBoxList Items

Als net­ter ASP.Net Programmierer mutet man dem Anwender wegen eines Klicks in eine CheckBox (in die­sem Fall als Item einer CheckBoxList) kein Postback/Reload der Seite zu. Nun hat man ja aber viel­leicht doch den Wunsch, das eine oder andere beim Klick zu erle­di­gen – cli­ent­sei­tig per Javascript. Wenn mög­lich, will man den ein­zel­nen CheckBoxList Items noch ein paar Attribute mit­ge­ben,…

Sharepoint Listenelement (SPListItem) in eine andere Liste kopieren

Dafür gibt es (theo­re­tisch) eine denk­bar ein­fa­che Lösung: SPListItem bie­tet eine Methode CopyTo(destinationUrl) an (http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.copyto.aspx) – lei­der scheint diese aber nicht (in jedem Fall?) zu funk­tio­nie­ren. Zumindest in mei­nem Fall (benut­zer­de­fi­nierte Liste mit benut­zer­de­fi­nier­tem Inhaltstyp UND Attachments – viel­leicht erwarte ich ein­fach auch zu viel von Sharepoint…) tat sie es nicht. Stattdessen erhielt ich fol­gende Exception: "Source item can­not be…

Formular URLs für Sharepoint Inhaltstypen anpassen

Wenn man in Sharepoint einen benut­zer­de­fi­nier­ten Inhaltstyp erstellt und die­sen einer Liste zuweist, muss man sich im Idealfall nicht um die Formulare für das Anlegen, Anzeigen und Editieren der Listeneinträge küm­mern – dies erle­digt Sharepoint anhand der zum Inhaltstyp zuge­hö­ri­gen Spalten freund­li­cher­weise auto­ma­tisch für uns. Nun kann es aber pas­sie­ren, dass wir mit dem von Sharepoint gene­rier­ten Standardformular nicht zufrie­den…

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) zie­hen – den Rest erle­digt Visual Studio für uns.Wenn man das Gleiche dyna­misch zur Laufzeit errei­chen möchte (weil man z.B. unter­schied­li­che ascx-Dateien ver­wen­den oder ein­und­die­selbe ascx-Datei mehr­mals nach­ein­an­der laden will), kann man das fol­gen­der­ma­ßen bewerk­stel­li­gen: 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 ent­wi­ckelt, hatte viel­leicht auch schon ein­mal das Bedürfnis, eine Sharepoint Liste als Datenquelle für z.B. eine RadioButton List zu ver­wen­den. Dies lässt sich glück­li­cher­weise mit gerin­gem Aufwand umset­zen: Hier ist erst ein­mal unsere Sharepoint Beispielliste: Und hier die RadioButton List, an die wir die Liste bin­den wol­len: Wichtig sind hier die Properties DataTextField…

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

Wenn man pro­gramm­ge­steu­ert eine vor­han­dene Datei von der Festplatte in eine Sharepoint Dokumentenbibliothek hoch­la­den will, kann man dies mit­tels fol­gen­der C#-Befehle bewerk­stel­li­gen: 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,…