Startseite > Techblog > Artikel mit dem Tag: microsoft-office-sharepoint-server-2007
lke

Seit dem 23.02.2010 steht das Cumulative Update Februar 2010 für Windows SharePoint Services 3.0 und  Microsoft Office SharePoint Server 2007 zum download bereit. Artikel vollständig lesen »

Kommentar Feed Trackback URL
thu

Am Mittwoch dem 15.12.2009 wurde das Cumulative Update Dezember 09 für Windows SharePoint Services 3.0 und  Microsoft Office SharePoint Server 2007 veröffentlicht. Über die folgenden Links können sowohl das WSS 3.0 als auch das MOSS 2007 Full server package heruntergeladen werden.

WSS 3.0

Das Paket beinhaltet die folgenden Hotfixes:

MOSS 2007

Das Paket beinhaltet die folgenden Hotfixes:

Installation:

Nach erfolgter Installation des Service Pack 2 für MOSS und WSS können die Server packages 977026 & 977027 installiert werden.
Im Anschluss muss der Sharepoint Configuration Wizard ausgeführt werden.

Kommentar Feed Trackback URL
lke

Immer häufiger verdrängt der SharePoint Server den Fileserver als Ablageort von zentralen Datei. Doch leider stößt man dadurch nur all zu schnell an die Grenzen der Contentdatenbanken(ca. 100 GB). Seit dem SQL Server 2008 steht eine neue Funktion Filestream zur Verfügung, welche es erlaubt, die sogenannten Blobs direkt auf die Festplatte zu schreiben. Näheres zum Blob Storage finden Sie hier. Bei meinen Recherchen zu diesem Thema bin ich über folgenden Artikel von Vincenzo Tenisci gestoßen. SharePoint 2007 unterstützt leider nicht offiziell Filestream. Dennoch möchte ich in diesem Post diese Sache näher beleuchten, da mit SharePoint 2010 diese Funktionalität vollständig unterstützt wird.

Artikel vollständig lesen »

Kommentar Feed Trackback URL
thu

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 Programmierung von Sharepoint befassten über Vorträge der administrativen Art bis hin zur neuen Sharepoint Pie.

Artikel vollständig lesen »

Kommentar Feed Trackback URL
thu

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 Hilfe von XSLT letztendlich zu HTML Seiten gerendert werden kann.

Eines dieser Controls, welches aktuell bei uns verwendet wird, ist das ARF Navigations Control. Beim Anlegen einer Überschrift mit Link, kann optional ausgewählt werden, ob die Seite in einem neuen oder in dem aktuellen Fenster geöffnet wird.  Dabei ist mir aufgefallen, dass das ARF Menü diese Checkbox schlechthin ignoriert.

Properties

Artikel vollständig lesen »

Kommentar Feed Trackback URL
thu

Vom 22 – 24.09.2009 hatte ich, dank meiner Firma, die Gelegenheit zur Shareconnect & Basta 2009 in Mainz zu fahren. Das ist zwar jetzt schon fast einen Monat her, jedoch will ich euch meine Eindrücke nicht vorenthalten.

Die Shareconnect findet im Rahmen der Basta statt und baut auf  den Sharepoint Days auf, welche seit 2007 parallel zur Basta stattfinden. In über 50 Sessions geben Experten Einblicke in die Sharepoint Welt sowohl aus Administratoren Sicht, als auch aus der Sicht von Entwicklern. Da durften auch die Experten von Communardo nicht fehlen.

Nach einem anstrengenen Flug und Bahnerlebnis und einem anschließenden Gewaltmarsch über die Theodor-Heuss-Brücke erreichte ich am 22.09 pünktlich zur ersten Session die Rheingoldhalle in Mainz. Begrüßt wurde jeder Teilnehmer mit dem Basta Survival Pack bestehend aus Rucksack, T-Shirt und allerlei Büromaterial ( Danke nochmal). Danach hat es mich direkt in den Vortrag von Oliver Sturm verschlagen, welcher bereits eifrig über die Zukunft von C# und .NET philosophierte, Co- und Kontravarianz erläuterte und die dynamischen Erweiterungen von .NET 4 vorstellte.

Gott sei dank habe ich mir im Vorfeld bereits die Sessions der Konferenz zusammengestellt, was gar nicht so einfach war.  Das Angebot umfasste rund 90 Sessions, wobei jeweils ca. 9 gleichzeitig liefen. Dank des tollen Zeitplaners konnte man aber den Überblick behalten und keine der Veranstaltungen verpassen.

