Aus der Praxis – Konflikte zwischen SPWebConfigModifications vermeiden
avatar

Wenn eine Lösung Änderungen an der web.config einer WebApplication durchführen soll, ist es sinnvoll, SPWebConfigModifications zu verwenden. Diese können zum Beispiel in der FeatureActivated-Methode des FeatureReceivers eines Features mit WebApplication-Scope hinzugefügt werden. Hier ergibt sich zwangsläufig die Frage, wie solche Veränderungen implementiert werden können, ohne dass die SPWebConfigModifications von zwei verschiedenen Lösungen sich beeinflussen. Hierzu…

Aus der Praxis – Performance Problem in SharePoint bei der Verwendung der Eigenschaft “Item” aus der Klasse “SPFolder”
avatar

Laut der MSDN-Entwickler Referenz soll die Eigenschaft “Item” der Klasse “SPFolder” dazu dienen, das SharePoint Listenelement zurückzuliefern, das hinter eine Ordner (SPFolder Objekt) steht: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfolder.item.aspx Das funktioniert auch wunderbar, so lange man sich in relative kleinen Dokumentbibliotheken befindet. In einem aktuellen Kundenprojekt wollte ich diesen Ansatz in einer Bibliothek nutzen, in der ca. 40.000 Ordner…

Unit Testing bei SharePoint Projekten
avatar

Testgetrieben Entwicklung (test-driven development – TDD) ist ein Muss beim eXtreme Programming. Und selbst wer nicht testgetrieben entwickelt, tut gut daran, sein Projekt mit Unit-Tests zu stützen. Eine hohe Testabdeckung verhindert hier, das bereits implementierte Funktionen bei einem späteren Update zerstört wird. Das Problem: Unit-Testing setzt darauf, dass der entwickelte Code unabhängig von einem System…

Aus der Praxis – Flags Enum Werte komfortabel abfragen
avatar

Schon seit .NET 2.0 gibt es das FlagsAttribute. Damit ist es möglich Enums zu bauen, die eine Kombination aus mehreren Werten erlauben, da die Werte als Bitflags gespeichert werden: [Flags] public enum UserRights { None = 0, Read = 1, Update = 2, Delete = 4, Create = 8, } Setzen Diesem Beispiel folgend können…

Erstes Coding Dojo bei der HanseVision
avatar

Zum Teamevent im Entwicklungsteam haben wir uns dieses Mal vorgenommen ein Coding Dojo durchzuführen.   Was ist denn ein Coding Dojo? Das Coding Dojo lehnt sich an das japanische Dojo an. Dort ist ein Trainingsraum für Kampfkünste in dem man sich Praktiken aneignen und die eigenen Fähigkeiten verbessern kann. Und genauso ist es auch im…

Aus der Praxis – Dokumentenmappen Willkommenseite reparieren
avatar

Neulich kam ein Kollege mit einem Problem zu mir: Um einen Fehler bei einem Kunden zu beheben, musste er das “Dokumentenmappen” Feature deaktivieren und wieder neu aktivieren. Dabei werden allerdings die Willkommenseiten aller Dokumentenmappen in dieser Websitesammlung in Mitleidenschaft gezogen (sie werden danach leer angezeigt). Zum Glück gibt es aber einen Schalter um die Willkommenseiten…

Aus der Praxis – Umwandeln einer Liste in eine Liste der Basisklasse
avatar

Folgende Situation: Es gibt eine abstrakte Basisklasse (z.B. PrincipleBase) und eine Klasse, die von dieser erbt (z.B. Group) und eine Aufzählung von Group Objekten soll nun einer Eigenschaft oder Methode übergeben werden, die aber eine Aufzählung der Basisklasse erwartet: public abstract class PrincipalBase { }public class Group : PrincipalBase { } // … public static…

Aus der Praxis – SQL Server Typ geography in Entity Framework und Co.
avatar

In meinem letzten Artikel habe ich den Datentyp geography vorgestellt, den es seit Microsoft SQL Server 2008 für Geodaten gibt. Nun besteht die Welt ja nicht nur aus SQL Server, oft wird ein objektrelationaler Mapper (OR Mapper) genutzt um aus dem Programmcode auf die Datenbank zuzugreifen. Hier ergibt sich ein Problem, denn z.B. Entity Framework…

Aus der Praxis – Geodaten in SQL Server
avatar

Folgendes Problem: Es gibt eine Anwendung, die Gebäude verwaltet. Der Benutzer gibt eine Adresse ein und soll nun Gebäude angezeigt bekommen, die in der Nähe liegen. Hier sind nun klar Geodaten erforderlich, diese können für Hamburg z.B. vom Landesbetrieb Geoinformation und Vermessung (LGV) kommen. Aber unabhängig davon: wie verwalten wir diese Daten, wie greifen wir…

Aus der Praxis – Programmatisches Auslesen des Checkin Kommentars
avatar

Wieder einmal hat die SharePoint API ein seltsames Verhalten für uns Entwickler auf Lager und ich bin genau reingerannt. Ich wollte den Checkin-Kommentar aller Versionen eines Listenelement einer Dokumentbibliothek auslesen. Intuitiv habe ich diesen Code versucht, der mir NICHT das korrekte Ergebnis lieferte. SPListItem item = … foreach (SPListItemVersion itemVersion in item.Versions) { string comment…