OpenSAGA

You are currently browsing articles tagged OpenSAGA.

Neben vielen punktuellen Erweiterungen und Verbesserungen in OpenSAGA 3.0 sind zwei grundsätzlich neue Bereiche hinzu gekommen. Bisher lag der Fokus von OpenSAGA hauptsächlich in der Umsetzung von Fachanwendungen mit Webtechnologien, besonders im Intranet-Bereich. Die zugrunde liegenden Technologien wurden im Bezug auf ihren Komfort und ihre möglichst inklusive Benutzerfreundlichkeit gewählt.

Zwar lässt sich auf diese Art und Weise grundsätzlich jede Anwendung abbilden, für bestimmte Anwendungsbereiche ist die Umsetzung aber gleichzeitig zu überdimensioniert und für speziellen Anforderungen doch nicht ausreichend. Dies betrifft im Grunde alle Anwendungsbereiche, bei denen der Anwendungscharakter weniger im Vordergrund steht sondern vielmehr die klassische informationelle Internet-Seite als Ganzes oder als Teil eines größeren Portal-Konzepts.

Hier greifen viele der klassischen Überlegungen zum Informations-Design im Internet. Inhalte sind strukturiert und korrelieren mit einer möglichst permanenten URL-Struktur. Es gibt zwar einen klassischen Einstiegspunkt — üblicherweise an der Wurzel-URL, aber auch tiefe Verlinkungen durch Partner, Suchmaschinen und/oder Dritte. URLs und Verlinkungen folgen der Informationsstruktur und nicht Anwendungsregeln.

Um diese Bereiche besser für OpenSAGA zu erschließen, haben wir in OpenSAGA 3.0 zwei neue Konzepte eingeführt.

Content-Mapping

Bisher ergaben sich die URLs einer OpenSAGA-Applikation aus Details der Implementation und Modell-Ids. Mit OpenSAGA 3.0 kann man in großen Teilen frei bestimmen, welche URLs in der Applikation verwendet werden. Hierzu wurde das Konzept der Content-Mappings eingeführt. Im portal.xml einer Extension kann ein <content-mapping-set /> angegeben werden, dass die Content-Mapping-Deklaration enthält.

<content-mapping-set>
    <content-mapping id="cms-test.cm_mapped" location="/mapped/" process-ref="cms-test.p_mapped"/>
</content-mapping-set>

Die Content-Mappings deklarieren für ein bestimmtes URL-Muster, welche Inhalte dort verfügbar sind, ob es Zusatzparameter oder Fachobjekt-Bezüge gibt. Für Prozesse können sowohl die Basis-URL des Prozesses während er läuft bestimmt werden, wie auch Startzustands-URLs. Für Prozesse kann dies erfolgen, muss aber nicht. Wenn kein Content-Mapping für einen Prozess oder einen Startzustand existiert, so wird ein Default verwendet.

Standalone-Views

Zusätzlich zu den Prozessen gibt es nun auch eigenständige Views. Standalone-Views sind den bisherigen OpenSAGA-Views sehr ähnlich, sie sind aber nicht nur ein Teil eines Prozesses und von dessen Logik gesteuert, sondern existieren für sich und werden mit Hilfe von Content-Mappings mit relativen URLs verbunden.

Im einfachsten Fall sieht eine Content-Mapping-Deklaration für einen Standalone-View dann so aus:

<content-mapping id="cms-test.cm_page" location="/page" view-ref="cms-test.sv_page"/>

Das location Attribut definiert die relative URL, das view-ref Attribut referenziert einen standalone view. Die Standalone-View-Modelle können jeweils als Datei unterhalb des Extension-Pfades “models/standalone-views” deklaratiert werden.

Die Content-Mapping-Deklarationen fungieren für Standalone-Views auch als Ziele für logische Links.

Vom Aufbau her sind Standalone-View-Modelle den traditionellen View-Modellen sehr ähnlich, sie haben lediglich ein anderes Wurzel-Element.