Nach dem Vortrag von Oliver Sturm zog es mich direkt zu der ersten Sharepoint Session von Björn Schneider : “Planung und Aufbau von hochverfügbaren SharePoint-Infrastrukturen”.

Christian Glessner veranstaltete im Anschluss die Sharepoint Freak Show. Hier wurden richtig coole Ansätze gezeigt, Sharepoint mit jQuery, PowerShell, IronRuby oder IronPyhton zu erweitern. Seit Christians Demos, welche den Umgang  mit Powershell und Sharepoint zeigten, bin ich richtiger Fan der Powershell geworden.

Weiter ging es mit einer Demonstration wie extrem sich Sharepoint bezüglich seines User Interfaces verbiegen lässt. Michael Hofer zeigte anhand eines Fallbeispieles wie Sharepoint mit Hilfe von Bordmitteln zu einem Intranetportal ähnlich der Startseite von www.bbc.com umgebogen werden kann. Auch wenn die Technik an diesem Tag nicht mitspielte , anhand der Screenshots konnte man schon sehr gut erkennen welche Lesitung in diesem Customizing Projekt erbracht wurde.

Für die letzte Session des Tages habe ich mir “(Keine) Zeit für Herzrasen” von Torsten Weber gegönnt. Am besten ist dieses Thema durch Torstens eigene Worte beschrieben:

Es geht um Handlungsmaximen für eine ausgeglichene Work-Life-Balance, “Entschleunigung” für Fortbildung, Freiräume und Erfolg mit Werkzeugen wie MindManager oder Livescribe.

Obwohl dieser Vortrag so rein gar nichts mit Programmierung oder IT zu tun hat, habe ich es genossen Torstens Worte zu folgen. Wer mehr zu dem Vortrag erfahren möchte kann ihn hier nochmal nachlesen.

So ging er zu Ende dieser erste Tag der Shareconnect & Basta in Mainz. Zwischen den Sessions wurde man durch das Konferenz Team mit reichlich Kaffee, Kuchen, Brötchen und warmen Mahlzeiten am Mittag versorgt. Ganz nebenbei konnte ich nette Kontakte knüpfen und Produkte von Firmen bestaunen. Es gab sogar die Möglichkeit sich massieren zu lassen.

Pünktlich 8:30 ging es dann am Mittwoch mit Bus und Bahn zur Reingoldhalle, zum zweiten Tag der Basta. Nach einer kurzen Auffrischung meiner Webpartentwicklungs – Kentnisse mit Renè Hèzser verschlug es mich zu Manfred Steyers Session “Codequalität mittels Code Contracts und PEX”.  Da meine Interessengebiete in Codequalität und Clean Code Development liegen, war ich sehr interessiert daran wie Code mittels Code Contracts besser und sicherer gestaltet werden kann. Zunächst entwickelte Manfred Steyer eine unscheinbare C# Klasse, welche ein Taschengeldkonto verwalten kann. Nach und nach wurden Mängel und Lücken im Quellcode aufgedeckt und anschließend erläutert, wie diese durch Code Contracts und PEX verhindert werden können. Für mich eine der besten Sessions der Basta.

Die letzten drei Sessions für diesen Tag waren sehr von Silverlight 3 geprägt. Los ging es mit Christian Wenz, welcher alle prägnanten Neuigkeiten in Silverlight 3 präsentierte. Dazu gehören Features wie Element Data Binding, 3D Unterstützung oder das legendäre Out Of Browser Funktionalität ;)
Oliver Scheer schloss sich den Ausführungen von Christian Wenz fast nahtlos an und erläuterte wie Silverlight 3 für Enterprise Business Aplikationen verwendet werden kann. Silverlight 3 bringt dazu schon einiges an Funktionalität mit, wie etwa die eben genannte Out Of Browser Fähigkeit, smooth streaming oder die neuen RIA Services. Obwohl Olivers Vortrag eher sehr multimedialastig gehalten war und ich den Enterprise Aplikations Teil ein wenig vermisst habe war die Darbietung von Oliver wie immer sehr genial. Jörg Krause beendete den Tag mit einem Überblick der Methoden um Webparts in Kombination mit Silverlight zu verwenden.

Selbst den Abend konnte man auf der Basta verbringen indem man sich beispielsweise direkt auf das BASToberfest gesellte.

