OpenSmallOffice - Das Portal

aus openSUSE, der freien Wissensdatenbank


Bild:OSo_logo_-_titel.png

Autor: Thomas Lodewick

Inhalt

not complete !

oSo - Das Portal

Das Portal ist das, was die Anwender letztendlich als Erstes ( und unter Umständen als Einziges ) zu sehen bekommen - daher hier einmal eine kurze Übersicht dazu.

Zu Beginn am Besten zwei Hinweise zu dem, was ich mit dem Portal erst gar nicht versuche:

  • Browsertypisches Verhalten

Sie kennen es vielleicht von diversen Foren oder Blogs: nach dem Aufruf einer solchen Seite erscheint eine Startseite, von der aus Sie Zugriff auf verschiedene "Anwendungen" oder Module haben. Klicken Sie auf den Link einer solchen "Anwendung" oder Modul, wechselt Ihr Browser über eine mehr oder minder langen, teilweise mit vielen Parametern bestückten URL, zur gewünschten Anwendung. Gegebenenfalls wird noch eine Anmelde- oder Loginseite dazwischen geschoben, falls die "Anwendung" bzw. das Modul nur autorisierten Anwendern zur Verfügung steht. In der Regel wird der "Rahmen" um der gewünschten "Anwendung" aussehen wie die vorherige Seite mit der "eingebetteten" Ausgabe der gewünschten Anwendung. Sie können einen Verweis zu so einer Anwendung in Ihre Lesezeichen / Bookmarks / Favoriten hinzufügen, da jede "Anwendung", leder Link, jeder Button etc. mit einer entsprechenden Adresse / URL versehen ist. Außerdem können Sie zwischen den aufgerufenen Seiten mittels der Vor- und Zurück-Button navigieren sowie einzelne Seiten direkt aus der "History"-Funktion Ihres Browser aufrufen.

All diese Funktionen, wie man sie von typischen Websites kennt, wird das Portal nicht unterstützen ! Mehr dazu natürlich im weiteren Verlauf der Beschreibung.

  • Desktoptypisches Aussehen

Es gibt viele technische Ansätze, über einen Webbrowser den Anwendern "Programme" zur Verfügung zustellen, die versuchen, optisch wie lokale Programme auszusehen, um den Anwendern den Umgang mit diesen "Anwendungen" zu erleichtern. Dies führt oft zu Webseiten, die sehr grafiklastig sind. Teilweise werden außerdem in den Seiten eine Menge Statusinformationen gespeichert, die bei jedem Klick auf einen Link oder Button entweder lokal von Javascript ausgewertet oder nach der Übertragung zum Server vom jeweiligen Backend zur weiteren Bearbeitung benötigt werden. Beides führt dazu, das die Ladezeiten teilweise erheblich sind, und Scrollen innerhalb einer solchen Seite läuft nicht wirklich flüssig ab. Sie können dieses Verhalten zum Beispiel bei Seiten beobachten, die mittels dem Atlas-Framework für ASP.NET von Microsoft realisiert werden. Solche Seiten sehen optisch vielleicht wirklich aus wie Programme auf den Desktops von Microsoft, von GNOME oder KDE, kommen meiner Vorstellung von schlanken, schnellen Clients nicht wirklich nahe.

Erwarten Sie daher keine hochglanzpolierte Oberfläche, die sich "nahtlos" in Ihren Desktop integriert und versucht, möglichst viele Gimmicks Ihres Lieblingsdesktop zu imitieren. Das Portal ist, was es sein soll: eine Website !. Wegen des Gegensatzes, der sich zum ersten Punkt ergibt, möchte ich gleich erklären, wie das Portal diesen Spagat vollzieht.

Das Portal und AJAX

Alles, was nach dem Login des Anwenders im Portal dargestellt wird, wird mittels AJAX nachgeladen. In der Kurzform bedeutet dies, das spezielle Funktionen in Javascript im Hintergrund Daten zum Server schicken bzw. vom Server empfangen, und diese im laufenden Browserfenster ausgeben ( für mehr technische Details zu AJAX verweise ich auf den sehr guten Artikel in der Wikipedia: AJAX Programmierung ). Sie kennen die Grundzüge dieses Konzeptes vielleicht von verschiedenen Angeboten auf den Seiten von Google, wie zum Beispiel Google Maps oder auch Google Suggest.