<standalone-view id="base.sv_test"
    title="Standalone Test View"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.opensaga.org/schema/model/standalone-view-3.0.xsd">    
    <part-set>
        <part id="base.sv_test.main_part">
            <content>
                <heading value="Hello from the View"/>
            </content>
        </part>
    </part-set>
</standalone-view>

Laufzeit-Pflege

Um von diesem generellen Strukturänderungen wirklich zu Content-Management-Funktionalität zu kommen, können bestimmte Teile des Modells nun auch zur Laufzeit per Adminstrations-Oberfläche, wie auch deklarativ oder programmatisch als Fachobjekte bearbeitet werden. Dazu gehören alle Content-Mapping-Definition, wie auch die Portal-Navigation. Präsentierte Inhalte können auch zur Laufzeit gepflegt werden.

Links:

Tags: , , ,

Ich freue mich, die Freigabe von OpenSAGA 3.0.0M1 bekanntzugeben.

Es handelt sich bei diesem Release um eine echte Alpha-Version, die nicht für den produktiven Einsatz geeignet ist, sondern einen Eindruck von kommenden Features verschaffen soll. Wesentliche Neuerungen sind:

  • vielfältige neue Widgets,
  • deutlich erweiterte Möglichkeiten zur deklarativen Erweiterung von OpenSAGA,
  • die Möglichkeit zur ressourcenbasierten Verwaltung von Inhalten (URL-basiert, mit Möglichkeiten zur Erweiterung zur Laufzeit), die insbesondere CMS-Funktionalitäten (CMS= Content Management System) für OpenSAGA 3 bereitstellen werden,
  • viele Bugfixes und Detailverbesserungen.

Offen sind aber auch wichtige Punkte:

  • Viele der neuen Funktionalitäten sind noch nicht dokumentiert.
  • Es fehlen Beispiele.
  • Das neue Rechtesystem ist noch nicht enthalten.
  • Viele Testfälle fehlen noch.
  • Die neuen Funktionen sind noch nicht hinreichend stabil – es kann und wird beim Testen also zu Fehlern kommen!

Tags: , , ,

Wie bereits hier angekündigt nähert sich OpenSAGA langsam aber sicher dem 3.0-Release. OpenSAGA 3.0 ist zum Teil eine Weiterführung des bisherigen OpenSAGA Weges, teils eine Neuorientierung resultierend aus den bisherigen Erfahrungen aus und Anforderungen von Projekten, die mit OpenSAGA betrieben wurden. Einige Teile wurden konzeptionell überarbeitet (zum Beispiel das Deklarative Rechtesystem) und andere Teile sind neu hinzugekommen.

Wie bereits hier erwähnt, ist einer der Teile die Unterstützung von Content-Management-System Funktionalität. Dies betrifft gleich mehrere Bereiche und Aspekte von OpenSAGA.

Neben den traditionellen OpenSAGA-Prozessen, gibt es nun eine zweite Art von Inhaltsdarstellung in OpenSAGA, nämlich Einzelseiten oder -sichten. Diese gehören nicht zu einem Prozess, sind nicht Teil eines UI-Flusses, sondern existieren einzeln unter einer bestimmten URL. Sie dienen hauptsächlich der Präsentation von Daten und Inhalten, können aber auch als Übersicht und Einsprung in klassische Prozesse verwendet werden. Obwohl sich die technische Form von Einzelseiten und Prozess-Sichten stark unterscheidet, unterscheiden sie ich auf Modell-Ebene kaum. Die Präsentationskomponenten von OpenSAGA (zum Beispiel Datagrid oder List-Iterator) können eins zu eins übernommen werden. Innerhalb von Einzelseiten werden einfache Formulare unterstützt, auch wenn nicht der volle Komfort des normalen OpenSAGA-Objekt-Lebenszyklus zur Verfügung steht.

