Talk:JusCMS Requirements CMS

JusCMS,MPDL

Nachstehder Text soll als E-Mail von Herrn Martens an Contens verschickt werden. An alle Projektbeteiligten: Bitte ergänzen und kommentieren bis 16.09.2009!

Geplanter Workflow

 * sämtliche Publikationsdatensätze werden im Publikationsverwaltungsprogramm der MPDL (PubMan) erfasst.


 * es gibt 30 Publikationstypen (in PubMan mit "Genre" bezeichnet)
 * auf der Webseite (Contens) werden die 25 Publikationstypen 9 verschiedenen Kategorien zugeteilt. (Beispiel: Kategorie "Herausgeberschaften", Publikationstyp "Tagungsband Herausgeber"; Kategorie "Aufsätze", Publikationstyp "Zeitungsartikel Autor")
 * auf der Webseite (Contens) werden diese untereinander in den jeweiligen Kategorien abgebildet ( Beispielseite)
 * Manche Publikationen haben einen Volltext. Dieser wird nicht übertragen, sondern nur seine URL als Teil der Metadaten, die auf dem Volltext in PubMan verweist.
 * die Volltextindizierung der Publikationen jedes Instituts muss in die Suchfunktion der Website jedes Instituts integriert werden

--Kortuem 15:05, 17 September 2009 (UTC)Anmerkung aus München - Als Anforderung hatten wir folgendes festgehalten - HOCH H/M On-demand-Publizieren (online stellen, freischalten für Ungeduldige) einzelner Seiten - Pull-Mechanismus.

OPTION 1 (PULL): OPTION 2 (PUSH): OPTION 3:
 * die Publikationsdatensätze in PubMan können über die Schnittstelle REST (Search & Export) im XML-Format ausgelesen werden (Link s. unten)
 * aus Contens wird z.B. über die Publikationsseite eines Wissenschaftlers eine Abfrage (alle Publikationen dieses Mitarbeiters) an PubMan über REST gestartet. (Beispielabfrage s. unten)
 * REST liefert eine Zeichenkette im XML-Format, nach Contens.
 * über die noch in Contens zu implementierende Schnittstelle SWORD ( Spezifikation ) können die Datensätze von PubMan nach Contens übergeben werden.
 * für Alternativen sollte ein kommunikativer Austausch zwischen MPDL und Contens stattfinden
 * Auf Contens-Seite werden nach Übertagung der Daten die Publikations-Objekte mehrsprachig (englisch / deutsch) generiert


 * Danach werden diese generierten Objekte automatisch in Listen, innerhalb der 9 Kategorien, über "Aktive Seitenbereiche" in Contens angezeigt ( Beispielseite, mit 7 Kategorien, die 2 fehlenden Kategorien enthalten keine Publikationen).
 * Contens wird beauftragt, auch die Templates und Outputtypes für alle gewünschten Ausgabeformate (Publikationslisten) zu erstellen

Dateninhalt einer Publikation im XML-Format:


 * Anhängend finden Sie 2 XML-Export-Dateien aus PubMan:
 * 1. Datei enthält einen Datensatz [[image:Export_pubman_1_Datensatz_mit_Zitierstil.txt]]
 * 2. Datei enthält mehrere Datensätze [[image:Export_pubman_mehrere_Datensaetze_mit_Zitierstil.txt]]

--Kortuem 15:08, 17 September 2009 (UTC)Kommentar aus München: Aus unserer Sicht würde die Übermittlung dieser beiden Dateien am hilfreichsten sein. Evtl. weniger Text ;-)