Die Google Suggest-Funktion gehört zweifelsohne zu den AJAX-Techniken, die von vielen Websites am Meisten adaptiert wurde. So unterstützen zahlreiche Foren den Anwender bei der Suche nach Informationen, die im Forum selbst gespeichert wurden: während der Anwender seinen Suchbegriff noch im Suchfeld eintippt, überträgt eine Funktion in Javascript das bisher Eingetippte zum Server, bekommt eine Liste mit längeren Suchbegriffen, die mit dem bisher eingetippten Buchstaben beginnen, zurück und schlägt diese neuen Suchbegriffe dem Anwender in Form einer Liste vor. Dieser kann dann seinen Suchbegriff mit Hilfe der Liste mit einem Klick vervollständigen.

Das Portal überträgt aber nicht nur die Daten zur Ein- und Ausgabe mittels AJAX zwischen Browser und Server, sondern ebenfalls das komplette Layout aller Funktionen, die das System dem Anwender zur Verfügung stellt. Dies erklärt auch, warum sich einzelne "Seiten" des Portals nicht als Bookmark ablegen lassen: es gibt keine vollständigen Adressen / URLs zu den Seiten, sondern nur Verweise auf Funktionen in Javascript, die mittels AJAX mit dem Server kommunizieren. Und solche Verweise lassen sich nicht als Bookmark speichern ! ( Hinweis: es wird aber an einigen Stellen sogenannte Permanente Verweise geben, die ein Anwender dann sehr wohl als Bookmark speichern kann - mehr dazu bei der Beschreibung zu dieser Funktion im weiteren Verlauf ).

Das Portal und Layout

Im Portal wird das Browserfenster des Anwenders in 4 verschiedene Bereiche eingeteilt:

  • Die Menüleiste: wie "jede ordentliche" Anwendung kennt das Portal eine Menüleiste, die sich nach dem Anmelden das Anwenders im obersten Bereich des Browserfensters befindet. Darüber lassen sich sowohl allgemeine Funktionen des Portals aufrufen, als auch spezielle Funktionen der jeweils aktiven Anwendung ( siehe dazu auch die Erklärung zu Anwendungen im weiteren Verlauf ).
  • Die Startleiste: diese befindet sich direkt unterhalb der Menüleiste, und enthält Buttons, mit denen sich die jeweiligen Anwendungen des Portals aufrufen lassen bzw. zu diesen wechseln lässt. Außerdem befindet sich hier ein Suchfeld für die portalweite Suche.
  • Der Viewport: dies ist der Ausgabebereich der jeweiligen Anwendung und nimmt demnach den größten Bereich des Browserfensters ein. Alle normalen Ein- und Ausgaben einer Anwendung laufen innerhalb dieses Bereiches ab. Über die Buttons in der Startleiste kann zwischen den laufenden Anwendungen gewechselt werden, was technisch ein Wechsel des jeweiligen Viewports bedeutet.
  • Die Statusleiste: auch hier gilt: wie jede ordentliche Anwendung erhält auch das Portal eine Statusleiste. Diese übernimmt drei Kernfunktionen:
  1. Bereitstellung und Wechsel zwischen Workspaces
  2. Ausgabe einer Iconleiste für Anwendungen ohne Viewport
  3. Ausgabe von Statusinformationen aller laufenden Anwendungen und Serverprozese

