Nachdem Word 2007 ja die nette Funktionalität hat direkt Blog Artikel zu erstellen habe ich mir gedanken gemacht wie man die gleiche Funktionalität zur Erstellung von Wiki Artikel zur Verfügung stellen könnte. Gerade bei Wiki Seiten fallen die etwas “limitierten” Formatierungsmöglichkeiten des Wiki Editors, der im Standardumfang von WSS 3.0 enthalten ist unangenehm auf. Deshalb habe ich mir dafür eine Verbesserung überlegt: Es wäre doch fein direkt in Word einen Artikel zu schreiben (mit Formatierungen, eingebetteten Objekten, usw.) und diesen dann auf einen WSS 3.0 Server zu veröffentlichen. Dabei sind folgenden Probleme zu lösen:
- Wie kann man von einer Client Applikation aus einen Wiki Artikel erzeugen?
Leider gibt es keine OOB Webservices im WSS die das für uns erledigen, d.h. hier müssen wir selbst ein Web Service erstellen, das die Wiki Seite für uns erstellt. - Wie kann man am Server eine Wiki Seite erstellen?
Das klingt einfacher als es sich am Ende herausgestellt hat – ursprünglich dachte ich dass hier einfach eine WebPage hochgeladen werden muss – aber in wirklichkeit steht der HTML Inhalt der Wiki Seite in einem bestimmten Metadaten Feld mit Namen “WikiField”. Außerdem muss man einen Speicherort für alle extern referenzierten Dateien schaffen, wie z.B eingebettete Bilder, css files, usw.) – hier eignet sich am Betsen ein Unterordner in einer Documnt oder Picture Library, die durch das WebService automatisch angelegt wird. - Der Word Inhalt muß in HTML konvertiert werden
Das ist eigentlich einfach, da Word ja die Funktion “Save as HTML” anbietet, dabei muß man nur beachten, das daraus einerseits eine HTML Seite entsteht, andererseits ein Unterordner angelegt wird, in dem sich alle exterenen Referenzen b(Bilder, CSS, Videos,….) enthält – man sieht das hier schon eine ähnliche Struktur wie die Struktur am WSS Server verwenndet wird. Das Word AddIn speichert, nachdem der Wiki Inhalt hochgeladen wurde, alle externen Datein in der vorher angelegten DocLib. Dabei muß natürch der Pfad entspechen dem Server angepasst werden.
Hier ist der ganze Prozess grafisch abgebildet:

Die Installation ist simple:
- als erstes das Webservice am WSS Frontend installieren (in eine eigen Web Application) - Download
- danach das Word AddIn installieren - Downlaod
- dann die Parameter im Word Add In setzen
Ich werde in den nächsten Tagen noch eine Installationsanleitung schreiben und hier publizieren. Außerdem ist das derzeit eine Draft Version – einige geplante Funktionen fehlen noch, z.B. können gepublishte Seiten noch nicht im Word editiert oder überschrieben werden .
Den Sourcecode findet man hier