-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft Computersoftware und insbesondere
ein System und ein Verfahren zur Darstellung von Daten von einer
Vielfalt von Quellen auf eine einheitliche Art und Weise.
-
Hintergrundinformation
-
Die
Informationsmenge und ihre Quellen sind in den letzten Jahren explodiert.
Zurzeit verfügen
Handelsorganisationen über
viele verschiedene Werkzeuge zur Verwaltung dieser Information.
Die Organisation kann eine Textverarbeitungsanwendung verwenden,
um Dokumente zu anzulegen und aufzubereiten, ein Tabellenkalkulationsprogramm,
um Kalkulationen durchzuführen,
ein oder mehr Datenbankwerkzeuge, um auf Marketing-, Angestellten-
und andere Fakten zuzugreifen, Internetwerkzeuge für den Internetzugang
und Intranetwerkzeuge, um auf interne Firmeninformation zuzugreifen,
die auf einer internen Webseite veröffentlicht ist. Jedes Werkzeug
funktioniert auf eine andere Weise; es kann viel Zeit in Anspruch
nehmen, die Werkzeuge zu beherrschen, die man für seine Arbeit benötigt. Außerdem kann
die Lernkurve, welche zum Erreichen von Grundkenntnissen bei der
Verwendung eines bestimmten Werkzeugs erforderlich ist, den Benutzer
davon abschrecken, ein Werkzeug zu verwenden, dass Information liefern
kann, die für
seine Arbeit relevant ist.
-
Die
Einführung
des Internets und des Intranets haben das Problem verschlimmert;
die Menge von Daten, welche dem Durchschnittsarbeiter zur Verfügung stehen,
hat dramatisch zugenommen. Dies hat eine größere Belastung bei der Auf findung
von relevanter Information in dieser Flut von unstrukturiertem Inhalt
mit sich gebracht. Es gibt keine allgemeine Methode, um Information,
die für
den Entscheidungsfindungsprozess wesentlich ist, zu bewegen, suchen,
organisieren, empfangen, verteilen oder daran zusammenzuarbeiten.
Organisationen treffen daher häufig
Entscheidungen, ohne von Fakten zu wissen, welche innerhalb der
Organisation dokumentiert sind, aber dem Entscheidungsträger nicht
bekannt oder nicht zur Verfügung
stehen. Da Geschäftsprozessumgestaltung
und Kundenbeziehungsmanagement weiter zunehmen, wird sich dieses
Problem verstärken.
-
US-A-5
768 528 von Stumm beschreibt ein Verfahren zum Betreiben eines Serversystems,
welches ausgebildet ist, Online-Veröffentlichungen für eine Mehrzahl
von Teilnehmern bereitzustellen. Verleger, zum Beispiel Zeitungsverleger,
welche wünschen,
kommunizieren mit dem Serversystem über das Internet. Jeder Verleger,
der wünscht,
seine Veröffentlichungen
zur Online-Übertragung
verfügbar
zu machen, erzeugt Datendateien, welche Information enthalten, die
solchen Veröffentlichungen
entspricht. Diese Datendateien werden zur Verwendung durch Teilnehmer
an das Serversystem übertragen.
Jeder Verleger sendet an das Serversystem auch zusätzliche
Information bezüglich
des Informationsflusses an die Teilnehmer, wie beispielsweise Informationstypen,
die zu senden sind, Zeitpläne
für derartige Übertragungen,
die Anzahl von Aktualisierungen pro Tag und so weiter. Die Teilnehmer
können
Informationsabfragen gemäß einer
Ereigniszeitplandatei und einer Liste von bestehenden Dateien in
der Datenbank des Teilnehmers einreichen. Als Antwort werden vorbestimmte
Datendateien an den Teilnehmer gesendet, wenn durch einen entsprechenden
Verleger autorisiert. Ein Kanalauswahlmenü kann auf dem Bildschirm des
Teil nehmers angezeigt werden, wobei jeder Kanal einem Verleger entspricht,
bei welchem der Teilnehmer abonniert hat.
-
Es
besteht ein Bedarf an einem Verfahren zur Darstellung von Daten,
welche von einer Vielfalt von Quellen genommen werden, auf eine
einheitliche Weise. Gleichzeitig besteht ein Bedarf an einer Schnittstelle für den Zugriff
auf solche Daten, welche intuitiv und benutzerfreundlich ist.
-
Kurzdarstellung
der Erfindung
-
Gemäß einem
Aspekt der vorliegenden Erfindung werden ein System und ein Verfahren
zur Darstellung von Daten von einer Mehrzahl von Quellen an einen
Benutzer beschrieben. Das System umfasst eine Mehrzahl von Informationsquellen,
eine Benutzerschnittstelle, einen Inhaltsspeicher und einen Server,
welcher mit der Benutzerschnittstelle und dem Inhaltsspeicher verbunden
ist. Die Benutzerschnittstelle wählt
Daten von einer oder mehreren der Mehrzahl von Informationsquellen
aus, welche als veröffentlichter
Inhalt zu identifizieren sind, und gibt Inhaltsabfragen aus, um
auf Daten zuzugreifen, welche als veröffentlichter Inhalt identifiziert sind.
Der Inhaltsspeicher speichert veröffentlichten Inhalt, und der
Server bearbeitet die Inhaltsabfragen, welche von der Benutzerschnittstelle
empfangen werden. Der Server umfasst einen Verwahrungsort und ein
Inhaltsverzeichnis, wobei der Verwahrungsort eine virtuelle Verzeichnisstruktur
verwaltet, welche dem veröffentlichten
Inhalt zugeordnet ist, wobei das Inhaltsverzeichnis eine Inhaltsverzeichnisstruktur
aufrechterhält,
welche auf den gesamten veröffentlichten
Inhalt, der im Inhaltsspeicher gespeichert ist, hinweist und wobei
auf die Inhaltsverzeichnisstruktur durch die virtuelle Verzeichnisstruktur
im Verwahrungsort verwiesen wird.
-
Kurze Beschreibung
der Zeichnungen
-
In
den Zeichnungen, in welchen sich gleiche Bezugszeichen die verschiedenen
Ansichten hindurch auf gleiche Komponenten beziehen, veranschaulicht:
-
1 ein System zur Anzeige
von Information von verschiedenen Quellen;
-
2 eine Ausführungsform
des Systems von 1;
-
3 eine verteilte Ausführungsform
des Systems von 1;
-
4 Objekte innerhalb eines
objektorientierten Inhaltsverwahrungsortsmodells;
-
5 Objekte innerhalb eines
objektorientierten Benutzersicherheitsmodells;
-
6 eine Ausführungsform
einer Seitenvorlage, welche verwendet wird, um ein Objekt auf einer
Benutzeranzeige darzustellen; und
-
7 eine Ausführungsform
einer Seitenvorlage, welche verwendet wird, um zwei Objekte auf
einer Benutzeranzeige darzustellen.
-
Beschreibung der bevorzugten
Ausführungsformen
-
In
der folgenden ausführlichen
Beschreibung der bevorzugten Ausführungsformen wird auf die beiliegenden
Zeichnungen Bezug genommen, welche ein Bestandteil hiervon sind
und in welchen bestimmte Ausführungsformen,
in denen die Erfindung umgesetzt werden kann, erläuternd dargestellt
sind. Es versteht sich von selbst, dass andere Ausführungsformen
verwendet und strukturelle Änderungen
vorgenommen werden können,
ohne sich vom Rahmen der Erfindung zu entfernen.
-
Einige
Abschnitte der folgenden ausführlichen
Beschreibungen sind in Form von Algorithmen und symbolischen Darstellungen
von Operationen mit Datenbits innerhalb eines Computerspeichers
dargestellt. Diese algorithmischen Beschreibungen und Darstellungen
sind die Mittel, welche von den Fachleuten auf dem Gebiet der Datenverarbeitung
verwendet werden, um die Materie ihrer Arbeit am wirksamsten anderen
Fachleuten zu vermitteln. Ein Algorithmus ist hierin und im Allgemeinen
als eine in sich selbst folgerichtige Abfolge von Schritten zu verstehen,
welche zu einem gewünschten
Ergebnis führen.
Die Schritte sind jene, welche physikalische Bearbeitungen von physikalischen
Größen benötigen. Für gewöhnlich,
wenn auch nicht notwendigerweise, nehmen diese Größen die
Form von elektrischen oder magnetischen Signalen an, welche gespeichert, übertragen,
kombiniert, verglichen und anderweitig bearbeitet werden können. Es
hat sich herausgestellt, dass es manchmal, vor allem aus Gründen des
allgemeinen Gebrauchs, angebracht ist, diese Signale als Bits, Werte,
Elemente, Symbole, Zeichen, Ausdrücke, Zahlen oder dergleichen
zu bezeichnen. Es sollte jedoch nicht vergessen werden, dass all
diese und ähnliche
Begriffe den entsprechenden physikalischen Größen zuzuordnen sind und lediglich
zweckdienliche Bezeichnungen sind, welche auf diese Größen angewendet werden.
Es ist zu erwähnen,
dass sich Erörterungen,
welche Begriffe, wie beispielsweise „Verarbeiten", „Rechnen", „Kalkulieren", „Bestimmen", „Anzeigen" oder dergleichen
verwenden, sofern nicht ausdrücklich
anders angegeben als aus den folgenden Erörterungen ersichtlich, auf
die Bedienungsmaßnahmen
und Prozesse eines Computersystems oder eines ähnlichen elektronischen Rechengeräts beziehen,
welches Daten, die innerhalb der Register und Speicher des Computersystems
als physikalische (elektronische) Größen dargestellt sind, bearbeitet
und in andere Daten umformt, welche innerhalb der Speicher oder
Register des Computersystems oder anderer solcher Geräte zur Speicherung, Übertragung
und Anzeige von Information auf ähnliche Weise
als physikalische Größen dargestellt
werden.
-
Ein
System zur Anzeige von Information von verschiedenen Quellen ist
in 1 dargestellt. In 1 umfasst das System 10 einen
Inhaltsserver 12, welcher mit einer oder mehr Informationsquellen 14,
einem Speichergerät 16 und
einem oder mehr Dateneingabegeräten
(18, 20) verbunden ist. In einer Ausführungsform umfasst
der Server 12 einen Verwahrungsort 22 und ein
Inhaltsverzeichnis 24, wie im Folgenden beschrieben wird.
In einer Ausführungsform
ist das Dateneingabegerät 20 ein
Endgerät
oder ein Arbeitsplatzrechner eines Benutzers, und das Dateneingabegerät 18 ist
ein Endgerät
oder Arbeitsplatzrechner der Verwaltung.
-
Wie
bereits erwähnt,
gibt es bis heute keine allgemeine Methode, um Information von verschiedenen Quellen,
welche für
den Entscheidungsfindungsprozess wesentlich ist, zu bewegen, suchen,
organisieren, empfangen, verteilen und daran zusammenzuarbeiten.
Die Organisationen sind daher gezwungen, Entscheidungen über etwas
zu treffen, ohne über
sämtliche
Fakten zu verfügen.
Um diesen Mangel in Angriff zu nehmen, verwendet das System 10 in
einer Ausführungsform
ein Paradigma des World Wide Web, um Daten, welche aus Bereichen
der ganzen Organisation stammen, zu speichern und darauf zuzugreifen.
Das System 10 stellt einen gemeinsamen Verwahrungsort oder
eine gemeinsame Bibliothek bereit. Systeme und Anwendungen der ganzen
Organisation können
Inhalte zur Bibliothek beisteuern, indem sie sie ihr bekannt geben.
-
In
einer Ausführungsform
steuern Benutzer und/oder Systeme zur Bibliothek der Organisation
bei, indem sie dem Speichergerät 16 unstrukturierten
Inhalt bekannt geben und indem sie auf diesen Inhalt über Objektschlüssel zugreifen,
die im Verwahrungsort gespeichert sind. In einer solchen Ausführungsform
ist der Verwahrungsort 22 als eine Hierarchie von Ordnern
organisiert. Objekte können
nach Benutzer oder Thema organisiert werden und sie können veröffentlicht
oder aus dem Verwahrungsort 22 gelöscht werden. Außerdem ermöglicht die
Ordnerstruktur es dem Benutzer, die Objekte auf eine strukturierte
Weise zu bewegen.
-
Information
innerhalb der Bibliothek wird in Kanälen organisiert. In einer Ausführungsform
sind die Kanäle
eine logische Organisation von Information, welche nach einem bestimmten
Thema gruppiert ist. Die Benutzer können persönliche, Arbeitsgruppen- und öffentliche
Kanäle
abonnieren, um rundgesendete Informationen über ein bestimmtes Thema zu
empfangen. Sobald Benutzer einen Kanal abonniert haben, können sie ihn „einstellen", um seine Kopfzeilen
durchzusehen und zu bestimmen, ob sie ein angehängtes Berichtsobjekt für nähere Einzelheiten öffnen. Die
Benutzer können
auch ihre eigenen Kanäle
anlegen, um Kopfzeilen zu organisieren, welche durch ihre eigenen
persönlichen
Boten erzeugt werden. Die Kanalinformation wird innerhalb des Verwahrungsorts 22 gespeichert.
-
Das
Dateneingabegerät 20 umfasst
eine Benutzerschnittstelle. In einer Ausführungsform ermöglicht die
Benutzerschnittstelle es dem Benutzer, Daten von der einen oder
den mehreren der Mehrzahl von Informationsquellen auszuwählen, diese
Daten als veröffentlichten
Inhalt zu kennzeichnen und Inhaltsabfragen auszugeben, um auf den
veröffentlichten
Inhalt zuzugreifen. In einer solchen Ausführungsform führt das
Dateneingabegerät 18 unter
der Kontrolle des Systemverwalters Java-Applets aus, um eine portalähnliche Schnittstelle
zu Wirtschaftsnachrichten darzustellen. Das Dateneingabegerät 20 könnte ebenfalls
so ausgelegt sein, dass es solche Java-Applets ausführt. Das
Webportal nimmt die Form einer Nachrichtenseite an. Nützliche
Information von einem oder mehreren Kanälen kann durch den Benutzer
ausgewählt
werden; in einer Ausführungsform
wird auf diese Information durch Kopfzeilen innerhalb einer personalisierten
Zeitung oder Nachrichtenseite zugegriffen. In einer solchen Ausführungsform
wird eine Standardvorlage für
jede Nachrichtenseite bereitgestellt. Die Benutzer können ihre
Nachrichtenseite jedoch kundenspezifisch anpassen, um die zeitgemäßesten Kopfzeilen
von abonnierten Kanälen
anzuzeigen.
-
In
einer Ausführungsform
weist ein automatisierter Prozess, genannt Bote, den Benutzer darauf
hin, wenn ein Ereignis, das diesen Benutzer betrifft, eingetreten
ist. Jeder Bote wird durch einen Namen, eine Beschreibung und ein
Ereignis definiert. Außerdem
können
Boten einen Querverweis auf eine in Beziehung stehende Inhaltsseite
umfassen.
-
In
einer solchen Ausführungsform
nimmt der Hinweis des Boten die Form einer E-Mail an den Benutzer
an. In einer anderen derartigen Ausführungsform stellt der Hinweis
eine Kopfzeile auf der Nachrichtenseite des Benutzers (z.B. ändert sich
die Kopfzeile einer Nachrichtenseite, wenn ein neuer Inhalt auf
einem Kanal verfügbar
ist) dar. In der Nachrichtenseitenausführungsform sucht der Bote hinter
den Kulissen nach Kopfzeilen, welche über eine definierte Zeitspanne
auf abonnierten Kanälen
erschienen sind. Diese Kopfzeilen werden dann auf der Nachrichtenseite
des Benutzers angezeigt.
-
In
einer Ausführungsform
erstellt ein Agent, welcher auf der Informationsquelle 14 ausgeführt wird,
zu einem ersten planmäßigen Zeitpunkt
einen Bericht. Zum Beispiel kann die Informationsquelle 14 ein
Datenwarenhaus sein, und der Agent erstellt jeden Montagabend eine
ausführliche
Analyse von Verkaufszahlen auf der Basis von Daten, die innerhalb
des Datenwarenhauses gespeichert sind. Solange der Bericht so gespeichert wird,
dass er den alten Bericht ersetzt, ist jeder Zugriff auf den Bericht
stets der Zugriff auf die letzte Version des Berichts.
-
In
diesem Beispiel wird ein Bote, der innerhalb des Systems 10 arbeitet,
so eingestellt, dass er einen Benutzer daran erinnert, den Bericht
zu einem zweiten planmäßigen Zeitpunkt
(z.B. jeden Dienstagmorgen) zu überprüfen. Am
Dienstagmorgen benachrichtigt der Bote den Benutzer, dass er den
Bericht überprüfen soll (z.B.
durch Kopfzeile oder E-Mail). Der Benutzer kann dann den Bericht
durch Auswählen des
Inhalts, welcher dem Boten zugeordnet ist, überprüfen. In einer anderen Ausführungsform
startet ein Agent, der innerhalb der Informationsquelle 14 ausgeführt wird,
einen Boten im Server 12. Der Bote benachrichtigt dann
den Benutzer, dass ein bestimmtes Ereignis eingetreten ist.
-
In
einer anderen Ausführungsform
veröffentlicht
die Informationsquelle 14 direkt an die Servermaschine 26,
von wo darauf zugegriffen werden kann.
-
In
einer Ausführungsform
wird eine Kopfzeile für
jeden Kanal angezeigt. Der Benutzer kann öffentliche Kanäle abonnieren,
um Information über
bestimmte Themen zu empfangen. Sobald der Benutzer einen Kanal abonniert
hat, kann er ihn „einstellen" und Kopfzeilen oder
Querverweise auf die Berichte, welche an die Kopfzeilen angehängt sind,
durchsehen, um nähere
Einzelheiten zu erhalten. In einer Ausführungsform können Kanäle durch
Benutzer angelegt werden, um Kopfzeilen zu organisieren, welche
durch die persönlichen
Boten des Benutzers erzeugt werden.
-
In
einer Ausführungsform
speichert das Speichergerät 16 veröffentlichten
Inhalt. Auf den veröffentlichten
Inhalt wird dann über
den Server 12 zugegriffen. Solch eine Lösung ist in 2 dargestellt. In 2 ist das Dateneingabegerät 20 mit
dem Server 12 verbunden. Der Server 12 umfasst
eine Servermaschine 26, einen Verwahrungsort 22 und
ein Inhaltsverzeichnis 24. In einer Ausführungsform
werden Meta-Suchdateien, welche veröffentlichten Inhalt darstellen,
in einem Index 28 gespeichert, um Suchen durch die Suchmaschine 30 zu ermöglichen.
Die Maschine 26 empfängt
ein als Inhalt zu veröffentlichendes
Dokument, ordnet diesem Dokument einen Objektschlüssel zu
und speichert den Objektschlüssel
im Verwahrungsort 22. In einer solchen Ausführungsform
wird ein Zeiger auf das Objekt, welches im Speichergerät 16 gespeichert
ist, im Verzeichnis 24 abgelegt, und eine Dokumentstumpfdatei
wird in den Index 28 eingeschrieben. Zwei Informationsquellen 14 sind
in 2 dargestellt: ein
Datenwarenhaus 14.1 und ein Online-Dialogverarbeitungssystem 14.2.
Außerdem
können
andere Informationsquellen 14.3, wie beispielsweise Personalcomputeranwendungen,
welche Textverarbeitungs- oder Tabellenkalkulationsdokumente erstellen,
an die Bibliothek des Systems 10 veröffentlichen. Tatsächlich werden
in einer Ausführungsform
ausführbare
Programme, wie beispielsweise Software-Treiber, der Bibliothek bekannt
gegeben und dann durch den Benutzer gelesen und installiert.
-
Die
Servermaschine 26 bearbeitet Inhaltsabfragen, welche von
der Benutzerschnittstelle empfangen werden. In einer derartigern
Ausführungsform
verwaltet der Verwahrungsort 22 eine virtuelle Verzeichnisstruktur,
welche dem veröffentlichten
Inhalt zugeordnet ist, und das Inhaltsverzeichnis erhält eine
Inhaltsverzeichnisstruktur aufrecht, welche auf den gesamten veröffentlichten
Inhalt hinweist, der in dem Speichergerät 16 gespeichert ist.
In einer Ausführungsform
wird durch Objektschlüssel,
welche in der virtuellen Verzeichnisstruktur des Verwahrungsorts
gespeichert sind, auf die Inhaltsverzeichnisstruktur zugegriffen.
-
Dokumente
können
mit anderen Dokumenten verbunden werden. In einer Ausführungsform
weisen Hypertext-Querverweise innerhalb eines Dokuments auf andere
Dokumente innerhalb des Verwahrungsorts 22 hin.
-
In
einer Ausführungsform
umfasst die Servermaschine 22 ein Zeitzuordnungsprogramm,
welches die Verarbeitung von Boten überwacht und sie zeitlich einteilt.
In einer solchen Ausführungsform
plant und bearbeitet die Servermaschine 26 auch die Erzeugung
für alle öffentlichen,
Arbeitsgruppen- und
persönlichen Nachrichtenseiten
auf einer regelmäßigen Basis.
Zum Beispiel kann die Servermaschine 26 so ausgelegt sein, dass
sie täglich,
wöchentlich
oder auf irgendeiner anderen periodischen Basis Nachrichtenseiten
erzeugt.
-
In
einer Ausführungsform
besteht die Servermaschine 26 aus mehreren Java-Servlets.
Die Servlets werden als Teilprozesse ausgeführt, wobei jeder Teilprozess
eine bestimmte Funktion ausführt.
Wenn zum Beispiel eine Abfrage eines öffentlichen Inhalts erfolgt,
wird ein Teilprozess eingeteilt, um dies für den Benutzer zu machen. Wenn
die Servlets in einer Ausführungsform
Inhalt erzeugen, der an den Benutzer bei Gerät 20 gehen soll, stellen
sie den Inhalt als HTML-Dokumente formatiert dar, die auf dem Browser
des Benutzers anzuzeigen sind.
-
In
einer solchen Ausführungsform
hat der Systemverwalter, welcher auf dem Dateneingabegerät 18 arbeitet,
durch eine HTML-Schnittstelle auch Zugriff auf die Servermaschine 26.
Außerdem
stellt das System 10 dem Verwalter in einer Ausführungsform
JAVA-Applets zur Verfügung,
um ihm bei der Ausführung
von komplexeren Alltagsaufgaben zu helfen.
-
In
einer Ausführungsform
wird der Verwahrungsort 22 innerhalb einer relationalen
Datenbank, wie beispielsweise einem SQL-Server, gespeichert. Der
Inhalt wird in einer Flachdatei gespeichert.
-
In
einer Ausführungsform
umfasst der Verwahrungsort 22 einen Sicherheitsmechanismus
auf Erlaubnisbasis zur Beschränkung
des Zugriffs durch einen Benutzer auf Inhalt, der im Inhaltsserver
gespeichert ist. Die Benutzer werden in Gruppen abgelegt, und der
Zugriff auf Inhalt wird durch Erlaubnisse, welche den Benutzern,
Gruppen und dem Unternehmen erteilt werden, beschränkt. In
einer Ausführungsform
ist die Information, die am wenigsten sensitiv ist, mit der allgemeinen
Leseerlaubnis erhältlich.
Sensitivere Information kann auf bestimmte Gruppen oder Benutzer
beschränkt
werden. In einer solchen Ausführungsform
wird ein Zugriffsberechtigungsmechanismus (z.B. vom Benutzer eingegebenes
Passwort, einmaliges Passwort, biometrische Information usw.) verwendet,
um sicherzustellen, dass ein Benutzer tatsächlich der Benutzer ist, als
der er sich selbst vorstellt.
-
In
einer Ausführungsform
umfasst das System 10, wie in 2 zu sehen ist, einen Index 28 und
eine Suchmaschine 30. Die Benutzerschnittstelle umfasst
Mittel zum Zugreifen auf Inhalt über
die Suchmaschine 30. In einer solchen Ausführungsform
erfolgen die Suchen durch eine Cybotics-Suchmaschine, die von der
Cybotics Technology, Ltd., Houston, Texas, hergestellt wird. Information über die
Cybotics-Suchmaschine
ist auch unter http://www.cybotics.com erhältlich.
-
In
einer Ausführungsform
ist das Speichergerät 16 eine
Kombination von örtlicher
und Fernspeicherung. In einer solchen Ausführungsform wird Inhalt, der
an den Verwahrungsort 22 zu veröffentlichen ist, an seinem
Ursprungsort gelassen. Das Verzeichnis 24 weist dann auf
einen Zeiger im örtlichen
Speicher hin, welcher verwendet wird, um auf den Inhalt an seinem
entfernten Ort zuzugreifen. In einer solchen Ausführungsform
kann der Inhalt innerhalb einer anderen Webseite der Organisation
gespeichert sein. In diesem Fall kann der Zeiger ein HTTP-Verweis
auf die Information sein, welche auf dieser Webseite gespeichert
ist. Gleichzeitig kann ein anderer Inhalt in diesem Kanal intern
oder an einem anderen Ort innerhalb der Organisation gespeichert
werden. In diesen Fällen
nimmt der Zeiger in einer Ausführungsform
die Form eines Ortes und einer Indexzahl des Servers an. Benutzer,
welche auf den Inhalt innerhalb dieses Kanals zugreifen, brauchen
nicht zu wissen, wo dieser Inhalt gespeichert ist. Er ist einfach
da.
-
In
einer Ausführungsform
werden Inhaltsteile in einem komprimierten Format, wie beispielsweise
einer Zip-Datei, gespeichert. Der Server 26 entzippt komprimierte
Dateien automatisch, bevor er sie dem Benutzer darstellt.
-
In
einer Ausführungsform
ist das Gerät 20 über eine
Verbindung, wie beispielsweise eine Telefonleitung, mit dem Server 12 verbunden.
Ein Benutzer, welcher sich von einem entfernten Gerät 20 beim
Server 12 anmeldet, kann Inhalt abrufen, wie er beim örtlichen
Netz angemeldet ist. In einer Ausführungsform kann der Benutzer
auswählen,
dass er auf eine komprimierte Art abgelegt wird, wobei der Inhalt
vor der Übertragung über die
Telefonleitung komprimiert wird und dann am Benutzerende dekomprimiert
wird. Eine derartige Lösung
reduziert das Volumen von Daten, welche über die Telefonleitung zu übertragen
sind.
-
In
einer Ausführungsform
ist die Bibliothek als Unternehmens-, Arbeitsgruppen- und persönliche Arbeitsbereiche strukturiert.
Innerhalb jedes Bereichs können
Ordner angelegt werden, und der Inhalt kann dann dem Ordner bekannt
gegeben werden. In einer Ausführungsform
stellt der Server 26 Zugriffsberechtigungen für den Inhalt
automatisch als eine Funktion des Bereichs, dem der Inhalt bekannt
gegeben wurde, ein.
-
Der
Server 12 kann eine verteilte Umgebung sein. Das heißt, das
System 10 kann mehrere Inhaltsserver aufweisen. In einer
Ausführungsform
ist nur ein Server der Master (d.h. Hauptserver 40). Er
weist die Datenbank oder den Verwahrungsort ihm zugeordnet auf.
Eine solche Ausführungsform
ist in 3 dargestellt.
-
In
dem System, das in 3 dargestellt
ist, sind ein Benutzerendgerät 20 und
ein Verwaltungsendgerät 18 durch
den Hauptserver 40 oder durch einen der Nebenserver 42 mit
dem Speichergerät 16 verbunden. Der
Hauptserver 40 ist wiederum mit einem oder mehreren Nebenservern 42 und
mit einer oder mehreren Informationsquellen 14 verbunden.
Die Nebenserver 42 sind ihrerseits mit einem Speichergerät 44 und
mit einer oder mehreren Informationsquellen 14 verbunden.
Inhalt kann auf jedem dieser Server (40, 42) gespeichert werden
und auf ihn wird über
den Verwahrungsort, der im Hauptserver 40 gespeichert ist,
durch ein Inhaltsverzeichnis auf jedem der Server zugegriffen. Wenn
in einer Ausführungsform
versucht wird, durch einen ersten Server auf Inhalt zuzugreifen,
der auf einem unzugänglichen
oder nicht verfügbaren
Server gespeichert ist, speichert der Master die Aufgabe in einer
Aufgabentabelle zur Ausführung,
wenn der unzugängliche
Server wieder zugänglich
wird.
-
Wenn
der Hauptserver 40 in einer anderen Ausführungsform
eine Dienstabfrage empfängt,
welche einen Inhalt zu löschen
wünscht,
sendet er diese Abfrage an den entsprechenden Nebenserver 42.
Der Master arbeitet dann unter der Annahme, dass der Nebenserver
die Abfrage bekommen hat, und löscht
den Verweis auf den Inhalt aus den Verwahrungsorttabellen.
-
In
einer Ausführungsform
wird Fernverfahrenaufruf (oder RMI für engl. Remote Method Invocation) verwendet,
um zwischen den Servern 40 und 42 hin- und herzukommunizieren.
Sollte der RMI so ankommen, dass der Server nicht verfügbar ist,
und es ist etwas vorgesehen, was der Server tun sollte, sieht der
Hauptserver Aufgaben für
den gesperrten Server 42 so vor, dass er sie ausführt, wenn
er wieder auf Sendung kommt. In einer Ausführungsform existiert ein Inhaltsverzeichnis 24 auf
jedem der Server 42. Wenn ein Benutzer, der sich bei einem
der Server 42 angemeldet hat, versucht, ein veröffentlichtes
Dokument zu löschen, nimmt
der Server 42 mit dem Hauptserver 40 Kontakt auf.
Der Hauptserver 40 sieht im Verwaltungsort 22 nach und
stellt fest, ob das veröffentlichte
Dokument zurzeit gespeichert ist. Wenn das Dokument in einem nicht
verfügbaren
oder unzugänglichen
Server 42 (z.B. einem, der Probleme mit der RMI-Verbindungsfähigkeit
hat) gespeichert ist, stellt der Server 40 eine Dienstabfrage
zurück,
um diesen Inhalt tatsächlich
zu löschen,
wenn der gesperrte Server 42 wieder zurückkommt. Wenn die Verbindungsfähigkeit
wieder hergestellt ist, empfängt
der Server 42 Nachrichten, die ihm mitteilen, was er zu
tun hat und was er verabsäumt
hat.
-
In
einer Ausführungsform
ist der Verwahrungsort 22 über zwei oder mehr Server 40 verteilt.
-
Eine
Ausführungsform
eines Inhaltsservers (wie beispielsweise die Server 12, 40 und 42)
wird nun beschrieben. Wie bereits erwähnt, speichert und bewahrt
der Inhaltsserver 12 Inhalt zur Verteilung. Der Inhalt wird
im Speichergerät 16 gespeichert,
und über
den Verwahrungsort 22 wird auf ihn zugegriffen. In einer
Ausführungsform
umfasst der Verwahrungsort 22 mehrere Tabellen, welche
Eigenschaften der Daten organisieren und verfolgen.
-
In
einer Ausführungsform
ist der Verwahrungsort 22 für schnellen Zugriff strukturiert.
Alles im Server 12 wird als ein Objekt betrachtet. Jedes
Objekt weist ein Identifizierungszeichen auf und seine Beziehung
zu anderen Objekten wird über
eine Beziehungstabelle definiert. Wie bereits erwähnt, kann
der Inhaltsserver 12 als ein Satz von Java-Servletklassen realisiert
sein, welche über
URL-Anrufe an den Inhaltserver 12 gestartet werden. Die
Klassenstruktur besteht aus einem Hauptservlet (IACS), welches den
Zugriff auf den Inhalt steuert. Das IACS wiederum teilt die restliche
Funktionalität
in Klassen ein. Die Klassen, welche das IACS unterstützen, umfassen:
-
- Put – legt
Dokumente in der Inhaltsdatenbank ab
- Get – ruft
Inhalt aus der Inhaltsdatenbank ab
- Serve – stellt
Dokumente systemfremden Anrufern zur Verfügung
- Prop – erzeugt
Einzelheiten eines Objekts (z.B. Besitzer, Gruppe usw.); ermöglicht auch
Löschen/Anlegen
einer Objekttyps
- Agent – verleiht
dem Verwalter Zugriff auf Botenfunktionalität, während sie die Verwahrungsortinformation
bezüglich
Erstellen, Löschen
und Eigenschaften des Boten bewahrt
- Profile – verleiht
dem Verwalter Zugriff auf Profilinformation, während sie die Tabellenstruktur
der Benutzergruppen und Weltgruppen bewahrt
- Search – stellt
die Unterstützungsfunktionalität zur Objektsuche
bereit. Der Anrufer gibt den Typ des zu suchenden Objekts an, und
die Klasse sucht den Verwahrungsort 22 ab und sendet jene
Objekte zurück,
die mit dem Objekttyp übereinstimmen.
Kann für
Dokumente, Boten, Kanäle
usw. verwendet werden.
- User – stellt
die Unterstützungsfunktionalität für alle Benutzerobjekte
bereit; sorgt für
Hinzufügen
und Löschen von
Benutzerobjekten.
-
In
einer Ausführungsform
verfügt
der Verwalter über
die Fähigkeit,
eine für
Inhalt zu verwendende Vorlage auszuwählen. Solch eine Funktion ist
nützlich,
um für
ein Standardaussehen und einen Standardgesamteindruck zwischen den
Benutzern, quer durch die Arbeitsgruppen und sogar quer durch das
Unternehmen zu sorgen.
-
In
einer Ausführungsform
löscht
der Inhaltsserver 12 Inhalt, wenn er verfällt, automatisch.
-
Der
Inhaltsserver 12 umfasst eine Veröffentlichungs-API, welche verwendet
wird, um Daten dem Inhaltsserver 12 bekannt zu geben und
von ihm abzurufen. In einer Ausführungsform
wird eine URL-basierte Web-Schnittstelle zur Kommunikation zwischen
dem Benutzer und dem Inhaltsserver 12 verwendet. Der Anruf legt
fest, welche API zu verwenden ist, und erzeugt eine HTML-Seite,
welche an den Benutzer zurückgesendet wird.
-
In
einer Ausführungsform
erfolgen alle Servlet-Objekt-Kommunikations-
und Veröffentlichungsanrufe durch
ein API-Modul. Bei
der Durchführung
solcher Anrufe müssen
ein administrativer Benutzername (UN für engl. username) und ein administratives
Passwort (PW) auf der URL-Leitung bereitgestellt werden. In solcher einer
Ausführungsform
wird ein Befehl, wie beispielsweise
http://[server]/servlet/IACS/Api/userandgroups?UN=[admin
username] &PW=
[admin password],
verwendet, um eine Gruppen-Benutzer-Liste über den
Inhaltsserver 12 abzurufen. IQ-Objekte fragen das Servlet über den
URL-Anruf an den Inhaltsserver 12 ab. Der Inhaltsserver 12 sendet
eine textlich abgegrenzte Liste als Information zurück, die
der Benutzer verstehen kann. In einer Ausführungsform weist die textlich
abgegrenzte Liste das Format
-
[Gruppe/Benutzer]~[Name
von Benutzer oder Gruppe]~[Objektschlüssel von Benutzer oder Gruppe]
auf.
Zum Beispiel kann die Liste folgendermaßen erscheinen:
- g~aurora~4
- su~mbradley~0
- u~tschultz~2
- g~admin~3
-
Die
Besitzerobjektschlüssel
und die Gruppenobjektschlüssel
werden zurückgesendet,
wenn ein gewähltes
Dokument veröffentlicht
wird.
-
Der
Anrufer kann annehmen, dass jeder Benutzer ein Gruppenpublikumsmitglied
ist, weshalb der Inhaltsserver 12 diese Gruppe oder ihre
Benutzer nicht zurückzusenden
hat.
-
Um
eine Ordnerliste (engl. folderlist) abzurufen, welche definiert,
wie die Verzeichnisstruktur aussieht, ist der Anruf
htt://[server]/servlet/IACS/Api/folderlist?UN=[admin
username] &PW=
[admin password]
-
Der
Inhaltsserver sendet eine textlich abgegrenzte Liste zurück, die
so aussieht:
- 2~-1~Test Folder2~0~1~rwxrwxrwx
- 10~2~Pub1ic~0~14~rwxr-wr-w
- 23~10~Another test~15~14~rwxrwx---
- 27~10~Another folder~0~1~rwxr-xr-x
wobei das Format
ist: [Objektschlüssel
von Ordner]~[Objektschlüssel
von Stammordner (–1
bedeutet, kein Stammordner, es ist ein Wurzelordner)]~[Besitzerobjektschlüssel (Benutzer)]~[Gruppenobjektschlüssel]~[Erlaubniszeichenfolge]
-
Zum
Beispiel zeigt vorstehende Zeile Nummer 3 an, dass dieser Ordner
den Objektschlüssel 23 hat, vom
Ordnerobjektschlüssel 10 besessen
wird, einen Titel von ,Another test' aufweist, vom Benutzerschlüssel 15 besessen
wird, vom Gruppenobjektschlüssel 14 besessen
wird und die Erlaubnisse ,rwxr-xr-x' (755 in Unix oktal) hat.
-
In
einer Ausführungsform
wird der Ordnerobjektschlüssel
verwendet, um das Stammverzeichnis des gewählten veröffentlichten Dokuments zu nennen.
-
Um
eine Liste von Kategorien abzurufen, unter welchen ein Dokument
veröffentlicht
werden kann, ist der URL-Anruf:
htt://[server]/servlet/IACS/Api/categories?UN=[admin
username] &PW=
[admin password]
-
Der
Inhaltsserver sendet eine textlich abgegrenzte Liste zurück, die
so aussieht:
- Sports~0
- Business~1
- Leisure~2
- –
- –
wobei
das Format ist: [Kategoriebeschreibung]~[ID der Kategorie]
-
In
einer Ausführungsform
ist das System 10 so ausgelegt, dass die ID (Identifikation)
der gewählten Kategorie
mit dem Dokument eingereicht wird, wenn das Dokument veröffentlicht
wird.
-
Um
ein Dokument an den Inhaltsserver zu veröffentlichen, ist der URL-Anruf:
http//[server]/servlet/IACS/Api/publish?UN=[admin
username] &PW=
[admin password]&TITLE=this+is+a+test&FILENAME=text.txt&PARENT=4&H EADLINE=a+headline&DESCRIP=descrip&ISLINK=0&DOCTYPE="publis hed document"&DOCSIZE=45&LOCALE=en US&OWNERKEY = 0&GROUPKEY=1&PERMS=rw-rw-r--&expires=–1&VERSION=0&CAT=0
- TITLE (Titel) ist ein
kurzer Titel für
das Dokument und ist das, was der Benutzer anklickt, um Inhalt zu
sehen/speichern.
- FILENAME (Dateiname) ist der Dateiname, welchen der Benutzer
sieht, wenn der Mauszeiger über
dem [title] des Dokuments positioniert ist, wenn im Inhaltsserver
angezeigt. Dies ist auch der Name, welchen der Browser als einen
gespeicherten Standarddateinamen verwendet, wenn der Benutzer den
Querverweis anklickt und wählt,
die Datei zu speichern.
- PARENT (Stammverzeichnis) ist der Objektschlüssel des Stammordners, in dem
dieses Dokument abgelegt ist – dies
sollte ein Wert sein, der mit dem ,folderlist' API-Anruf bereitgestellt wird.
- HEADLINE (Kopfzeile) ist das 80spaltige Textfeld, das eine kurze
Beschreibung des Dokuments ist und das sichtbar ist, wenn eine Dokument/Ordnerliste
im Inhaltsserver betrachtet wird.
- DESCRIP (Beschreibung) ist eine ausführlichere Beschreibung.
- ISLINK (ist ein Querverweis) stellt eine Möglichkeit zur Veröffentlichung
von URLs bereit. Dies ist entweder 1, wenn es eine URL ist, oder
0, wenn es keine ist.
- DOCTYPE (Dokumenttyp) identifiziert Dokumenttypen (wie beispielsweise
veröffentlichtes
Dokument oder Ordner).
- DOCSIZE (Dokumentgröße) ist
die Größe in Bytes
des Inhalts (oder 0 für
Ordner).
- LOCALE (Ländereinstellung)
wird hier zu Internationalisierungszwecken bereitgestellt. Dies
ist normalerweise en_US für
englische Dokumente.
- OWNERKEY (Besitzerschlüssel)
ist der Besitzerobjektschlüssel,
unter welchem dieses Dokument veröffentlicht wird.
- GROUPKEY (Gruppenschlüssel)
ist der Gruppenobjektschlüssel,
unter welchem dieses Dokument veröffentlicht wird.
- PERMS (Erlaubnisse) ist eine Erlaubniszeichenfolge aus neun
Zeichen für
das Dokument.
- EXPIRES (verfällt)
ist eine ganze Zahl, die eine Zeitangabe in Sekunden oder –1, wenn
sie nie verfällt,
ist.
- VERSION ist die Version des Dokuments, wenn Duplikate angefertigt
werden.
- CAT (Kategorie) ist gewählte
Kategorien-ID. Die Kategorien und ihre IDs können über den URL-Anruf ,categories' abgerufen werden.
-
Der
Inhaltsserver sendet eine Textliste zurück. In einer Ausführungsform
wird eine Zeichenfolge, wie beispielsweise C:/inetpub/cs/22/25,
für ein
Dokument zurückgesendet,
während
eine Zeichenfolge, wie beispielsweise C:/inetpub/cs/22/, für einen
Ordner zurückgesendet
wird. Der Pfad für
das Dokument ist der Pfad zum Ordner, in welchem das Dokument abgelegt
wird. Der Name des Dokuments wird an den Pfad angehängt. Demnach
ist für
das zuvor erwähnte
Beispiel der Pfad zum Dokument „c:/inetpub/cs/22/", während der
Name des Dokuments das Bezugszeichen 5 ist. (Der Name des
Dokuments basiert auf dem Objektschlüssel, der in die Datenbank
des Inhaltsservers eingefügt
ist (bestimmt an der Einfügungsstelle).)
Es ist zu beachten, dass, wenn dieser Dokumenttyp „ver öffentlichtes
Dokument" ist, er
in der gegenwärtigen
Benutzervorlage eingebettet ist, wenn angezeigt.
-
Der
Pfad des Ordners in dem zuvor erwähnten Beispiel ist „c:/inetpub/cs/22/". Der neu angelegte
Ordner weist den Objektschlüssel 22 auf.
Es ist keine Bedienungsmaßnahme
zum Anlegen dieses Ordners nötig, da
der Inhaltsserver 26 ihn bereits angelegt hat.
-
Der
Inhaltsverwahrungsort 22 besteht aus Datensätzen von
veröffentlichtem
Inhalt in einer relationalen Datenbank. Jeder Datensatz weist ein
eindeutiges Identifizierungszeichen auf und enthält Information über den
veröffentlichten
Inhalt.
-
Jeder
Datensatz im Inhaltsverwahrungsort 22 enthält die gesamte
Information von einem bestimmten Veröffentlichungsereignis(sen).
In einer Ausführungsform
können
Nachrichten durch Nichtbesitzer an Dokumente angehängt werden.
Dies ist zum Beispiel beim Versuch, Kommentare über den Inhalt des Dokuments zu
verfolgen, nützlich.
Der Datensatz im Inhaltsverwahrungsort 22 umfasst einen
Mechanismus, um die Kommentare zu verfolgen und die Kommentare dem
Benutzer anzuzeigen.
-
In
einer Ausführungsform
wird die Inhaltsinformation in einem virtuellen Ordnersystem gespeichert,
so dass der Inhalt in mehreren Datenbanken auf mehreren Plattformen
physikalisch existieren kann. In der Ausführungsform, die im Folgenden
beschrieben wird, sind einige Felder obligat und werden in der Beschreibung angegeben.
Der Inhaltsverwahrungsort 22 besteht aus mehreren Tabellen.
Alles, was in den Verwahrungsort 22 eingegeben wird, wird
als Objekt betrachtet. Auf Objekte wird über einen OBJECTKEY (Objektschlüssel) verwiesen,
welcher zugeordnet wird, wenn neue Objekte in die Datenbank eingegeben
werden. Beziehungen zwischen Objekten werden in einer RELATIONSHIPS-Tabelle
(Beziehungstabelle) definiert. Ein Inhaltsverwahrungsortmodell ist
zur Veranschaulichung in 4 dargestellt.
Durch Verwenden dieses Aufbaus können praktisch
alle Objekte und ihre Beziehungen so gespeichert und abgerufen werden,
so dass die gegenseitigen Abhängigkeiten
im ganzen Unternehmen bewahrt werden können. Dieser Aufbau basiert
auf der Metadatendefinition.
-
Die
Objektverwahrungsortstabelle (OBJECTREPOSITORY) definiert jedes
einzelne Objekt, das im Inhaltsserver 26 gespeichert ist.
Die Tabelle umfasst eines oder mehr der folgenden Felder:
- OBJECTTYPEKEY
(Objekttypschlüssel)
- OBJECTNAME (Objektname)
- OWNERID (Besitzer-ID)
- GROUPOWNER (Gruppenbesitzer)
- OWNERREADPRIV (Besitzer lesen privat)
- OWNERWRITEPRIV (Besitzer schreiben privat)
- OWNEREXECUTEPRIV (Besitzer ausführen privat)
- GROUPREADPRIV (Gruppe lesen privat)
- GROUPWRITEPRIV (Gruppe schreiben privat)
- GROUPEXECUTEPRIV (Gruppe ausführen privat)
- ENTERPRISEREADPRIV (Unternehmen lesen privat)
- ENTERPRISEWRITEPRIV (Unternehmen schreiben privat)
- ENTERPRISEEXECUTEPRIV (Unternehmen ausführen privat)
- CREATOR (Urheber)
- LASTMODIFIEDBY (letzte Modifikation durch)
- VALIDATIONCODE (Prüfcode)
- VALIDATIONDATETIME (Prüfungsdatum)
- VALIDRTEDBY (Geprüft
durch)
- MESSAGECOUNT (Nachrichtenzählung)
- DESCRIPTION (Beschreibung)
- LASTMODIFIEDBYDATE (letzte Modifikation nach Datum)
- PASSWORD (Passwort)
-
Der
Variable OBJECTTYPEKEY identifiziert die Klasse von Dokument. Die
restlichen Variablen weisen Namen auf, die selbsterklärend sind.
(Insbesondere MESSAGECOUNT ist eine Zählung der Anzahl von Nachrichten,
welche an ein bestimmtes Dokument angehängt werden.)
-
Die
Objekttyptabelle (OBJECTTYPES) definiert die Typen von Objekten,
welche im System 10 verfügbar sind. Objekttypen umfassen
USER (Benutzer), GROUP (Gruppe), DOCUMENT, CHANNEL (Kanal), FOLDER
(Ordner) und MESSENGER (Bote). Die Objekttyptabelle wird durch OBJECTTYPEKEY
indexiert und umfasst OBJECTVERSION (Objektversion) und OBJECTDESCRIPTION
(Objektbeschreibung).
-
Die
Beziehungstabelle (RELATIONSHIPS) erhält die Beziehungen zwischen
allen Typen von Objekten aufrecht. Sie wird durch PARENTKEY (Stammverzeichnisschlüssel) und
CHILDKEY (Unterverzeichnisschlüssel)
indexiert und umfasst SORTORDER (Sortierfolge) und RELATIONSHIPTYPE
(Beziehungstyp).
-
Die
Dokumenttabelle (DOCUMENT) definiert die Eigenschaften für ein veröffentlichtes
Dokument. Sie wird durch OBJECTKEY (Objektschlüssel) indexiert, ein eindeutiger
KEY (Schlüssel),
der durch das System 10 für dieses Dokument intern erzeugt
wird. Die Dokumenttabelle umfasst:
- TITLE (Titel) – Eine Zusammenfassung
des Inhalts. Dieses Feld wird verwendet, um Kopfzeileninformation
zu erzeugen.
- LOCALE (Ländereinstellung) – Die Einstellung
des Landes, wo das Dokument erzeugt wurde.
- FILENAME (Dateiname) – Der
Name der Datei, welche diesen Inhalt enthält (obligat).
- LOCATION (Ort) – Der
Ort dieses Dokuments. Es kann entweder URL oder ein Ort in dem bestehenden
Dateisystem sein (obligat).
- DOCTYPE (Dokumenttyp) – Der
MIME-Typ für
dieses Dokument.
- CATEGORY_ID (Identifikation der Kategorie) – Die Kategorie, die diesem
Dokument zugeordnet ist. Die Kategorie kann durch den Verwalter
erzeugt und bei der Suche als eine Option bereitgestellt werden
(optional). Die Standardkategorie ist „none" (keine) (optional).
- VERSION – Die
Version dieses Dokuments (optional).
- DESCRIP (Beschreibung) – Eine
Beschreibung des Inhalts (optional).
- ISLINK (ist Querverweis) – Zeigt
an, ob dies ein Querverweis zum Inhalt ist (obligat).
- EXPIRES (verfällt) – Das Datum,
an dem dieses Dokuments verfällt.
Verwendet durch eine Selbstlöschroutine, welche
den Verwahrungsort periodisch löscht
(Periode durch den Verwalter gewählt).
Standards, um nie zu verfallen.
- DOCSIZE (Dokumentgröße) – Die Größe in Bytes
des Dokuments (erzeugt).
- SERVERADDR (Serveradresse) – Die
Adresse des Servers, wo der Inhalt dieses Dokuments gespeichert
ist (erzeugt).
- LIVEADDR (aktive Adresse) – Die
Adresse, wo dieses Dokument gegenwärtig zur Verfügung gestellt
wird (erzeugt).
- TARGET (Ziel) – Gibt
an, wo der Text innerhalb des Browserfenster anzuordnen ist.
- SHORTCUT (Abkürzung) – Wenn vorhanden,
ein Objektschlüssel,
der auf das reale Dokument zeigt.
-
Die
Eigenschaftstabelle (PROPERTY) definiert den Hauptinhaltsserver
innerhalb einer verteilten Architektur. Außerdem definiert sie die Versetzung
(LOCALOFFSET) von der Greenwichzeit (GMT) und die Sprache für den Hauptinhaltsserver
(SCHEMAVERSION).
-
Die
Kanaltabelle (CHANNEL) verwaltet die Definition aller Kanäle. Sie
wird durch OBJECTKEY indexiert und umfasst den Kanaltitel (TITLE)
des Kanals, dem das Dokument zugeordnet wurde.
-
Die
Botentabelle (MESSENGER) verwaltet die Definition aller Boten. Sie
wird durch OBJECTKEY indexiert und umfasst die Priorität (PRIORITY)
und die Ausführungszeit
(NEWSTIME) des Boten. In einer Ausführungsform umfasst die Botentabelle
eine E-Mail-Adresse, um eine Nachricht zu senden (EMAIL-ADDR), den Namen
des Servers, welcher den Boten erstellte (SSNAME), eine Auftrags-ID
(JOBID), welche dem Boten zugeordnet ist und verwendet wird, auf
Wunsch des Benutzers den Auftrag vom Server zu löschen, einen Namen, der dem
Boten zugeordnet ist (TITLE), die Kopfzeile (HEADLINE), welche erscheint,
wenn der Bote ausführt,
einen Indexschlüssel
(DOCKEY) in die DOKUMENT-Tabelle, eine Startzeit (STARTTIME) für den Boten, eines
oder mehr Periodenattribute (PERIODATTR1 und PERIODATTR2), einen
Intervall von Minuten (MINSBETWEEN) zwischen den Botenaktualisierungen
und der Nachrichtenzeit (newstime) und einen Kanalschlüssel (CHANNELKEY),
welcher den Kanal darstellt, dem der Bote zugeordnet ist.
-
Die
Servertabelle (SERVER) identifiziert Inhaltsserver, welche in einer
verteilten Architektur verfügbar sind.
-
Schließlich umfasst 4 auch eine Aufgabentabelle
(TASK), welche verwendet wird, um Aufgaben zu identifizieren, welche
in einer verteilten Architektur erledigt werden müssen.
-
In
einer Ausführungsform
wird ein dünnes
Sicherheitsmodell durch den Inhaltsserver 12 ermöglicht. Das
Sicherheitsmodell ist in einer relationalen Datenbank realisiert
und besteht aus Datensätzen,
welche jeden Benutzer des Inhaltsservers identifizieren. In einer
Ausführungsform
werden die Datensätze
anfänglich
durch den Verwalter oder durch ein Selbstladeprogramm unter Verwendung
von LDAP (für
engl. Lightweight Directory Access Protocol (leichtes Verzeichniszugriffsprotokoll))
oder NIS-Dateien (für
engl. Network Information System) angelegt. Kommagetrennte Dateien
könnten
ebenso verwendet werden, um eine Anzahl von Benutzern automatisch
anzulegen. Jeder Datensatz weist ein eindeutiges Identifizierungszeichen
für jeden
Benutzer auf und enthält
spezifische Information über
diesen konkreten Benutzer. Jeder Benutzer wird wiederum einer Gruppe
zugeordnet, wenn angelegt. Die Standardgruppe für alle Benutzer ist die öffentliche
Gruppe. Wenn Inhalt erzeugt wird, kann der Besitzer festlegen, welche
Gruppen auf den Inhalt zugreifen dürfen. Außerdem kann der Besitzer die
Zugriffsstufe für
jeden Benutzer-, Arbeitsgruppen- und öffentlichen Zugriff festlegen.
Die Stufe des Zugriffs oder der Erlaubnis auf den Inhalt basiert
auf dem Unix-Schema mit Lese-, Schreibe- und Ausführerlaubnissen.
-
In
einer Ausführungsform
bewahrt die Benutzergruppentabelle (USERS) Definitionen aller Benutzer und
ihre einzelnen Zugriffsberechtigungsstrategien. Sie wird durch OBJECTKEY
indexiert, eine eindeutige ID, welche durch das System 10 für dieses
Dokument intern erzeugt wird. Die Benutzergruppentabelle umfasst eines
oder mehrere der folgenden Felder:
- FNAME – Benutzervorname
(optional).
- LNAME – Benutzernachname
(optional).
- USERNAME (Benutzername) – Eindeutiger
Name für
diesen Benutzer (obligat).
- PASSWORD – Passwort,
das zugeordnet wurde, wenn dies ein Benutzer ist (obligat).
- DEFAULTGROUP (Standardgruppe) – Benutzer oder Gruppe, welche
diesem Eintrag zugeordnet ist (obligat).
- IA_ID – Index
zur internen ID. Die interne ID ist die ID, welche verwendet wird,
um auf die anderen Systeme zuzugreifen (siehe IA_ID) (obligat).
- E-MAIL – E-Mail-Adresse
für diesen
Benutzer. Verwendet für
Botenkommunikation mit diesem Benutzer (optional).
- ADDRESS1 – Die
1. E-Mail-Adresse des Benutzers (optional).
- ADDRESS2 – Die
2. E-Mail-Adresse des Benutzers (optional).
- CITY – Der
Ort der Postanschrift des Benutzers (optional).
- STATE – Das
Bundesland der Postanschrift des Benutzers (optional).
- COUNTRY – Das
Land der Postanschrift des Benutzers (optional).
- ZIP – Die
Postleitzahl des Benutzers (optional).
- HOMEPHONE – Telefonnummer
des Benutzers zu Hause (optional).
- COMPANY – Der
Name der Firma, bei welcher der Benutzer arbeitet (optional).
- TITLE – Titel
des Benutzers (optional).
- BUSPHONE – Telefonnummer
des Benutzers am Arbeitsplatz (optional).
- FAX – Faxnummer
des Benutzers (optional).
- DEPARTMENT – Abteilung,
deren Mitglied der Benutzer ist (optional).
- PAGER – Funkrufempfängernummer
des Benutzers (optional).
- CELLPHONE – Mobiltelefonnummer
des Benutzers (optional).
- TEMPLRTEPTR (Vorlagenzeiger)- Der Zeiger zur Vorlage, welche
gegenwärtig
für diesen
Benutzer verwendet wird (intern erzeugt).
-
Die
IA_ID-Tabelle (IA) enthält
die auswählbare
Id und das auswählbare
Passwort des Benutzers, um über
den Server 26 auf andere Informationsdienste 14 zuzugreifen.
IA_ID ist ein Index zur internen ID. (Die interne ID ist die ID,
welche verwendet wird, um auf andere Systeme zuzugreifen.) Sie enthält eine
auswählbare
Benutzer-Id (USERNAME) und ein auswählbares Passwort (PASSWORD).
-
Die
Gruppentabelle (GROUPS) definiert die bestehenden Arbeitsgruppen.
OBJECTKEY ist eine eindeutige ID, welche für dieses Dokument intern erzeugt
wird. GROUPNAME ist der Name der zuzuordnenden Gruppe und IA_ID
ist der Index zur internen ID.
-
Die
Transaktionsprotokolltabelle (TRANS LOG) führt ein Protokoll aller Transaktionen,
welche in dem System 10 stattfinden. Es ist entweder von
OBJECTKEY oder von der USER-Gruppe über den USERKEY indexierbar.
-
Diese
Tabelle enthält
Transaktionsprotokollinformation, welche durch den Verwalter verwendet
werden kann. CREATEDATE (Erstellungsdatum) ist das Datum, an dem
dieser Eintrag erstellt wurde. Es wird durch das System 10 erzeugt.
ACTION ist die Bedienungsmaßnahme,
die durch den Benutzer abgefragt wird. Sie wird ebenfalls durch
das System 10 erzeugt. ERRATA ist eine Liste jeglicher
Fehler, die aus der Bedienungsmaßnahme resultieren.
-
Wie
bereits erwähnt,
wird ein Profil für
jeden Benutzer angelegt, um ihm Flexibilität bei der Schaffung seiner
persönlichen
Arbeitsflächenumgebung
zu ermöglichen.
Das Profil enthält
das Format seiner Nachrichten, seine Kanalwahl, sowie die Ordner,
welche er sehen möchte.
-
Auf
das Benutzerprofil wird über
eine Profiltabelle (PROFILE) zugegriffen. In einer Ausführungsform ist
die Profiltabelle von der USERS-Tabelle über OBJECTKEY zugreifbar. Die
Profiltabelle enthält
die Angaben für
den Benutzer, wie beispielsweise Kanäle, welche der Benutzer zu
sehen wünscht,
welche Kanäle
auf seiner Zeitung erscheinen, die Dauer der Nachrichten auf seiner
Zeitung, seine E-Mail-Adresse
für Antworten
usw. Jeder Benutzer hat Zugriff auf diese Felder und kann sie ändern/bearbeiten.
-
In
einer Ausführungsform
hat die Nachrichtenfensterspalte (NEWSWINDOW) eine Zeitdauer, welche verwendet
wird, um zu bestimmen, welche Nachrichteneinträge der Benutzer auf der Nachrichtenseite
zu sehen wünscht.
Die Nachrichtenbeziehungs-ID (NEWSRELKEY) ist der Eintrag in der
Beziehungstabelle mit dem Titel „RELATIONSHIPTYPE" (Beziehungstyp).
Der Vorlageneintrag (TEMPLATEKEY) legt fest, welche Vorlage zu verwenden
ist, wenn Inhalt an diesen Benutzer geliefert wird.
-
Die
Vorlagentabelle (TEMPLATE) definiert die in dem System 10 verfügbaren Vorlagen.
Die Tabelle wird über
einen Vorlagenschlüsselwert
(TEMPLATEKEY) indexiert. In einer Ausführungsform weisen jeder Benutzer,
sowie jede Gruppe einen Eintrag in der Vorlage auf. Außerdem gibt
es einen allgemeinen Eintrag. Der Wahldatensatz ist der Benutzerprofildatensatz,
da angenommen wird, dass die Wahl des Benutzers quer durch die verschiedenen
Gruppen, in welchen sich der Benutzer befindet, aufrechterhalten
werden soll. Die Suchfolge der Profiltabelle ist nach dem Unix-Benutzergruppenweltmodell
modelliert, so dass in dem Fall, dass kein Eintrag für ein Feld
im Benutzerdatensatz vorhanden ist, die Hauptgruppe des Benutzers
(Standard gruppe in der Benutzertabelle) nach einem Eintrag abgesucht
wird. Wenn im Hauptgruppeneintrag keiner gefunden wird, wird der
allgemeine Profileintrag abgesucht. Die Beziehungen zwischen dem
Benutzer und den Kanälen
und Nachrichten werden mit der Beziehungstabelle hergestellt. Was
folgt, ist ein Beispiel für
einen Beziehungstabelleneintrag:
-
-
Die
Vorlagennachschlagetabelle (TEMPLATELOOKUP) definiert jede kundenspezifisch
anpassbare Komponente einer Vorlage. In der Ausführungsform, die in 5 dargestellt ist, wird über TEMPLATEKEY (Vorlagenschlüssel) auf
die Vorlagennachschlagetabelle zugegriffen.
-
In
einer Ausführungsform
enthält
die Profiltabelle (PROFILE) Auswahlen, welche durch Benutzer getroffen
wurden und welche über
Neustarts des Inhaltsservers in Erinnerung behalten werden müssen.
-
Der
Inhaltsserver 12 hat Zugriff auf die Kanäle. Wie
bereits erwähnt,
ist das Kanalkonzept das Anlegen von Gruppen für Gruppierungsdokumente zur
Organisation und zum Abruf im Inhaltsserver. Kanäle können aus privaten Kanälen, welche
durch einzelne Benutzer angelegt wurden, oder aus öffentlichen
Kanälen,
welche durch den Verwalter angelegt wurden, bestehen. Die Benutzer
haben die Fähigkeit,
private Kanäle
anzulegen, und Kanäle,
welche sie angelegt haben, zu modifizieren und zu löschen, aber
nur die Verwalter können öffentliche
Kanäle
verwalten und aufrechterhalten.
-
In
einer Ausführungsform
enthält
jede Kanaltabelle (CHANNEL) die gesamte Information in Bezug auf einen
bestimmten Kanal. Der Inhaltsserver 12 ordnet jedem Kanal
eine interne Nummer zu. Diese interne Nummer weist einen zugeordneten
Namen für
den Kanal auf. Der Besitzer des Kanals kann den Kanalnamen ändern, aber
nicht die interne Kanalnummer. Die Kanaltabelle weist einen OBJECTKEY-Eintrag
auf, welcher sie zurück
zum OBJECTREPOSITORY (Objektverwahrungsort) verbunden. Aus dem OBJECTREPOSITORY können der
Kanalbesitzer, der Urheber und die Sicherheitsinformation erhalten
werden. Ein Name, der dem Kanal zugeordnet ist, wird im TITLE-Feld
gespeichert.
-
Wenn
ein Benutzer auf ein bestimmtes Datenwerk, sei es einen Bericht,
ein Dokument oder irgendein anderes unstruktiertes Datenwerk, zugreift,
würde er
diese Information oft gerne auf einer täglichen, wöchentlichen oder monatlichen
Basis sehen. Diese Funktionalität
kann bereitgestellt werden, indem dem Benutzer erlaubt wird, personalisierte
Boten zu installieren, um vordefinierte Bedienungsmaßnahmen
in Abhängigkeit
von einem Zeitintervall auszuführen.
Der Benutzer kann über
eine E-Mail oder eine Nachricht an einen Kanal benachrichtigt werden,
wenn ein bestimmtes Ereignis eintritt. In einer Ausführungsform
sind alle Botenereignisse zeitbezogen. Der Bote stellt eine vordefinierte
Nachricht bereit, welche einen dazu zugeordneten Inhalt aufweisen
kann. Wenn ein Inhalt zugeordnet ist, erscheint dieser Inhalt, wenn
der Bote von einem Kanal ausgewählt wird.
Boten ohne zugeordneten Inhalt liefern einfach Erinnerungsnachrichten,
wenn ein bestimmtes Ereignis eintritt.
-
Um
einen Boten zu erstellen, müssen
die abzurufenden Daten gespeichert werden und dem Benutzer zugänglich sein.
In einer Ausführungsform
können
Benutzer ihre persönlichen
Boten erstellen, aufbereiten und löschen. In einer solchen Ausführungsform
hat der Verwalter die Fähigkeit,
zu steuern, welche Benutzer die Funktionen zum Erstellen und Modifizieren
von Boten aufweisen.
-
In
einer Ausführungsform
erlaubt der Inhaltsserver 12 mehrere Formate der Darstellung
von Daten auf Webseiten. Dies geschieht mit dem Konzept von Seitenvorlagen.
Seitenvorlagen werden durch den Verwalter angelegt und auf dem Inhaltserver 12 gespeichert.
Wenn eine Abfrage erfolgt, um eine Seite zu sehen, wird der Ort
der Seitenvorlage in der URL mit einem Vorlage=X Namenwertpaar (X
ist der Name der Vorlage) bereitgestellt. Wenn das Vorlagenwertpaar
nicht in der URL bereitgestellt wird, wird die Standardseitenvorlage, welche
im Profil festgelegt ist, verwendet.
-
Wenn
eine Abfrage erfolgt, kombiniert der Inhaltsserver 12 die
Seite mit den festgelegten Objekten und stellt die Kombination dem
Benutzer zur Verfügung.
-
In
einer Ausführungsform
wird eine Anzahl von Standardseitenvorlagen im System 10 bereitgestellt. Jede
Vorlage weist einen Eintrag in den TEMPLATE- und TEMPLATELOOKUP-Tabellen, welche
in 5 dargestellt sind,
auf. Außerdem
gibt es ein Vorlagenverzeichnis innerhalb des Inhaltsverzeichnisses 24. Überdies speichert
ein Bildverzeichnis in einer solchen Ausführungsform bestimmte Vorlagenbilder,
eine aktive Frameset-Inhaltsserverdatei speichert Rahmenvorlagen,
und eine aktive Hauptinhaltsserverdatei speichert Navigationsverwaltungsbasisinformation.
-
In
einer Ausführung
umfasst jede Seitenvorlage kundenspezifisch anpassbare Bereiche,
welche verwendet werden, um jeder Seite ein kundenspezifisches Aussehen
und einen kundenspezifischen Gesamteindruck zu verleihen. Außerdem werden
Gebrauchsmakros bereitgestellt, um es dem Benutzer zu ermöglichen, das,
was innerhalb einer Vorlage angezeigt wird, zu ändern oder festzulegen.
-
In
einer Ausführungsform
können
Vorlagen unter Verwendung eines Vorlagenaufbereiters aufbereitet und
gespeichert werden. Außerdem
können
neue Vorlagen unter Verwendung des Vorlagenaufbereiters erstellt
werden. In einer solchen Ausführungsform
erstellt ein Verwalter eine neue Vorlage, indem er zuerst eine vordefinierte
Vorlage auswählt,
auf welcher er die neue Vorlage basiert. Der Verwalter benennt die
Vorlage, führt
jegliche innerhalb der kundenspezifisch anpassbaren Bereiche gewünschte Kundenspezifizierung
durch, speichert die resultierende Vorlage und ordnet die Vorlage
einem Benutzer oder einer Arbeitsgruppe zu. Ein Eintrag für die neue
Vorlage wird in der TEMPLATE-Tabelle angelegt, und die Information,
welche Änderungen an
den kundenspezifisch anpassbaren Beeichen darstellt, wir in der
TEMPLATELOOKUP-Tabelle
gespeichert. Ein neues Vorlagenverzeichnis wird im Inhaltsverzeichnis
angelegt, und die aktive Hauptinhaltsserverdatei wird in das neue
Vorlagenverzeichnis kopiert. Wenn die Vorlage auf einer Standardrahmenvorlage
basierte, wird auch die aktive Frameset-Inhaltsserverdatei in das
neue Vorlagenverzeichnis kopiert. In einer Ausführungsform werden der TEMPLATEKEY
und das Vorlagenverzeichnis durch das System 10 automatisch
zugeordnet.
-
In
einer Ausführungsform
können
kundenspezifisch anpassbare Bereiche durch Eingeben eines HTML-Codes
für die
Anzeige von Schaltflächen,
Kopftexten, Kopfdaten/Fußdaten
und Titeln modifiziert werden. BACK- und NEXT-Schaltflächen im
Vorlagenaufbereiter werden verwendet, um sich zu Vorlagenbereichen
zu bewegen, die zu ändern
sind.
-
In
einer anderen Ausführungsform
ist jede Seitenvorlage eine HTML-Datei, welche durch den Benutzer
angelegt wird. Die Vorlage weist Abteilungsetiketten für die Inhaltsobjekte
auf. Diese Etiketten zeigen an, wo das konkrete Inhaltsobjekt erscheinen
soll. Zum Beispiel weisen die Etiketten in einer Ausführungsform
das Format von <!--WOBx
START--> <!--WOBx END--> auf, wobei x die Nummer
des konkreten Objekts ist. Jedes Objekt weist eine verbundene Abteilung
mit Namen WOBx auf, wobei x die Abteilung ist. Die Abteilung weist zugeordnete
Parameter auf, welche benötigt
werden, um den Anruf zu absolvieren, um das Inhaltobjekt zu erhalten.
Es können
N Etiketten definiert sein, wobei N in der WOBCount-Variablen in
der [WOB]-Abteilung
festgelegt wird. Wenn der Anruf getätigt wird, um ein Dokument
für einen
Benutzer anzuzeigen, wird die Vorlage als die Basis verwendet, um
die Webseite anzulegen. Der Inhaltsserver 12 kann dann
die Vorlage abtasten und nach der WOB-Abteilung suchen. Wenn er
diese Abteilung findet, kann er vom WOBCount-Etikett bestimmen,
wie viele Objekte in dieser Seite anzuordnen sind. Er kann dann
für jede
Sektion abtasten und Objekte zwischen <!--WOBxSTART--> und <!--WOBx_END--> (wobei x die Abteilungsnummer
ist) einfügen.
Die genauen Angaben für
diese Objekte werden von der entsprechenden [WOBx]-Abteilung (wobei
x die Abteilungsnummer ist) erhalten.
-
Ein
Beispiel für
eine Vorlage mit einem Objekt ist in 6 dargestellt.
Die Vorlage beginnt mit dem Etikett „PAGE BEGIN". Anzuzeigende HTML
folgt auf das Etikett. Als Teil der HTML legt die Kommentarzeile „<!--Insert_Web-Object0-->" fest, wo das Objekt im HTML-Text angeordnet
wird. Das Etikett „PAGE
END" zeigt das Ende
des HTML-Textes an und den Beginn des Kontrolltextes an. Die Abteilung „[WEB OBJECT]" legt ein Objekt
durch das Etikett „Web
Object_Count=1" fest.
Die Abteilung „[Web_OBJECT0]" legt fest, welches
Objekt durch das Etikett „web-Method=contentServer/reports/report1" eingefügt werden
soll.
-
Ein
Beispiel für
eine Vorlage mit zwei Objekten ist in 7 dargestellt.
In diesem fall werden zwei Objekte angezeigt, wenn die Seite angelegt
wird. Wieder beginnt die Vorlage mit dem Etikett „PAGE BEGIN". Anzuzeigende HTML
folgt auf das Etikett. Als Teil der HTML legt die Kommentarzeile „<!--(Insert_Web_Object0-->" fest, wo das erste Objekt im HTML-Text
angeordnet wird. Die Kommentarzeile „<!--(Insert_Web_Object1-->" legt fest, wo das zweite Objekt im
HTML-Text angeordnet wird. Das Etikett „PAGE END" zeigt das Ende des HTML-Textes und
den Beginn des Kontrolltextes an. Die Abteilung „[WEB OBJECT]" legt zwei Objekte
durch das Etikett „Web:Oject_Count=2" fest. Die Abteilung „[WEB_OBJECT0]" legt fest, welches
Objekt durch das Etikett „webMethod=contentServer/reports/report1" eingefügt werden
soll. Die Abteilung „[WEB_OBJECT1]" legt fest, welches
Objekt durch das Etikett „web-Method=contentServer/reports/report1" eingefügt werden
soll.
-
Wie
bereits erwähnt,
umfasst der Server 12 in einer Ausführungsform eine Suchfunktion.
In einer solchen Ausführungsform
sucht der Inhaltsserver 12 seine Objekte nach Schlüsselwörtern ab,
welche in die Auswahldialogbox eingegeben werden. Wenn in einer
Ausführungsform
dem Inhaltsserver 12 ein Dokument bekannt gegeben wird,
werden die Daten in dem Dokument durch die Suchmaschine indexiert.
Wenn in einer anderen Ausführungsform
dem Inhaltsserver 12 ein Dokument bekannt gegeben wird,
wird nur ein Suchstumpf angelegt. Dieser Suchstumpf wird in einem
Verzeichnis abgelegt, welches durch die Suchmaschine indexiert wird.
Die Daten in dem Stumpf sind der Inhalt, welcher Index ist. Diese
Daten enthalten nur die Daten in dem veröffentlichten Dialog (Inhalt,
Titel, Kopfzeile, Beschreibung).
-
In
einer Ausführungsform
umfasst der Inhaltsserver 12 einen Satz von Verwaltungsfunktionen.
Der Zugriff auf diese Verwaltungsfunktionen erfolgt über ein
Java-Applet und ist auf Benutzer beschränkt, welche der Verwaltungsgruppe
zugeordnet sind. Die UI sollte die Form eines bestehenden Verwaltungs-Applets
(wie die Netscape-Verwalter-Anwendung) annehmen.
-
In
einer Ausführungsform
ist die Benutzerschnittstelle ein Java-Applet, welches mit einer
Kombination von Java-Swing-Klassen
und HTML geschrieben ist. Dies bringt mit sich, dass Verwaltungsbenutzer
Zugriff auf einen Browser haben müssen, welcher JVM 1.12 oder
höher ermöglicht.
Die Verwaltungs-UI stellt die folgenden Funktionen bereit:
- – Anlegen
/ Hinzufügen
eines neuen Benutzers (einzeln u. stapelweise)
- – Löschen eines
Benutzers
- – Auflisten
von Benutzern
- – Anlegen
/ Aufbereiten von Profilen
- – Zuordnen
von Profilen
- – Anlegen
/ Hinzufügen
einer neuen Arbeitsgruppe
- – Löschen von
Arbeitsgruppe(n)
- – Auflisten
von Arbeitsgruppen
- – Anlegen
/ Aufbereiten von Berichtsverzeichnissen
- – Löschen von
Berichtsverzeichnissen
- – Anlegen
/ Aufbereiten von Kanälen
(öffentliche
u. Arbeitsgruppen-)
- – Löschen von
Kanälen
(öffentlichen
u. Arbeitsgruppen-)
- – Bestücken des
Inhaltsservers (Einzelobjekt u. Stapel)
- – Aufbereiten
des Verwahrungsorts
- – Starten
/ Stoppen des Servers
- – Darstellen
von Zugriffsprotokollen / Benutzerstatistiken
- – Sitzungsmanagement
(Browser-Unterbrechungseinstellungen)
- – Systemrundsendenachrichten
- – „Abbrechen" einer Benutzersitzung
-
„CreateNewUser" fügt einen
Benutzer zur Benutzersicherheitsdatenbank hinzu. Der Verwalter kann das
Profil des Benutzers einstellen, welches eine Unix-Benutzer-Id und
ein Unix-Benutzer-Passwort enthält, das
Sicherheitsmodell, Gruppenzuordnungen und andere Einträge im Benutzersicherheitsdatensatz. „DeleteUser" entfernt einen Benutzer
aus der Sicherheitsdatenbank, einschließlich des Benutzerprofils. „EditUser" führt Änderungen
an den Einträgen
durch, welche anfänglich
hinzugefügt
wurden, als der Benutzer mit „CreateNewUser" angelegt wurde,
einschließlich des
Benutzerprofils. „ListUser" listet die Benutzer
auf, welche gegenwärtig
in dem System bestehen. „Create
New Group" legt
eine neue Gruppe an. „Manage
Group" stellt alle Funktionen
bereit, welche zur Verwaltung einer Gruppe gebraucht werden.
-
In
einer Ausführungsform
kann der Inhaltsserver 12 in mehreren Umgebungen installiert
und ausgeführt
zu werden. Er ermöglicht
die Java-Internationalisierungsklassen, welche den Zeichensatz mit
Breitbyte (16 Bit) benutzen.
-
In
einer solchen Ausführungsform
wird der Inhaltsserver durch eine bestimmt Klasse lokalisiert. Die Klasse
weist das folgende Format auf:
- Public class I18n {
//Public
Constructors
public I18n();
public I18n(String applet
path, String Locale);
public I18n(String Properties file name,
String applet
path, String Locale);
//Public Instance
Methods
public String returnString(String Key, String default
string);
}
-
Der
erste der drei Konstruktoren nimmt zwei Argumente. Dieser Konstruktor
wird verwendet, wenn die beiden anderen Konstruktoren nicht instanzieren.
Dies ermöglicht
das returnString()-Verfahren, um die Standardzeichenfolge zurückzusenden,
selbst wenn die Eigenschaftsdatei nicht ermittelt werden konnte.
Der zweite der drei Konstruktoren nimmt zwei Argumente. Er hat kein
Properties File Name- Argument,
da er auf die Eigenschaftsdatei (properties file), die webCommon.properties
heißt,
voreinstellt. Diese Properties file ist für Zeichenfolgen, welche mehr
als einem Objekt gemeinsam sind. Der letzte Konstruktor nimmt drei
Argumente, nämlich
den Properties file name (Eigenschaftsdateiname), den applet path
(Applet-Pfad) und die locale (Ländereinstellung).
Der applet path bezieht sich auf das Docs directory (Dokumentenverzeichnis)
auf dem Webserver.
-
Die
Klasse I18n verwendet zwei JDK1.1-Klassen, nämlich Java.util.PropertyResourceBundle
und java.net.URL. Java.util.PropertyResourceBundle erweitert java.util.ResourceBundle
und weist einen Public Constructor (öffentlichen Konstruktor) auf,
welcher einen InputStream-Datenstrom
als sein Argument nimmt. Der Eingabedatenstrom (input stream) wird
von einer Properties file durch die Klasse java.net.URL erzeugt. Die
URL-Klasse weist vier Public Constructors auf, wobei einer ihrer
Konstruktoren einen Pfad/Dateinamen als sein Argument nimmt. Das
openStream-Verfahren wandelt die gegebene Properties file in einen
Datenstrom um.
-
Die
Properties file (Eigenschaftsdatei) ist einfach eine Textdatei mit
Key (Schlüssel)
= Value pairs (Wertpaare). Der Value ist die lokalisierte Zeichenfolge
und der Schlüssel
ist das Identifizierungszeichen für diese Zeichenfolge. Die Properties
file wird gemäß dem folgenden
Schema benannt:
Project_language_country.properties wobei project
der Name des Projekts ist, language der Sprachenteil der Ländereinstellung
ist und country der Länderteil
der Ländereinstellung
ist.
-
Die
Klasse I18n sucht zuerst nach der Sprache und dem Land, dann nur
nach der Sprache und schließlich
nur nach dem Projekt. Zum Beispiel könnte ein Projekt den Namen „Content
de DE.properties" haben.
Wenn die Properties file nicht gefunden wird, dann such die Klasse
I18n nach dem Namen „Content de.properties". Sonst sucht die
Klasse nach „Content.properties". Diese letzte Properties
file sollten die Standard-Englischzeichenfolgen sein.
-
In
einer Ausführungsform
werden Zeichenfolgen, welche quer durch viele Projekte gemeinsam
sind, in der Properties file gespeichert, die webCommon.properties
heißt.
-
Sobald
die Klasse PropertyResourceBundle instanziert ist, wird das getString()-Verfahren
verwendet, um Information aus dem Properties files-Datenstrom zu
ziehen. Das getString()-Verfahren nimmt einen Zeichenfolge-Key als
sein Argument.
-
Um
das System 10 zu verwenden, öffnet ein Benutzer die Anwendung
des Systems 10 und meldet sich mit seiner Benutzer-ID und
seinem Benutzer-Passwort (oder einem anderen Zugriffsberechtigungsmechanismus)
beim System an. Die Zugriffsberechtigung kann über eine Passwortprüfung des
Systems 10 oder durch Zugreifen auf LDAP- oder NIS-Zugriffsberechtigungsverfahren
erfolgen. (Für
die LDAP- und NIS-Zugriffsberechtigung werden die Benutzerpasswörter in
einer Ausführungsform
zur Kennzeichnung externer Zugriffsberechtigung auf ?LDAP beziehungsweise
?NIS eingestellt.) In einer Ausführungsform
erzeugt das System 10 einen Sitzungsschlüssel für den Benutzer
und erstellt eine Benutzersitzung in einem internen Sitzungspool,
der durch den Sitzungsschlüssel
indexiert wird. Das System 10 verwaltet den internen Sitzungspool durch
einen Optimierungsteilprozess, welcher den Sitzungspool überwacht
und Sitzungen, die verfallen sind, entfernt.
-
Sobald
sich der Benutzer erfolgreich beim System 10 angemeldet
hat, wird eine Nachrichtenseite innerhalb eines Navigationsbereichs
angezeigt. In einer Ausführungsform
ist der Navigationsbereich eine kundenspezifisch anpassbare Vorlage
unter der Kontrolle des Verwalters. Jeder Benutzer kann seine eigene
Vorlage haben. In einer solchen Ausführungsform umfasst das System 10 einen
Vorlagenaufbereiter, welcher unter der Kontrolle des Verwalters
arbeitet, um bestimmte Benutzer-, Gruppen- oder öffentliche Vorlagen zu bilden.
In einer anderen Ausführungsform
steht den Benutzern ein Vorlagenaufbereiter zur Verfügung, um
ihre eigenen Seiten anzulegen.
-
In
einer Ausführungsform
werden Kopfzeilen, die dem Kanal zugeordnet sind, innerhalb der
Nachrichtenseite angezeigt, und der Benutzer kann auswählen, ausführlichere
Information in Bezug auf die Kopfzeile zu lesen, indem er die Kopfzeile
anklickt. Wenn der Benutzer wünscht,
zusätzliche
Kanäle
hinzuzufügen,
fügt er
ganz einfach die Kanäle
zu seiner Nachrichtenseite hinzu.
-
In
einer Ausführungsform
fügt der
Benutzer einen Kanal zu seiner Nachrichtenseite hinzu, indem der „Profile" im Navigationsbereich
auswählt, „News Settings" innerhalb der „Profile"-Seite auswählt, eine „Public", „Group" oder „Personal" Nachrichtenseitenbetrachtung
auswählt,
den oder die hinzuzufügenden
Kanäle
auswählt
und die Nachrichtenseitenänderungen
einreicht. Der Kanal wird dann auf der Nachrichtenseite angezeigt,
und jedes Mal, wenn sich der Benutzer beim System 10 anmeldet,
wird aktualisierte Information angezeigt.
-
Der
Benutzer kann auf jedes Material zugreifen, für welches er über die
richtige Erlaubnisse verfügt. Wenn
der Benutzer außerdem
Schreibeerlaubnis hat, kann er auf Dokumente innerhalb des Systems 10 zugreifen,
sie modifizieren und speichern. Selbst wenn der Benutzer keine Erlaubnis
zum Modifizieren eines Dokuments hat, kann er, solange er eine Leseerlaubnis
hat, auf das Dokument zugreifen, das Dokument modifizieren, falls
gewünscht,
und das modifizierte Dokument als ein neues Dokument im System 10 speichern.
Außerdem
kann der Benutzer einen neuen Kanal anlegen und diesen Kanal mit
Dokumenten bestücken,
welche für
diesen Kanal relevant sind. Wenn der Benutzer zum Beispiel ein Versicherungsagent
ist, könnte
er einen Kanal für
Versicherungsagenten anlegen und diesem Kanal Dokumente bekannt
geben. Andere Agenten könnten
auf diesen Kanal durch ihre jeweiligen Nachrichtenseiten zugreifen.
Der Benutzer kann die Erlaubnisse für den Zugriff auf den Kanal
einstellen. Zum Beispiel kann der Kanal so beschränkt sein,
dass er zwar zum Lesen für
andere in der Versicherungsagentenarbeitsgruppe zur Verfügung steht,
diese aber nichts in dem Kanal modifizieren können.
-
Bevor
ein Dokument auf einem Kanal verfügbar gemacht wird, muss der
Benutzer das Dokument der Bibliothek bekannt geben. In einer Ausführungsform
tut der Benutzer dies durch Auswählen
von „Library" im Navigationsmenü, Auswählen einer
Arbeitsgruppe und Auswählen
eines „Publish"-Symbols, das auf
der Werkzeugleiste dargestellt ist. Der Ort des Dokuments wird markiert,
ein Titel wird für
das Dokument eingegeben, und eine Kopfzeile wird eingegeben, welche
angezeigt wird, wenn das Dokument innerhalb des Kanals dargestellt
wird. Der Benutzer kann dann die Erlaubnisse einstellen und „gab" das Dokument der
Bibliothek „bekannt". Das Dokument erscheint
dann im ausgewählten
Arbeitsgruppenbereich in der Bibliothek.
-
Ein
Querverweis auf bestehende Dokumente kann einfach erfolgen, indem
die URL, welche dem Dokument zugeordnet ist, einem Arbeitsgruppenbereich
in der Bibliothek bekannt gegeben wird.
-
Um
einen Bericht von einer der Informationsquellen 14 zu veröffentlichen,
meldet sich der Benutzer bei einer Informationsquelle 14 an
und erstellt einen Bericht. Der Bericht wird bei der Informationsquelle 14 eingereicht,
und ein Dokument wird erzeugt. Der Benutzer durchsucht das virtuelle
Verzeichnis des Systems 10 und wählt einen Ort aus, um das Dokument
zu veröffentlichen.
Der Berichtsverweis wird dann von der Informationsquelle 14 auf
den Server 26 hinaufgeladen, und die Berichtinformation
wird im Verwahrungsort 22 gespeichert, wie zuvor beschrieben.
Ein Verweis auf den Bericht wird im Inhaltsverzeichnis ebenfalls
gespeichert, und eine Meta-Suchdatei wird erzeugt und im Index 28 gespeichert.
Gleichzeitig wird die Meta-Suchdatei an
die anderen Inhaltsserver rundgesendet.
-
Wenn
ein Bericht von einem Benutzer betrachtet wird, greift er auf den
Bericht vom Inhaltsserver 26 zu und ruft das Dokument ab,
das in HTML auf dem Browser des Benutzers anzuzeigen ist. Wenn das
Dokument ein Bericht auf Abruf ist, veranlasst die Handlung des
Abfragens des Dokuments den Server 26, die Informationsquelle 14,
welche dem Bericht zugeordnet ist, abzufragen. In einer Ausführungsform
wird eine URL, welche auf ein cgi-Programm verweist, für jede Abfrage
auf Abruf erzeugt und ein HTML-Dokument, welches die Ergebnisse
der Berichtsabfrage auf Abruf darstellt, wird durch die Informationsquelle 14 an
den Benutzer weitergeleitet.
-
Der
Benutzer kann Boten erstellen, um Inhalt zu einem Kanal hinzuzufügen. Boten
helfen dem Benutzer, die Lieferung von Objekten zu einem bevorzugten
Bestimmungsort zu automatisieren. Sie arbeiten hinter den Kulissen,
um Kanäle
automatisch zu aktualisieren, indem sie Kopfzeilentextnachrichten
mit Querverweisen auf zugeordneten Inhalt rundsenden.
-
In
einer Ausführungsform
wird ein Bote erstellt durch Auswählen von „Messengers" (Boten) im Navigationsmenü, Auswählen von „Agent
Messengers" im Arbeitsgruppenbereich
und Angeben, dass der Bote ein neuer Bote ist. Ein Titel und eine
Kopfzeile werden für
den Boten eingegeben, und ein Kanal wird als der Ort ausgewählt, an
dem der Bote abgelegt wird. Eine Periode (z.B. täglich) wird ausgewählt, und
Erlaubnisse für den
Boten werden festgelegt. Der Bote wird dann gespeichert und in dem
ausgewählten
Kanal angezeigt.
-
In
einer solchen Ausführungsform
führt die
Bedienungsmaßnahme
des Speicherns des Boten zum Senden von Boteninformation an ein
Servlet des Systems 10. Das Servlet bestimmt den Objektschlüssel für den Boten
und fügt
den Objektschlüssel
in den Verwahrungsort 22 ein. Das Servlet stellt auch eine
Beziehung zwischen dem Boten und dem Kanal im Verwahrungsort 22 her.
Außerdem
wird der Bote zu der Aufgabentabelle hinzugefügt wenn eine E-Mail festgelegt
wurde. Ein Servlet-Wartungsteilprozess überwacht dann die Aufgabentabelle,
um planmäßige Aufgaben
zu erledigen.
-
Obwohl
bestimmte Ausführungsformen
hierin veranschaulicht und beschrieben wurden, ist für die Durchschnittsfachleute
zu erkennen, dass jede Anordnung, welche kalkuliert ist, um denselben
Zweck zu erreichen, als Ersatz für
die dargestellte, konkrete Ausführungsform
dienen kann. Es ist beabsichtigt, dass diese Anmeldung sämtliche
Anpassungen oder Veränderungen
der vorliegenden Erfindung umfasst. Daher ist beabsichtigt, dass
diese Erfindung nur durch die Ansprüche und Äquivalente davon beschränkt ist.