Die einzelnen Datensätze (zwischen tags ( ) müssen in Contens als Objekte generiert und gespeichert werden. Eventuell ist eine Filterung der Daten notwendig, weil die bibliographischen Daten bei  anfangen. Erst wird der XML transformiert, geparst und danach Instanzen der einzelnen Publikationsobjekte erstellt.

Ein Datensatz enthält u.a. die zur Generierung des Contens-Objektes wichtigen Inhalte:


 * Person (Felder in XML-Beispieldatei: family-name, given-name) (als Filter für Aktive Seitenbereiche)
 * Rolle der Person = creator-role (als Filter für Aktive Seitenbereiche)
 * Zitierstil = CDATA (als direktes Ausgabeformat zur Anzeige z.B. in Webseite Publikationsliste des Mitarbeiters)
 * local tags = local tags (Keine Anzeige auf Contens-Seite, nur Filter für Aktive Seitenbereiche)
 * Link zum Volltext + Zugriffsrechtinformation Volltext (Anzeige) = escidocComponents:content storage + dc:rights
 * Freitextfelder (zur Anzeige in Webseite, in Beispieldatei nicht vorhanden)
 * Publikationstyp = type="book-item" (Filter für Aktive Seitenbereiche)
 * Veröffentlichungsdatum = dcterms:issued xsi:type und letztes Änderungsdatum = last-modification-date
 * Organisationszugehörigkeite der Person = organization-name

Ideal: alle Metadaten (bibliographische Beschreibungsdaten der Publikation) sind als suchbare Einzelfelder im Objekt enthalten (z.B. family-name, given-name, title, publisher, place etc.)- für weitere Filtermöglichkeiten.

Das Feld "Zitierstil" (CDATA) ist in den Beispieldateien derzeit nur in der deutschen Variante vorhanden. Angedacht ist, dass CDATA 2x übergeben wird, z.B. als CDATA lang_id=de und CDATA lang_id=en --Gergana 13:08, 4 September 2009 (UTC) Wie bereits oben und per Mail geschrieben, sinvoller ist, dass im Zitierstil Platzhalter wie im jetzigen Zitierstil Hamburg stehen - @formatSeitenzahlen. Es wird auf einer Variable in der I18N-Datei referenziert und auf der CMS-Seite für jede Sprache richtig angezeigt. Ich denke, mann muss den Satz mit 2xCDATA rausnehmen. Jetzt hat man auch nicht zwei Zitierstile im CMS, sondern nur Platzhalter. Wieso soll es auf einmal anders sein? --Iarndt 08:56, 9 September 2009 (UTC) D.h. dass CMS-seitig eine I18N-Datei vorgehalten werden müsste, oder? Das bedeutet auch, dass man in Contens nicht "einfach" definieren kann: zeige das Objektfeld CDATA an wie es ist, sondern mache erst noch etwas damit (prüfe, in welcher Sprachversion der Seite du dich befindest und ersetze die Platzhalter durch die entsprechenden Einträge in der I18N-Datei). Das klingt für mich Contens-seitig aufwändiger = teurer. Hier müsste man sicher nach dem Preisunterschied fragen und dann entscheiden. Ferner muss Contens prüfen, ob es technisch überhaupt möglich ist. CDATA- aus dem ein Objektfeld werdens soll- wäre dann eine Mischung aus Klartext und Variablen. Es wäre zu prüfen, ob Contens standardmäßig damit umgehen kann und wenn nicht, was die Implementierung kosten würde. Warum kann das Ganze nicht PubMan-seitig umgesetzt werden? --Gergana 14:19, 9 September 2009 (UTC) Genauso wird es aber jetzt auch gemacht. Es gibt Dateien im Verzeicnis "glossary", in dem Elementennamen für beide Sprachen definiert werden. Frag bitte dazu Justus wie es jetzt gemacht wird. -- Iarndt 08:54, 11 September 2009 (UTC) Pro deine Variante: Contra deine Variante: Unsere Einschätzung: vermeidbarer Zusatzauftrag für Contens (begrenztes Budget!), sollte auf MPDL-Seite umgesetzt werden, Zitierstil sollte KOMPLETT übergeben werden
 * Übertragung CDATA nur 1x (kürzere Übertragung, weniger Daten)
 * Für weitere Sprachen sicher am effektivsten
 * Aufwändigere Erstellung von Outputtypes (für JEDEN Publikationstyp und JEDE Instanz)
 * Erstellung und Pflege der "Glossar"-Datei (mpi_langtexts.xml) für JEDE Instanz, parsen des "Vorab"-Zitierstils notwendig

Die Objekte sollten im Editiermodus auf Webseiten oder der Objektbibliothek zwar über den Button "Editieren" aufrufbar und anzeigbar sein, deren Inhalte dürfen aber nicht verändert werden können. Jegliche Änderungen in den Publikationen erfolgen in PubMan und werden beim nächsten PULL bzw. PUSH übertragen und die Contens-Objekte werden aktualisiert.

Webseite / Publikationsseite des Wissenschaftlers:
 * es gibt 30 Publikationstypen --Kortuem 15:10, 17 September 2009 (UTC)(Kommentar aus München: s.o.), die in 9 Kategorien untergliedert sind
 * Es werden z.B. die Felder "family-name", "given-name", "type" und "last-modification-date" eines Objektes als Filter für Aktive Seitenbereiche auf der Publikationsseite ausgewertet.
 * entsprechend der Auswertung werden
 * A: alle Objekte des Autors gefunden
 * B: die gefundenen Objekte den 9 Kategorien zugeordnet
 * C: die Felder "Zitierstil" (CDATA) + "Link zum Volltext (content storage, Anzahl dynamisch)" + "Freitext (in Beispieldatei nicht vorhanden, Anzahl dynamisch, durch Bullets separiert, s. http://mpipriv.de/ww/de/pub/mitarbeiter/doralt_walter/schriftenverzeichnis.cfm, Abschnitt II)" des Objektes angezeigt
 * D: Die Sortierung innerhalb einer Kategorie erfolgt 1. nach Feld "Erscheinungsdatum" (je nach Publikationstyp dcterms:issued, dcterms:created, eterms:published-online), wenn dies nur 4-stellig (YYYY) statt 8-stellig (YYYY-MM-DD) ist, dann nach Feld "Erfassungsdatum" (last-modification-date)
 * E: Objekte mit einem standardisierten Local Tag (z.B. "no display") werden nicht angezeigt (Filterfunktion)

--Gergana 13:10, 4 September 2009 (UTC) Was soll im Freitext stehen? Wir haben in PubMan kein Feld Freitext. Mir ist das unklar. --Iarndt 08:56, 9 September 2009 (UTC) Dies ist das gute alte Thema "Übersetzungen und Rezensionen". Wir müssen uns dringend darüber unterhalten wie diese Zusatzdatesätze, selbst wenn sie in PubMan als "echte" Publikationen erfasst worden sind, so übergeben werden könnten, dass Contens "versteht", dass es sich nur um Zusatzinfos zur Hauptpublikation handelt und diese korrekt formatiert durch Bullets separiert unterhalb der Hauptpublikation anzeigt. Wenn das nicht sauber funktioniert, müssen wir ernsthaft überlegen, Contes-seitig ein Freitextfeld zur Verfügung zu stellen und diese Infos eben nicht in PubMan zu erfassen. --Kortuem 15:14, 17 September 2009 (UTC)Kommentar aus München: Bitte beachten - Wenn irgendwie möglich, Eingaben nur in PubMan Contes muss wissen, womit sie in der Datenlieferung rechnen können- nur dann können sie sagen, was es kostet, diese Sonderformatierung zu implementieren. Man könnte diese Infos natürlich auch PubMan-seitig vorgenerieren und ggf. inkl. HTML-Formatangaben mit übergeben. Dann müsste Contens "einfach nur" das Objektfeld (bei uns in Contens derzeit ein "Freitext"-Feld) anzeigen. Das wäre vermutlich kostengünstiger. --Gergana 12:59, 10 September 2009 (UTC) *C: Im Element dcterms:isReferencedBy, dcterms:references, dcterms:isTranslationOf und dcterms:hasTranslation steht die Abhängigkeit der Publikation mit anderen Publikationen. Es wird höchstwahrscheinlich eine escidocId stehen. Es muss also bei Export heissen: "Hol mir alle Daten + die Items, die eine Abhängigkeit haben." Dann werden diese Items mit Bullets aufgeschreiben. Auf Contens-Seite stehen z.B. pro Objekt 4 Felder - isReferencedBy, references, isTranslationOf und hasTranslation. Diese werden dann entsprechend ausgefüllt und verweisen auf das Objekt in der CMS-Bibliothek oder stehen leer. Es sei denn, in Contens ist so was wie Vererbung möglich und man hat einfache Objekte und erweiterte Objekte, die eine Beziehung zu einem anderen Objekt haben (und das entsprechende Feld ist ausgefüllt). Die Felder "Zitierstil" (dcterms:bibliographicCitation), Link zum Volltext (escidocComponents:content xlink:href) und Rezensionen bzw. Übersetzungen werden angezeigt.

-- Iarndt 09:40, 11 September 2009 (UTC) Als Contens-Experte hält Herr Martens es für nicht realisierbar bzw. bezahlbar, Relationen zwischen den Publikationen herzustellen und gesondert zu formatieren. Idee: ggf. das Feld "local tags" auch hierfür verwenden. Rufe dich, Gergana, dazu nochmal an.


 * der Mitarbeiter muss die Seite (erneut) publizieren

Anforderung zu OAuth, Single Sign On-Shibboleth u.a.
 * Shibboleth: Die MPG plant ihre Dienste als Service-Provider mit Shibboleth anzubieten bzw. auch selbst als Identity Provider zu fungieren DFN-AAI Meldung . Die einzelnen Institute sind die IdentityProviders, d.h. sie führen bei sich z.B. einen LDAP-Server, authentifizieren den User und geben ihm bestimmte Attribute. Der Service Provider, in diesem Fall Contens und PubMan, verstehen diese Attribute und gewähren dem User anhand seiner Attribute den Zugriff auf das System. Vorteil: Nicht jede Anwendung hält die User, sondern einen zentralen Server. Dementsprechend muss bei Hinzufügen/Löschen der Nutzer nur an einer Stelle eine Änderung vorgenommen werden (z.B. im LDAP-Server). Shibboleth schreibt nur die Authorisierung - notwenige Attribute und Protokolle vor, nicht aber die Authentifizierung der Nutzer. Jeder Teilnehmer muss bestimmte Module installieren (https://spaces.internet2.edu/display/SHIB2/Installation Shibboleth Installation), wobei die Service Provider auch bestimmen müssen, wie die Attributten bewertet werden (z.B. member darf alles, student nur schreiben, aber nichts löschen).

--Gergana 13:54, 4 September 2009 (UTC) Aus meiner Sicht braucht Contens nicht Shibboleth zu verstehen. Es ist eher eine Frage an die Techniker, ob sie zweimal User pflegen wollen - einmal für CMS und einmal (in 1-2 Jahre) sowieso für Shibboleth und unter anderem PubMan. Wenn Contens diese Attribute verstehen möchte und als ServiceProvider fungieren möchte, bitte. In unseren Workflows wird das für folgende Aktionen gebraucht: Iarndt 09:32, 9 September 2009 (UTC)Ein Wissenschaftler, der eine Full Submission macht, soll auch releasen können. Die "zentrale Stelle" ist zwar auch aus Hamburger Sicht gut und sinnvoll, aber derzeit noch nicht vorhanden und es ist nicht klar, ob es sie eines Tages geben wird. Entsprechend muss der Wissenschaftler auch in der Lage sein, den kompletten Workflow selbst durchzuführen. S. hierzu auch die von Juliane erstellten Workflows.
 * 1) Wissenschaftler möchte Volltext seinen Kollegen sehen, der aber restriktiert ist. Der Wissenschaftler wird zu PubMan weitergeleitet, meldet sich dort an und kann den Text sehen. (Es sei denn, im Browser des Wissenschaftler läuft noch eine Shibboleth-Session und er braucht sich nicht anmelden. Wenn aber einaml das Browser-Fenster zugemacht wird, muss eine neue Authentifizierung erfolgen. Das ist mit Einstellungen im Browser zu umgehen (in diesem Fall wird der Nutzer immer beim Starten des Browsers authomatisch authentifiziert)).
 * 2) Wenn der "Expert"-Wissenschaftler seine Daten in PubMan submitted und released hat, geht er nun zurück zu PubMan und möchte, dass seine Publikationen dort angezeigt werden (z.B. Abfrage starten, Contens-Seite neu publizieren). An der Stelle wird sich, im Fall der Nutzung von Shibboleth, der Nutzer nicht noch mal in Contens anmelden müssen. Er hat schon eine Session mit seinen Attributen, die von Contens richtig verstanden werden sollen. Da aber ein Wissenschaftler, so weit ich weiss, sowieso nicht etwas in PubMan releasen darf, wird dieser Fall auch nicht auftrten.

