Informationspraxis / artikel-vorlage

Vorlage zur Konvertierung von Informationspraxisartikeln von DOCX via MD nach HTML, EPUB und PDF
5 stars 4 forks source link

Metadaten aus OJS beziehen anstatt ins Dokument einbetten #4

Open zuphilip opened 4 years ago

zuphilip commented 4 years ago

Aktuell müssen die Metadaten auf dem Deckblatt angegeben werden um dann manuell in eine YAML-Datei kopiert und angepasst werden. Dies scheint mir noch nicht so ideal zu sein. Insbesondere muss man doch dann bei der Einreichung in OJS auch nochmals alle bibliographischen Metadaten in das System eingeben.

Wäre es nicht konsistenter, wenn man als Autor*in diese Metadaten nur einmal in OJS eingeben muss?

Ein Redakteur könnte dann in OJS beispielsweise die Metadaten als XML exportieren (Import/Export -> Natives XML) und dann automatisch in eine YAML-Datei umschreiben lassen, entweder mit einer kleinen XSLT-Datei oder einem kleinen Skript. Auf jeden Fall müssten die Autor*innen die Metadaten nicht zweimal eingeben. Was haltet Ihr von so einem Plan?

(In der aktuell ausgegebenen XML scheinen aber die Felder nur in einer Sprache zu exportieren. Hier müsste man gucken ob man Titel, Abstract, Keywords auch auf Englisch mitexportieren kann.)

felixlohmeier commented 4 years ago

Ja, eine stärkere Integration in OJS wäre total sinnvoll! Der bisherige Ansatz war pragmatisch gewählt.

zuphilip commented 4 years ago

Zu den fehlenden Daten in Englisch: Prinzipiell würde das auch im XML enthalten sein, der Export scheint hier komplett zu sein. Bei Informationspraxis werden aber in OJS die Eingabefelder nur auf Deutsch angeboten und einzig die Standardbegriffe der GUI auf Englisch übersetzt.

hauschke commented 4 years ago

Einmalige Ein- und Ausgabe wäre super. Der Export und die Konvertierung sollten dabei möglichst einfach umzusetzen sein. Bis dahin ist die aktuelle Variante zumindest eine Möglichkeit, die Daten direkt von den AutorInnen zu erheben, was hoffentlich Copy&Paste-Fehler einigermaßen minimiert.

zuphilip commented 4 years ago

Für den Export muss man sich in OJS einfach durchklicken: Werkzeuge -> Import/Export -> Natives XML -> Exportieren -> Artikel auswählen und auf Button klicken.

Für die Konvertierung habe ich einmal ein XSLT als Proof-of-Concept gemacht. Dies ist ein Standard und bietet sich vielleicht bei XML-Zeugs hier an. Für die Umwandlung gibt es dann Kommandozeilentools wie etwa xsltproc aber auch Online Konverter. Bei der Powershell kenne ich mich nicht aus, da ich selbst Cygwin nutze.

Ich mache einmal einen PR dann können wir uns dies genauer ansehen...

zuphilip commented 4 years ago

Mit dem XSLT sollten die YAML Daten schon gut vorausgefüllt werden. Man könnte damit Beispielsweise das Deckblatt auf Titel, Abstract, Keywords in Deutsch und Englisch beschränken. Da man dann aber sowieso etwas hin und her kopieren muss, könnte man auf die rohe YAML-Struktur evt. verzichten.

felixlohmeier commented 4 years ago

Ich denke, dass es nur dann eine wirkliche Arbeitserleichterung ist, wenn das YAML-Deckblatt ganz wegfallen und die Metadaten (nahezu) vollständig aus dem OJS-XML generiert werden können. Für Redakteur*innen würde die Bearbeitung dann etwa gleich lange dauern und wir hätten den Vorteil, dass die Autor*innen die Metadaten nicht mehr doppelt (im Deckblatt des Artikels und in OJS) angeben müssen. Teilweise oder zweigleisig führt zu Mehraufwand bei den Redakteur*innen, denke ich. Ich habe das Argument im Pull Request ausführlicher beschrieben, weil ich fürchte etwas missverstanden zu haben: https://github.com/Informationspraxis/artikel-vorlage/pull/5#issuecomment-663481529

zuphilip commented 4 years ago

Eine generelle Frage für IP wäre auch, ob man die erfassten englischen Informationen (titel-en, abstract-en, keywords-en) nicht auch direkt über die OJS-Seite anzeigen möchte. Dies könnte man einstellen, aber dann müssen die Autoren diese Informationen auch immer in OJS eingeben.

zuphilip commented 4 years ago

Es gibt in OJS auch eine API, welche die Informationen liefert und dies scheint mir jetzt wesentlich komfortabler zu sein, sich hieraus eine entsprechende YAML-Datei zu basteln. Vergleiche zum Beispiel https://journals.ub.uni-heidelberg.de/index.php/ip/api/v1/submissions/73889?apiToken=... wobei Ihr Euren API-Key hier einfügen müsst:

{
"id":73889,
"title": {
    "de_DE":"Erfahrungen bei der Organisation und Durchf\u00fchrung des KIM Workshops 2020 als Online-Veranstaltung"
},
"subtitle": {
    "de_DE":""
},
...
}