͏͏͏͏Zur Erklärung:

  1. Workspaces: Dies Konzept ähnelt den verschiedenen Arbeitsflächen, wie sie zum Beispiel die Desktops von GNOME und KDE zur Verfügung stellen. Je Workspace haben Sie Zugriff auf alle Anwendungen, die aber zum Beispiel unterschiedliche Ansichten zu den gleichen Daten liefern können, oder auch in gleichen Ansichten unterschiedliche Daten darstellen. Jeder Workspace ist unabhängig von den anderen Workspaces ( mit Ausnahme natürlich der Datenbasis, da alle Anwendungen in allen Workspaces auf die gleichen Daten zugreifen ). Dadurch ist es möglich, das Sie sich zum Beispiel um mehr als einen Auftrag gleichzeitig kümmern können ( wer kennt dies nicht in einem Büro: während Sie sich mit dem Auftrag des Kunden A beschäftigen, ruft Kunde B an. Anstatt nun in der Auftragsverwaltung von Kunde A nach B zu wechseln, ruft man einfach in einem anderen Workspace neuerlich die Auftragsverwaltung auf und lässt sich dort die Daten des Kunden B anzeigen. Ist die Arbeit mit dem Kunden B beendet, wechseln Sie wieder in den Workspace des Kunden A zurück und können dort in der Auftragsverwaltung weitermachen, wo Sie vor dem Telefonat geendet haben ).
  2. Anwendungen ohne Viewport: Es ist denkbar, das es auch Anwendungen geben kann, die nicht einen eigenen Viewport benötigen, aber dennoch a) anzeigen sollen, das sie geladen sind und b) die Möglichkeit benötigen, das der Anwender Funktionen der Anwendung einfach aufrufen können soll. Dazu gibt es eine Iconleiste in der Statuszeile, in der solche Anwendungen für den Punkt a ein Icon einbinden können und sich für Punkt b mittels eines Kontextmenüs steuern lassen. Diese Funktion entspricht dem Systemabschnitt des Desktops KDE.
  3. Statusinformationen: eine Statusleiste soll natürlich auch das ausgeben, nach dem sie benannt wurde - Statusinformationen. Diese beziehen sich auf alle jeweils aktiven Anwendungen in allen Workspaces. Anwender können aber auch zu bestimmten Serverprozessen Informationen bekommen, sofern sie dazu berechtigt sind ( so möchte ich zum Beispiel als Administrator in Testphasen durchaus wissen, wie es um Serverdienste wie der Workflow-Engine, dem Versenden / Abrufen von eMails oder ähnlichem bestellt ist ). Im Gegensatz zu Statusleisten in herkömmlichen Programmen werden alle Ausgaben während der gesamten Laufzeit des Browserfensters gespeichert, so das der Anwender auch nach dem Ausblenden einer Information diese nochmals abrufen kann ( jeweils mit Angabe der Uhrzeit sowie Sortierung nach Anwendung / Workspace und Serverprozess ).



zurück zu |◄ EinführungoSo - Das System

Hinweis in eigener Sache: mit der Freigabe der Entwicklerversion zu openSUSE Version 10.2 Alpha3 fand auch eine Namensänderung der Distributionen von SUSE Linux nach openSUSE statt. Unabhängig davon, ob Sie nun als Distribution SUSE Linux bis Version 10.1 oder openSUSE ab Version 10.2 nutzen, werde ich im Verlauf des Projekts immer openSUSE als Bezeichnung der Distribution benutzen. Ich bitte um Nachsicht, das ich diesbezügliche Hinweise per eMail nicht weiter beachte.


Hintergrund

Als öffentliche Begleitung zu einem realen Projekt haben wir auch spezifische Anforderungen:


Bevor Sie beginnen

Wenn Sie ein komplett neues System aufsetzen wollen und noch keine Erfahrungen damit haben, sollten Sie folgende Hinweise beachten:

Netzwerk-Tipps

openSUSE-Basis

Eingesetzte Serversoftware Sie finden von dieser Übersichtsseite ausgehend eine kurze Beschreibung zur Serversoftware, wie Sie die Software nachinstallieren können und wie sie bei uns konfiguriert ist. Dazu zählen


Rechtliches

Beachten Sie bitte das Copyright, die Lizenz sowie Haftung unter Rechtliches. Beim Einsatz des Projekts ( im Ganzen oder in Teilen davon ) werden diese ausdrücklich anerkannt.

Siehe auch

innerhalb von openSUSE

Weblinks

Artikel bei Wikipedia