[Kobv-opus-tester] Neues Tabellenfeld?

Jens Schwidder schwidder at zib.de
Do Nov 21 13:56:46 CET 2019


Liebe Frau Traeger,

so einfach geht es leider nicht. Ein "benutzerdefiniertes Feld" im 
Kontext von OPUS 4 wäre ein Enrichment. Enrichments werden momentan für 
Dokumente, aber nicht für Dateien unterstützt.

Ihre Bilder zeigen, dass sie eine Spalte im Datenbankschema hinzugefügt 
haben. Das hat nichts mehr mit "benutzerdefiniert" zu tun, sondern ist 
der Anfang für eine Erweiterung des Datenmodells von OPUS 4. Dafür ist 
aber etwas mehr notwendig.

Die Datenbank speichert die Informationen. Das Datenmodell ist im 
Framework implementiert. Dort müsste ein neues Feld zu Opus_File 
hinzugefügt werden. Um das Feld in der Administration editieren zu 
können müssten die entsprechenden Formulare erweitert werden.

Soviel ich weiß war es in OPUS 3 gängige Praxis, das Datenbankschema 
lokal anzupassen. Das war dann aber wohl auch ein Grund der zu OPUS 4 
geführt hat. Die Probleme bleiben dabei immer noch die selben. Sollten 
sie alle notwendigen Schritte für die Erweiterung umsetzen, werden sie 
bei jedem Update zusätzliche Arbeitsschritte vornehmen müssen, um Ihre 
eigenen Änderungen mit der neuen Version abzugleichen.

Der sinnvollste Weg ist es dabei auf GitHub einen Fork anzulegen und 
dort die Änderungen vorzunehmen. Das ist auch der einzige Weg mit dem 
solche Änderungen später vielleicht mit einem Pull Request in den OPUS 4 
Standard aufgenommen werden. Solange die Änderungen nicht im Standard 
sind, müsste bei jeder neuen Version von OPUS 4 Ihr Fork aktualisiert 
werden. Für das was Sie vorhaben müsste mindestens zwei Repositorien 
angepasst werden.

https://github.com/OPUS4/framework
https://github.com/OPUS4/application

Im Framework ist das Datenmodell implementiert und in Application finden 
sich die Formulare.

GitHub ist auch der einzige Weg um vernünfig über komplexere Code 
Änderungen/Erweiterungen in OPUS 4 zu reden. Das sind alles 
"Entwicklungsarbeiten" und keine kleineren Anpassungen mehr.

Intern haben wir bereits ein Ticket für die VG Wort Problematik. Bisher 
ist das nicht als dringlich bei uns auf dem Radar aufgetaucht. Die 
Entwicklung passiert für momentan etwa 108 produktive Instanzen, 
gehostet bei verschiedenen Verbünden oder im eigenen Haus. Nicht alles 
was für ein Institut dringlich ist, kann auf Zuruf in die Entwicklung 
einfließen.

Ich würde ihnen vorschlagen ein Issue auf GitHub mit einer Beschreibung 
Ihrer Anforderungen anzulegen.

https://github.com/OPUS4/application/issues

Sie können dort natürlich Lösungsvorschläge machen, aber wichtiger ist 
es die Anforderungen im Detail aus Nutzer/Administrator Sicht zu 
beschreiben. Ich denke es wäre wichtig zu wissen wie groß der Anteil an 
Dokumenten bzw. Dateien ist, die an die VG Wort gemeldet werden sollen. 
Wenn die Zahl klein ist, gibt es vielleicht einfachere kurzfristige 
Lösungen. Nach Ihren bisherigen Bemühungen sieht es für mich so aus, als 
ob der VG Wort Link für einzelen Dateien gesetzt werden muss und das 
jede Datei ihren eigenen VG Wort Code bekommt, richtig?

Ein neues Feld zu Datenmodell hinzuzufügen ist für die Entwicklung in 
der Regel keine große Aufgabe. Das Feld muss aber ins Konzept passen. 
Wenn es ein Feld für Dokumente wäre würde ich sagen, sollte ein 
Enrichment verwendet werden. Da es hier aber um Dateien geht, stehe ich 
der Erweiterung erst einmal offen gegenüber.

Was auch geklärt werden sollte sind die Fragen, die sich aus der DSGVO 
und der Weiterleitung über die VG Wort ergeben. Mich, die Entwicklung 
interessiert das erst einmal nicht, weil ich keine Instanzen betreibe. 
Diese Informationen könnten dann aber in das OPUS 4 Handbuch als 
Hinweise für Betreiber einfließen. Das wäre auch eine gute Teilung der 
Aufgaben. Die Entwicklung kümmert sich um das technische und Sie teilen 
vieleicht Ihre Sicht und Erfahrungen was die rechtlichen Fragen angeht.