Die URL-Adressen innerhalb einer OpenSAGA-Anwendung sind nun zu einem großen Teil Benutzer-definierbar. Dies betrifft die eben erwähnten Einzelseiten, wie auch die Einsprungadressen zu Startzuständen beziehungsweise laufenden Prozessen.

Verschiedene Konzepte, die vorher als rein statisches Modell vorhanden waren, führen nun eine Doppelexistenz. Zum Einen gibt es einen aus dem Modell vorgegebenen Teil, zum Anderen kann der Anwendungs-Administrator diese Objekte während die OpenSAGA-Anwendung läuft neu definieren beziehungsweise umdefinieren.Dies betrifft einen Teil der neuen Sicherheitsmodelle, die Navigation und die URL-Zuordnungen von Prozessen und Einzelseiten, wie auch die Definition der Einzelseiten selbst.

Neben diesen großen strukturellen Änderungen gab es auch eine große Menge von kleinen Detailänderungen, die entweder für die Administrationsoberflächen nötig waren, oder sich einfach aus der neuen Struktur ergaben. Einige dieser Änderungen werde ich hier in der nächsten Zeit noch im Detail vorstellen.

Tags: , ,

Nach viel zu langer Sendepause bringen wir nun in den kommenden Wochen OpenSAGA 3 auf die Zielgerade. Eine große Zahl aufregender Neuerungen warten auf OpenSAGA-Nutzer und wir werden viele davon in kleinen Artikeln in den nächsten Wochen bis zum Release vorstellen. Zu den aufregenden Neuerungn gehören u.a.:

  • leistungsfähige CMS-Komponenten, um echte Content-Management-Szenarien mit OpenSAGA abzubilden (angefangen bei der Verwaltung URL-basierter Resourcen bis hin zur Laufzeitanpassung und -pflege von Navigation und Inhaltsseiten)
  • ein modellbasiertes Rechtekonzept, dass eine deklarative Spezifikation des Rechtesystems erlaubt
  • umfassende Erweiterungen des Dialogsystems, so dass wesentlich komplexere Dialoge mit vielfältigen Inhalten realisiert werden können
  • umfassende Erweiterungen zur Individualprogrammierung
  • umfangreiche Performance-Verbesserungen
  • hunderte von Detailverbesserungen

Auf diese und weitere Details werden wir in den nächsten Wochen eingehen, während wir intern allmählich den vollständigen geplanten Umfang der 3er-Version erreichen, Dokumentation und Beispiele überarbeiten, OSclipse im Hinblick auf die Neuerungen fertigstellen und die vielen anderen Dinge tun, die ein großer Versionssprung mit sich bringen.

Wir freuen uns bereits sehr darauf, nach fast anderthalb Jahren mit vielen Projekten und aufregenden internen Neuerungen endlich das rundum erneuerte OpenSAGA 3 der Öffentlichkeit zu präsentieren!

Tags: ,

Christoph Barchnicki

Ein etwas exotischerer Blogeintrag: Einer unserer studentischen Mitarbeiter hat für sein Studienprojekt unter anderem ein Portalsystem realisiert, das Studenten ermöglicht, sich für Praktika, Übungen und weitere Kurse an einer Hochschule anzumelden. Das System sollte mit Hilfe von Grails umgesetzt werden. Nachdem dies weitestgehend erledigt war, ist aufgefallen, dass bei diesem öffentlichen Portalsystem die Barrierefreiheit grundlegend auf der Strecke blieb. Nach Recherche ist leider aufgefallen, dass Grails dem Entwickler diesbezüglich auch nicht wirklich unter die Arme greift.

Kurzerhand fiel die Entscheidung, die Zusatzbibliothek DSS von OpenSAGA in Grails einzubinden und zu untersuchen, wie einfach oder schwer die Integration der Komponente wird.

Warum? Read the rest of this entry »

Tags: , , , , , , , ,