Der dritte und somit letzte Tag der Basta war für mich komplett von Silverlight und WPF geprägt. So ging es pünktlich 8:30 mit Oliver Scheer und seinen Ausführungen zu “Design the next RIA Generation” los. Nach diesem Vortrag sollte auch der Letzte alle neuen Features von Silverlight 3 kennen :) Ob Ton, Bild, Streaming ,Styling oder Skinning.
Markus Egger zeigte in den nachfolgenden 2 Sessions wie WPF & Silverlight Business Applications gestylet und anschließend in wiederverwendbare Komponenten ausgelagert werden werden können.  Auch diese beiden Tracks kann ich mit gutem Gewissen zu meinen persönlichen Highlights der Basta zählen. Anhand eines aktuellen Projektes erklärte er wie mit Hilfe von Styling und Skinning die Performance und Usablity einer Applikation gesteigert werden kann. Anschließend zeigte er auf welche Art und Weise Silverlight Komponenten ausgelagert und somit zu wiederverwendbaren Komponenten gewandelt werden können. Auch aus diesen Erläuterungen konnte ich sehr viel für mich mit nach Hause nehmen. Die für mich letzte Session der Basta verbrachte ich bei Jan Blessenohl von Telerik und seinen Ausführungen zu Silverlight und dem RIA Framework.

Vor der täglichen  Mittagspause fanden sogenannte KeyNotes statt in denen Sprecher wie Tony Lanni oder aber auch Frank Fischer von Microsoft die Zuschauer unterhielten.Tonny Lanni erklärte in seiner KeyNote “What can Sharepoint do for you” wie sehr er die Sharepoint Fee mag und diese Figur in seiner Firma wiederspiegelt. :) Hier nochmal für alle das Video

[youtube]http://www.youtube.com/watch?v=lw-OHO3UMco&feature=PlayList&p=328055501A304058&playnext=1&playnext_from=PL&index=36[/youtube]

Abschließend kann ich feststellen, dass sich die Shareconnect und Basta 2009 für mich persönlich sehr gelohnt hat. Ich konnte viele für mich neue Gesichter kennenlernen und auch viele Anregungen mit nach Hause nehmen.

Kommentar Feed Trackback URL
thu

Ein Teil unserer Kernkompetenzen im Umgang mit Sharepoint, ist die Migration von Altsystemen zu Sharepoint. Ein aktuelles Projekt stellte uns vor die Herausforderung, Inhalte, Stylevorgaben und Meta-Daten mittels XML Import aus einem bestehenden Content Management System 1:1 nach SharePoint zu übernehmen. Besonders problematisch war dabei der Fakt, dass sich innerhalb der Daten Parameter für die Businesslogik versteckten. Diese Logik musste in SharePoint zum Teil nachgebaut und beim Import berücksichtigt werden.

Eine Teilaufgabe des Imports bestand in der Übernahme der eigentlichen Inhalte der Seiten. Diese lagen als barrierefreies HTML vor und mussten deshalb original so in die SharePoint Seite importiert werden.

Meine Aufgabe bestand nun darin, den originalen HTML Inhalt der zu migrierenden Seite in eine Sharepoint Seite zu importieren. Möglichst sollten die Optik  (Styles, Bilder, etc.) sowie der Inhalt (inkl. Links, Tabellen etc.) unangetastet bleiben.

Sharepoint bietet dem geneigten Entwickler mit seiner API reichlich Werkzeug um diese Aufgabe zu bewältigen. So kann eine Seite ohne Probleme mit folgenden Programmcode angelegt werden:

PublishingWeb currPublishingWeb = PublishingWeb.GetPublishingWeb(webContext);
PublishingPageCollection pages = currPublishingWeb.GetPublishingPages();
PublishingPage currentPage = pages.Add(pageFileName, layout);

Auf diese Weise ist eine Publishing Page schnell erstellt. Soll diese jetzt auch noch mit Inhalt versehen werden, wird das SPField, das für den Inhalt einer PublishingPage zuständig ist, benötigt.

Das SPField für Inhalte ist das PublishingPageContent Field, das über die FieldId Klasse verwendet werden kann.

SPListItem newFileItem = newFile.Item;
newFileItem[FieldId.PublishingPageContent] = htmlContent;
newFileItem.Update();

Bis hier wurde alles ordnungsgemäß von Sharepoint ausgeführt. Die Seite wurde angelegt und der Inhalt wurde auch gesetzt. Beim näheren Betrachten der neu Erstellten Seite wurde ich jedoch misstrauisch:

  • Aus einfachen Links wie zum Beispiel <a href=”../../beispiel.htm”>Beispiel</a> wurde <a>Beispiel</a>.
  • Kommentare wie <!– comment –> wurden einfach gelöscht
  • Auch Attributen wie beispielsweise Ids oder Klassen(class)  in Divs wurden gelöscht
  • Anführungszeichen wurden entfernt – <div style=”test”/> wird zu <div style=test/>