--Gergana 14:20, 10 September 2009 (UTC) Dann wird sich der Wissenschaftler, nach dem er seine Items auf PubMan released hat, sich bei Contens anmelden, um dort seien Publikationen zu holen und publizieren.

Juliane 14:36, 10 September 2009 (UTC): Im PubMan Simple Workflow ist es möglich, dass der Depositor (in diesem Fall der Wissenschaftler) den gesamten Publikations-Workflow durchläuft, das heißt seine eingegebenen Publikationen auch releasen darf. Siehe dazu auch: Complete Publication Entry by Scientist im Bereich der bislang spezifizierten JusCMS Publikations Workflows!

--Kortuem 15:17, 17 September 2009 (UTC)Kommentar aus München: Wieso ist hier OAuth noch drin? Das steht doch aus unserer Sicht nicht mehr zur Diskussion.


 * OAuth ist ein Delegierungs-Protokoll. Eine Anwendung kann auf die Ressourcen der anderen Anwendung zugreifen. In unserem Fall darf Contens auf die Metadaten und Volltexte in PubMan zugreifen. Für das Holen der Daten von PubMan nach Contens (Export-Schnittstelle) braucht der User kein Username und Password. PubMan vertraut alle Anwendungen, die Daten abfragen wollen. Da die Volltexte in PubMan liegen, wird der Nutzer dorthin weitergeleitet und muss sich, wenn der Text restriktiert ist, dort ausweisen. Im Falle von OAuth würde sich der Nutzer in PubMan anmelden und sagen: "Ich vertraue dem CMS-System und erlaube, diese Datei dorthin zu verschieben". Dann wird der User wieder zu Contens weitergeleitet und kann den Volltext sehen, der nun zum CMS übertragen worden ist. Eigentlich macht dieses Szenario überhaupt keinen Sinn. OAuth ist für andere Anwendung sinnvoll, z.B. Facebook holt Fotos von Flicr. In dem Fall weist sich der User zweimal aus - einmal bei Facebook und einmal bei Flickr aus, aber er gibt seine Username uns Password nicht der fremden Anwendung.
 * OAuth Core 1.0
 * Code Libraries