Gegenwärtig prüfen wir die Integration von CKAN in die OpenGovernment Suite OGS. CKAN ist die führende Open-Source-Lösung für die Bereitstellung und Anreicherung offener Daten (Open Data) und wird bereits in sehr vielen Projekten eingesetzt.

Read the rest of this entry »

Tags: , , , , , , ,

Christoph Barchnicki

Am Dienstag, dem 24. Juli fand in unserem Hause die erste Grundlagenschulung (Modellieren mit OpenSAGA I: Grundlagen) für Mitarbeiter der Technischen Universität Clausthal (Lehrstuhl für Software-Systems-Engineering) statt.

Die erste Workshop zu diesem Thema verlief nicht nur gefühlt sehr gut, sondern bekam auch von den Workshopteilnehmern eine positive Resonanz.

Was wurde gemacht?

Nach einer kleinen allgemeinen Einführung in die OpenSAGA-Initiative und SAGA haben die Teilnehmer die Aufgabe bekommen, ein funktionsfähiges “Hotel-Buchungs”-Portal auf Basis des OpenSAGA-Frameworks zu erstellen. Dabei wurde der Buchungs-UseCase nur exemplarisch zur Erläuterung von OpenSAGA-Konzepten umgesetzt.

Schritt für Schritt modellierten die Teilnehmer die Applikation bis zum Ende – teilweise ehrgeizbedingt und motiviert durch die schnellen Ergebnisse darüber hinaus.

Der Workshop ging mit einem kleinem Ausblick auf eine künftige Layout- und Designschulung in OpenSAGA zu Ende. Den Teilnehmern wurde ihr umgesetztes Portal mit einem individuellen Design präsentiert, dass vom Workshopteam (mir ;-) ) vorbereitet wurde.

Am Ende des Tages hatte jeder Teilnehmer ein funktionsfähiges Hotel-Buchungs-Portal in OpenSAGA modelliert, welches die Teilnehmer zusammen mit einem ausführlichem Handbuch mit nach hause nehmen dürften.

OpenSAGA-Academy Schulungsprogramm

OpenSAGA-Academy

Tags: , , ,

Wie schon auf Twitter angekündigt gibt es nun OpenSAGA-Video-Tutorials.

Es werden zunehmend weitere Videos folgen in denen diverse Teile von OpenSAGA und Frameworks, die OpenSAGA verwendet, erläutert werden.

Über reges Feedback würden wir uns freuen.

Den Anfang macht das “Hello World”-Tutorial:

Tags: , ,

Hier gibt es den Link zum CeBIT-Video über meinen Vortrag “Erfolgreich mit Open Source in der öffentlichen Verwaltung”. Viel Vergnügen!

Tags: , , ,

Wir stecken gerade in den finalen Vorbereitungen des endlich anstehenden OpenSAGA-2-Releases, so dass ich leider erst sehr kurzfristig auf unsere Präsenz auf dem Reformkongress 2012 hinweisen kann.

Am 20.03.2012 zeigen wir an Stand 6 insbesondere die Demo-Version der OpenGovernment Suite, die mit Beginn des Reformkongresses auch zum Download zur Verfügung steht. Die Kollegen Christian Schneider, Kathrin Rützel und Dr. Norbert Jesse führen durch die OGS. Darüber hinaus stehe ich zur Verfügung, um OpenSAGA 2 vorzustellen – das Release erfolgtnach aktueller Planung nach diversen Verzögerungen am Donnerstag. Zudem bestreiten wir zwei Veranstaltungen:

Wir freuen uns auf viele Besucher und spannende Diskussionen – erleben Sie live vor Ort, wie mit der OpenGovernment Suite Kommunen jeglicher Größe ein strategisch sinnvoller Einstieg in Open Government gelingen kann und überzeugen Sie sich darüber hinaus davon, wie mit OpenSAGA 2 auch komplexe Individualanforderungen – egal ob in Kommunen oder auf Landes- und Bundesebene – abgedeckt werden können.

Tags: , , , , , , ,

« Older entries