Confluence Wiki Code Plugin für ABAP Syntax Highlighting

FIVE1 wird im Sommer diesen Jahres drei Jahre alt und natürlich haben wir in diesen drei Jahren auch sehr viel Wissen angehäuft und stehen vor dem Problem, dass jedes Unternehmen hat. Wie kann ich mein Wissen aufbereiten, so dass es den entsprechenden Personen zugänglich ist. Wir möchten dieses Problem mit einer Unternehmenswiki angehen. Nach einer intensiveren Recherche in den letzten Monaten und Dank dem Telefonat mit SAP Mentor Oliver Kohl bin ich zu dem Ergebnis gekommen, dass Confluence von Atlassian unseren Anforderungen am ehesten entspricht. Schließlich kenne ich die Confluence Wiki bereits durch meine Tätigkeit als Moderator der Visual Composer Wiki im SAP Developer Network. Confluence bietet über sogenannte Plugins die Erweiterung der Wiki Funktionalität an. Diese Erweiterungen können über sogenannte Macros in der Wiki Markup Language verwendet werden. Atlassian bietet hier im Standard ein Code Macro, dass es ermöglicht Code Snippets in den Wiki Seiten mitaufzunehmen. Das Code Macro setzt dann das Syntax Hightlighting um wie man es von gängigen Entwicklungsumgebungen kennt. Im Standard werden C#, C++, PHP, Java und einige weitere Programmiersprachen unterstützt. Allerdings wird kein ABAP unterstützt. In unseren Projekten sind kundenspezifische Erweiterungen auf Basis von ABAP allerdings sehr oft notwendig wie zum Beispiel die Implementierung von Customer Exit Variablen im SAP Business Warehouse.


Aus diesem Grund haben wir uns entschieden ein Plugin zu entwickeln, dass ABAP Syntax Highlighting unterstützt. Als ich letztes Jahr im DSAG Arbeitskreis SAP NetWeaver Entwicklung den Visual Composer vorgestellt habe, kam im Arbeitskreis eine Frage auf, ob jemand Erfahrung hat mit einer Wiki, die ABAP Syntax Hightlighting unterstützt. Also gibt es einen generellen Bedarf bei SAP Kunden und Partnern und nicht zuletzt würde die Wiki im SAP Developer Network davon profitieren, wenn es solch ein Plugin gibt. Wir haben uns deshalb dafür entschieden, dass dieses Plugin kostenlos allen zur Verfügung gestellt wird. Wir haben daraufhin ein Projekt auf der SAP Code Exchange Plattform aufgesetzt.


Zunächst standen wir vor dem Problem, dass wir eine aktuelle Liste aller ABAP Schlüsselwörter benötigten. Hier haben wir Unterstützung von den SAP Mentoren Thomas Jung, Gregor Wolf und Oliver Kohl erhalten. Gemeinsam mit meinem Kollegen Christian Fein habe ich mich mit dem Confluence SDK auseinandergesetzt und die ersten Erfahrungen in der Plugin Entwicklung gesammelt. Die erste Version wurde für die damals aktuellste Confluence Version 3.4.9 umgesetzt. Ein bekanntes Problem mit dem Code Macro und den Methoden, die laut SDK vorgesehen sind, ist das selbst Schlüsselwörter in Kommentaren hervorgehoben werden. Die Version 1.0 unseres Plugins hat jedoch auch dieses Problem gelöst und kann von der der Code Exchange Plattform heruntergeladen werden oder von der Atlassian Plugin Website bezogen werden.
ABAP Code Snippet in Markup Language
ABAP Code Snippet in Confluence Wiki
Mit dem Confluence Release 3.5 welches vor ein paar Wochen veröffentlicht wurde, wurde das Code Macro und die Klassen im SDK angepasst. Derzeit sind wir daran das ABAP Syntax Code Highlighting Plugin auf die Version 3.5 und höher anzupassen. Außerdem haben wir die ABAP Schlüsselwörter in eine XML Datei ausgelagert, so dass diese auch für andere ABAP Syntax Highlighter bei Bedarf verwendet werden können.

Weitere Informationen hierzu gibt es auch in meinem SDN Blog.

Getagged mit: ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*