Ich hoffe das hilft Ihnen weiter und gibt Ihnen einen alternativen 
Lösungsweg für Ihre Anforderungen zur VG Wort.

Mit freundlichen Grüßen
Jens Schwidder

P.S. Nur zur Information nebenbei. In den nächsten Release werden 200+ 
Tickets einfließen. Wie haben in den letzten fünf Jahren etwa 825 
Tickets erledigt. Trotzdem liegt die Anzahl der offenen Tickets seit 
Jahren bei etwas über 500. Die meisten produktiven OPUS 4 Instanzen 
haben den einen oder anderen Wunsch, der besonders wichtig ist. Auch 
ohne diese Wünsche ist die Entwicklung noch auf Jahre hinweg mit Arbeit 
versorgt. Das gesagt, viele kleine Wünsche lassen sich immer mal wieder 
zwischendurch erfüllen.

On 20.11.19 16:56, Heidi Traeger wrote:
> Liebe Kolleginnen und Kollegen,
> 
> was muss ich machen, damit ein neu angelegtes Tabellenfeld erkannt wird?
> Ich habe ein benutzerdefiniertes Feld VGWort angelegt. Ich habe der Tabelle document_files ein Tabellenfeld vgwort hinzugefügt (s. Bilder).
> In der Datei modules/frontdoor/views/scripts/index/templates/services.xslt habe ich folgendes (grün) verändert:
> 
> <!-- Datei-URL   -->
>           <xsl:variable name="fileLink">
>              <xsl:value-of select="$baseUrlServer"/>
>              <xsl:text>/files/</xsl:text>
>              <xsl:value-of select="../@Id" />
>              <xsl:text>/</xsl:text>
>              <xsl:value-of select="php:function('urlencode',string(@PathName))"/>
>           </xsl:variable>
> <!-- VGWort-URL   -->
>           <xsl:variable name="vgwortLink">
>             <xsl:if test="@vgwort">
>             <xsl:value-of select="@vgwort" />
>             <xsl:text>?l=</xsl:text>
>             </xsl:if>
>           </xsl:variable>
>    <!-- Frontdoor-URL   -->
>                    <xsl:element name="a">
>                        <xsl:attribute name="class">
>                            <xsl:call-template name="replaceCharsInString">
>                                <xsl:with-param name="stringIn" select="string(@MimeType)"/>
>                                <xsl:with-param name="charsIn" select="'/'"/>
>                                <xsl:with-param name="charsOut" select="'_'"/>
>                            </xsl:call-template>
>                        </xsl:attribute>
>                        <xsl:attribute name="href">
>                          <xsl:copy-of select="$vgwortLink" />
>                          <xsl:copy-of select="$fileLink" />
>                       </xsl:attribute>
>                       <xsl:copy-of select="$fileLinkText" />
>                    </xsl:element>
> damit soll die PDF-Datei, wenn das Feld vgwort einen Inhalt hat, in der Form:  <a href="VGWORT_URL?l=URL_DES_DOKUMENTS">ANZEIGE-NAME</a> ausgegeben werden. Das ist die Vorgabe der VGWort für PDF-Dateien.
> 
> Wenn ich statt der Variable @VGWort die Variable @Comment verwende (in die ich testweise auch den VGWort Link eingetragen habe) klappt das auch. Mit der neuen Variable vgwort leider nicht.
> Ich habe den Cache gelöscht, neu indexiert. Was fehlt noch?
> 
> [cid:image003.png at 01D59FC2.9070A1B0]
> 
> [cid:image001.png at 01D59FBB.A467BB60]
> 
> 
> Vielen Dank und beste Grüße
> Heidi Traeger
> 
> 
> Heidi Traeger
> EDV
> +49 3643 582866
> Bauhaus-Universität Weimar<https://www.uni-weimar.de/de/universitaet/struktur/zentrale-einrichtungen/universitaetsbibliothek/>
> 
> 
> 
> --
> Kobv-opus-tester mailing list
> Kobv-opus-tester at zib.de
> https://listserv.zib.de/mailman/listinfo/kobv-opus-tester
> 

-- 
==============================================================
Jens Schwidder
Kooperativer Bibliotheksverbund Berlin-Brandenburg (KOBV)
c/o Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB)
Takustr. 7, D-14195 Berlin
Telefon: (030) 841 85 - 308
Telefax: (030) 841 85 - 269
  E-Mail: schwidder at zib.de
     WWW: http://www.kobv.de
==============================================================



Mehr Informationen über die Mailingliste Kobv-opus-tester