Erstellung eines AddIns für Word 2007 – Teil 1 (Anforderungen)
Saturday, April 5th, 2008Hallo,
die Entwicklung von sog. “Office Based Applications” – d.h. Lösungen für Geschäftsprobleme die durch Erweiterung der Microsoft Office Programme erstellt werden – scheint derzeit groß in Mode zu sein. Die “Visual Studio Tools for Office” (VSTO) versprechen, die Erstellung von AddIns für Microsofts Office Anwendungen einfacher zu machen und dabei die gesamte Bandbreite .NET basierter Frameworks zu Verfügung zu stellen. Diese neuen technischen Möglichkeiten möchte ich gerne näher erkunden und werde dazu eine kleine, aber praxisnahe Anwendung als AddIn für Word 2007 erstellen. Dieses Projekt wird das Thema meiner nächsten blog-postings sein.
Thema
Da der Aufwand sicher nicht ganz gering sein wird, wäre es schön wenn das Ergebnis auch einen praktischen Nutzen hätte. Andererseits möchte ich mich im Rahmen dieser Blog-Postings nicht mit der Lösung eines Geschäftsproblems beschäftigen sondern mit den Möglichkeiten der Erweiterung und Integration von bzw. mit Microsoft Word.
Deshalb wird die angestrebte Lösung eine Prüfung von OCL-Fragmenten auf syntaktische Korrektheit und Typkonformität implementieren. Falls ein solches AddIn eine gewisse Reife erreichen würde, könnte ich es als kostenlosen download auf meiner Firmenwebsite anbieten und damit neue Besucher gewinnen und evtl. Feedback und Diskussionspartner finden. Die komplexe Funktionalität ist für andere Entwicklungsprojekte bereits implementiert und kann ohne großen Aufwand wiederverwendet werden.
Die Verwendung von OCL erlaubt es, Geschäftsregeln formal zu definieren, bevorzugt im Kontext eines UML-modells.
Anforderungsdefinition
Die genauen Anforderungen definieren wir folgendermaßen:
- Zu einem Word-Dokument kann ein UML-modell als XMI-Datei geladen werden. Mit jedem geladenen Dokument wird eine eigene XMI-Datei assoziiert.
- In dem Word-Dokument können OCL-Fragmente definiert werden. Diese werden mit einer speziellen Formatvorlage formatiert. Diese Formatvorlage dient sowohl zur visuellen Gestaltung des OCL codes als auch zur Erkennung des codes durch das AddIn.
- Dem Word-Ribbon wird ein neues RibbonTab hinzugefügt, das die Funktionalität des AddIns bereitstellt.
- Diese besteht aus zwei buttons, einem zum laden des assoziierten XMI-files, einen zum Auslösen des checks aller OCL-Fragmente im gesamten Dokument. Nach einem click auf diesen button wird das gesamte Dokument nach OCL-Fragmenten durchsucht und diese im Kontext des durch das XMI-file definierten Modells geprüft.
- Die Ergebnisse werden in einem separaten Dialogfenster angezeigt.
Die oben genannten Anforderungen sind die Minimalanforderungen, die in jedem Fall implementiert sein müssen, damit das AddIn einen gewissen praktischen Nutzen hat.
Folgende weitere Anforderungen wären sinnvoll, sind aber eventuell zu aufwendig (”nice to have”):
- Beim Klick mit der rechten Maustaste in ein als OCL-Fragement formatierten Text erscheint ein Kontextmenü, mit dem eine Prüfung nur für dieses Fragment angestoßen werden kann. Alternativ kann auch im Ribbon ein button “Check current fragment” zur Verfügung gestellt werden.
- Die Ergebnisse der Prüfung sollten als eigenes Fenster in der Word-Anwendung (”Task pane”) erscheinen. Damit können die Fehler bearbeitet werden und die Prüfungsergebnisse bleiben weiterhin verfügbar. Weiterhin wäre es sinnvoll, wenn man direkt von einer Fehlermeldung an die fehlerhafte Stelle im Dokument navigieren könnte.
- Das gewählte XMI-file wird dauerhaft mit dem Dokument assoziiert, d.h. beim nächsten Laden des Dokumentes lädt das AddIn automatisch die XMI-Datei. Hierzu müsste dem Dokument eine “user defined property” mit dem entsprechenden Dateinamen/Pfad hinzugefügt werden.
Ressourcen:
Visual Studio Tools for Office Developer Portal (Microsoft)
Im nächsten posting werde ich die konkreten zu lösenden Problem definieren.
Viele Grüße,
Andreas
Technorati Tags: Microsoft Word AddIn, Visual Studio, C#