--Gergana 13:54, 4 September 2009 (UTC)Bitte anhand der Workflows überprüfen, ob OAuth sinnvoll. Aus meiner Sicht nicht.

Weitere Anforderungen: --Kortuem 15:26, 17 September 2009 (UTC)Kommentar aus München: Hier müssten wir nochmal prüfen, welche der Punkte zur unseren ursprünglichen Anforderungen gezählt haben (insbesondere Volltextsuche über den Webserver)*Erzeugung einer Liste mit den letzen 5 Publikations-Objekten eines Publikationstyps, die sich täglich aktualisiert / publiziert (Applikation) --Kortuem 15:28, 17 September 2009 (UTC)Kommentar München: Suchmaschinenoptimierung ist nicht Bestandteil von JusCMS, sonder Aufgaben im Gesamtprojekt CMS. Sobald Suche optimiert, können wir das Thema im Kontext von JusCMS erst richtig bearbeiten.
 * Suchmaschinenoptimierung- betrifft JusCMS oder CMS-Projekt?: bitte Kommentare ergänzen
 * Volltext:
 * Sollen die PDF-Dateien sowohl in PubMan als auch im CMS vorhanden sein? Vorschlag Heidelberg: Es muss gewährleistet sein, dass auch die Volltexte über die Web-Server-Suche gefunden werden. Wie dies technisch gelöst werden kann, ist noch offen- hier gibt es keine Präferenzen.
 * Mögliche Lösung: Kann PubMan collections von den Publikationen (Metadaten + Volltexte) einzelner Institute extern zur Verfügung stellen, so dass diese von der Suchmaschine es Web-Servers intergriert werden können?
 * 2. mögliche Lösung: Übertragung der Volltexte (PDFs) ins CMS- lokale Indexierung der der Dateien über entsprechende Konfiguration der Web-Server-Suchmaschine


 * Zugriffsrechte auf Volltext, wenn PDF-Dateien im CMS-System verfügbar sind: Möglichkeiten Public, Shared und Private im CMS abzubilden (IP-basiert?)
 * Sichtbarkeit der Optionen Public, Shared, Private im CMS muss gegeben sein (im Editiermodus in Contens können andere Informationen angezeigt werden als in der externen Ansicht einer Seite). So sieht der Wissenschaftler noch ein 2. Mal (vor dem Publizieren), welche Zugriffsrechte er für den Volltext vergeben hat.
 * Vermutete Probleme: CMS-seitige Umsetzung der in PubMan festgelegten Volltext-Zugriffsrechte (Abgleich von Benutzern)


 * Volltextindexierung:
 * Suchbarkeit von Volltexten im PDF-Format: Voraussetzung sind maschinenlesbare PDF-Dateien (ist oftmals gar nicht gegeben).
 * Vorschlag Heidelberg: Zitate aus Volltexten müssen über Web-Server-Suche auffindbar sein
 * alle Volltexte eines Wissenschaftlers müssen in der Ergebnisliste einer Suche angezeigt werden

Testinstallation Um die Nutzbarkeit der Aktiven Seitenbereiche vorab zu überprüfen, wäre eine lokale Installation der neuen Contens-Version an einzelnen Standorten von großem Interesse.

PubMan-Demo und Export-Schnittstelle Testsystem Pubman: http://test-pubman.mpdl.mpg.de User: demo, Passwort: demo Export-REST-Interface: http://pubman.mpdl.mpg.de/search/SearchAndExport_rest_sample.jsp ESciDoc Services Search&Export: http://colab.mpdl.mpg.de/mediawiki/ESciDoc_Services_Search%26Export Beispiel-Anfrage: http://pubman.mpdl.mpg.de/search/SearchAndExport?cqlQuery=escidoc.metadata=cognition&escidoc.content-model.objid=escidoc:persistent4&exportFormat=APA&outputFormat=snippet&language=all&sortKeys=&sortOrder=ascending&startRecord=&maximumRecords=50