Durch dieses Verhalten wurden die importierten Seiten “wertlos” für mich. Alle darauf folgenden Versuche den Inhalt in die Seite zu schreiben schlug fehl. Versucht habe ich folgende Wege:

  1. Den Inhalt zu encodieren und anschließend wieder zu dekodieren. Prinzipiell hätte diese Variante funktioniert, jedoch hätte ich die Render Methoden des Sharepoint RichtTextEditors überschreiben müssen. Das hätte wiederum den Nachteil das die Editor Funktion nicht mehr ordnungsgemäß arbeitet. Der ausschlagegebende Faktor diese Variante nicht zu verwenden war jedoch die fehlende Möglichkeit der Indexierung des Inhaltes, da bei dieser Variante der Inhalt in Base 64 – codierter Form in der Sharepoint Datenbank gespeichert worden wäre und so durch die Suche nicht mehr indexiert werden kann.
  2. In einem zweiten Versuch, lud ich mir den Stream der neu angelegten Seite (auf File – Ebene) und ersetzte den von Sharepoint beschädigten HTML Inhalt durch den originalen. Leider wurde dieser Inhalt beim Speichern der Datei erneut beschädigt.
  3. Einen dritten Versuch ersparte ich mir, da dieser die Modifizierung der Sharepoint Datenbank vorgesehen hätte. Ich glaube der Erfolg hätte sich auch in Grenzen gehalten?!

Da ich das Problem gerne ohne “Dirty Hacks” lösen wollte, entschied ich mich eine Supportanfrage bei Microsoft zu stellen. Dazu sei erwähnt, dass die Anfragen über den Microsoft Support sehr schnell und kompetent beantwortet und abgewickelt werden.  Ich sollte meine Antwort von Microsoft bekommen; Leider hieß diese “By design” oder kurz auf deutsch: abgewiesen.

Die Begründung: Mirosoft Sharepoint nutzt einen sogenannten XSS (Cross side scripting) Protection Mechanismus. Dieser sollte verhindern das schädlicher Inhalte (Code) in Sharepoint eingepflegt werden kann.

Davon betroffen ist allerdings auch das HTML Texteingabe Control. Beispielsweise würde dieser Programm – Code wie folgt abgeändert:

original:       Das ist ein gutes <SCRIPT>void:alert("hello world")</SCRIPT> Script
verfälscht:     Das ist ein gutes Script

Auch “<” oder “>” Zeichen würden wie folgt abgeändert: &gt – &lt. Ich empfinde dieses Verhalten als vollkommen richtig und auch nachvollziehbar, wenn es dabei bleiben würde. Es stellte sich herraus dass dieser XSS Filter auch für die Kürzung meiner HTML Inhalte zuständig war. Microsoft selbst kann sich nicht erklären warum dieser Filter solch drastische Änderungen am HTML Quellcode vornimmt. Man riet mir von Seiten Microsoft ernsthaft  entweder ein 3rd Party AddOn als Ersatz für den RichTextEditor einzusetzen oder aber die Daten nicht innerhalb Sharepoints zu halten, sondern extern. Keiner der beiden angebotetenen Lösungen erschien mir für unser Projekt auch nur ansatzweise logisch beziehungsweise umsetzbar.

Lösung:

Um die Inhalte dennoch wie gefordert 1:1 importieren zu können, musste nun ein Workaround gefunden werden. Dazu bot sich eine Codierung der beim Import beanstandeten HTML-Tags an. Nach der erfolgreichen Integration der Methoden in unseren Import können nun alle Inhalte wie gefordert übernommen werden.

Kommentar Feed Trackback URL

Tag Cloud

Unsere Themen

Kommentare

  • SharePoint_Team: Rückblick zum Treffen der .NET Usergroup Dresden am 24.02.2010: im #Communardo #Techblog...
  • TorstenHu: Rückblick zum Treffen der .NET Usergroup Dresden am 24.02.2010: im #Communardo #Techblog...
  • SharePoint_Team: Neuer Blogpost zur #BastaCon im #Communardo #TechBlog: http://tinyurl.com/yjqyqpb This comment was...
  • SharePoint_Team: Nur noch etwa 1 Stunde, dann beginnt die .NET Usergroup… http://bit.ly/dxDoKg This comment was...
  • SharePoint_Team: RT @TorstenHu: ViS is waiting for an operation oder Warum Copy & Paste schlecht ist: #Communardo...

Twitter