Startseite > Techblog > .NET, Microsoft Sharepoint, Softwareentwicklung > Neues aus der .Net und SharePoint-Welt von der Basta!...
dri

Den Auftakt zum letzten Tag auf der Basta! macht für mich Custom Field Types – Entwicklung und Einsatzmöglichkeiten mit Oliver Wirkus. Die Entwicklung eines Custom Field Type für SharePoint ist eher unspektakulär und wer das schon einmal gemacht hat, wird dazu hier nicht viel Neues erfahren. Einen Tipp möchte ich noch weitergeben: Für die Festlegung von Konfigurationseinstellungen bieten sich die Custom Properties in der fldtype_xxx.xml an – allerdings sollte man bedenken, dass diese bei einem Update immer wieder “überbügelt” wird (dennoch sind die Daten dort allemal besser aufgehoben als “hard coded”). Folgende “Unschönheiten” bzgl. Custom Field Types sollte man bei deren Verwendung bedenken:

  • Office (bis incl. 2007) unterstützt keine Custom Field Types -> diese werden beim Speichern in einer DocLib z.B. aus Word heraus nicht berücksichtigt.
  • Custom Field Types werden beim Export einer Liste nach Excel nicht mit übernommen.
  • Custom Field Types werden in der Datenblattansicht nicht angezeigt.

Zum Schluss noch ein paar Anwendungsbeispiele für Custom Field Types:

  • Implementierung von Validierungsregeln (Anmerkung: geht mit SharePoint 2010 out-of-the-box)
  • Implementierung von Field Level Permissions
  • Anbindung externer Sytems (z.B. Stammdaten für Lookups aus SAP) – Anmerkung: die Anbindung externer Listen über die BDS in SharePoint 2010 dürfte auch hier in etlichen Fällen mit Bordmitteln Abhilfe schaffen
  • Lookups auf Listen in einer anderen SharePoint Website
  • Lookups mit besserer GUI als im SharePoint-Standard (z.B. für sehr viele Einträge)

SharePoint Deluxe mit Silverlight Dynamic Data mit Stephan Kitzler-Walli ist zur Abwechslung mal eine etwas anspruchsvollere Session zu SharePoint-Entwicklung. Es geht um die Erstellung eines dynamischen Listeninhaltseditors (Webpart) auf der Basis von Silverlight. Die Idee ist ebenso einfach wie bestechend: (generischer) C#-Code sorgt für das Einlesen der Daten, die interne Umwandlung der SharePoint-Datentypen in .Net-Datentypen (welche von Silverlight verarbeitet werden können) und das Speichern des ListItems. Das Rendern wird dann über XAML gesteuert – spezifisch für die jeweilige Liste bzw. den Content Type, auf dem der Listeneintrag basiert. Es gibt jede Menge Code und das Ergebnis kann sich blicken lassen.

Nun die letzte Keynote dieser Konferenz: Why does functional code matter? mit Ted Neward, der sich darum bemüht, die funktionale Programmierung aus der Ecke für akademische Sonderfälle herauszubringen. Der Einstieg gelingt provozierend mit “In the beginning god created objects…” – und er sah, dass es gut war, möchte man ergänzen. Warum um alles in der Welt sollte man sich davon jetzt wieder abwenden? Man soll gar nicht. Die Botschaft der Keynote ist: Funktionale Programmierung wird die objektorientierte nicht verdrängen, sondern ergänzen. Sie ist mit objektorientierten Konzepten kombiniert besonders mächtig und sollte einfach als “zusätzliches Tool in der Toolbox” gesehen werden.

Datengetriebene Applikationen mit NHibernate und Spring.NET mit Manfred Steyer gibt eine gute Einführung in den OpenSource-O/R-Mapper, der als starke Alternative zum Entity Framework gilt. NHibernate zeichnet sich durch folgende Features aus:

  • Beziehungen aller möglicher Kardinalitäten (1:n, n:1, 1:1, n:m)
  • Wahlweise Lazy oder Eager Loading
  • viele verschiedene Fetch-Strategien
  • Implementierung von Kaskaden (z.B. Löschweiterleitung)
  • Implementierung von Vererbung mit verschiedenen Strategien
  • Concurrency (wahlweise Lockmechanismen aus der zugrunde liegenden Datenbank oder eigene)

Natürlich gibt es auch Codebeispiele “am lebenden Objekt”. Fazit: Nhibernate ist sehr mächtig, es geht fast alles, was in der Datenbank geht…

Das Applikationsframework Spring.NET unterstützt darüber hinaus bei immer wieder anfallenden Aufgaben. Insbesondere sei hier das Testing datenbank-lastiger Anwendungen aufgeführt. Zusammen mit NHibernate kann sich Spring.Net zu voller Größe entfalten, um z.B. das Transaktionsmanagement zu übernehmen oder das Testen noch einfacher zu gestalten. Die Vorteile der beiden Frameworks liegen auf der Hand. Dennoch sollte man auch die Nachteile nicht außer Acht lassen, z.B. die relativ hohe Einstiegshürde, die komplexe Konfiguration und das teilweise etwas schwierige Versionsmanagement (insbesondere zwischen Spring.Net und NHibernate).

Last but not least gibt es mit 10 spannende Sachen, die man mit der SQL-Server-CLR-Integration machen kann mit Thorsten Kansy ein Angebot an Anwendungsbeispielen für CLR Funktionen – natürlich mit Codebeispielen. Einsatzmöglichkeiten sind z.B.

  • Validierungen (E-Mail-Adressen, ISBN, …) mittels regulärer Ausdrücke
  • Datumsformatierung
  • Konkatenation von Zeichenketten
  • Verschlüsselung
  • Dublettensuche (hier mit Damerau-Levenshtein-Distanz)
  • E-Mail-Versand mit SMTP
  • Abfragen von Währungskursen mittels Webservice

Und so geht sie also dem Ende entgegen, die BASTA! Spring 2010. Nach 3 Tagen Konferenz fühlt der Kopf sich ungefähr genauso voll an wie der Magen, nun gilt es, das Gehörte weiterzutragen und, wo möglich, in der täglichen Arbeit anzuwenden…

Kommentar Feed Trackback URL

Hinterlassen Sie einen Kommentar

Tag Cloud

Unsere Themen

Kommentare

  • Christian Heindel: Hallo Volti, die Option “Verbindung mit ‘Dokumentbibliothek̵ 7; herstellen”...
  • volti: Hi, ich hab das beschriebene Probleme mit Outlook 2010, dort finde ich die Option Aktionen >...
  • Michael Wittwer: Hallo Guter Beitrag, bin seit kurzem auch mit Balsamiq am arbeiten und die Effizienz ist einfach...
  • Frank: Danke, tut und ist im Vergleich zur Atlassian Lösung abwärtskompatibel bis Confluence 2.10.
  • Ghost@: Danke für die schnelle Antwort Martin! Das ist natürlich ärgerlich, dass der Datentyp nicht unterstützt ist....

Twitter