Coder Social home page Coder Social logo

hbz / gokb-phase1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from k-int/gokb-phase1

0.0 11.0 0.0 92.66 MB

Phase 1 - Rules Collection

License: Other

Groovy 35.23% Java 3.74% Shell 0.52% Puppet 0.04% CSS 16.93% JavaScript 8.77% HTML 26.78% XSLT 7.97% Dockerfile 0.03%

gokb-phase1's Introduction

gokb

GOKB is an environment for managing the collaborative import, cleaning and maintaining of publisher title lists. The focus is the supply of information around the administration and availability of print and electronic resources rather than specific bibliographic information. The goal of GOKb is to reduce the burden of data maintenance and editing on any one party by sharing the load over a collaborative network of subject matter experts. Because the information is global, and the same for everyone, the idea is to focus all our effort on editing one copy of the information that can then be freely reused and shared.

Some screenshots follow

Dashboard File Upload Login Master List Perms Title Full Titles Side-By-Side ToDos Welcome

Development Information

  • To build the refine extension, ** cd into gokb-phase1/refine/extensions/gokb

  • run "ant" with any local overrides for refine installation dir and tomcat for server jars, eg ** ant -Drefine.dir=/home/ibbo/google-refine-2.5 -Dserver.dir=/home/ibbo/apache-tomcat

Copy (Or arrange to symlink) the gokb directory to your local equivalent of ~/google-refine-2.5/webapp/extensions/

I packaged up the gokb extension with #

zip -r gokb.zip ./gokb

Branching Strategy

Master is the core release branch. Downstream services depend upon this branch, so care must be taken when merging.

Server side component (dev)

from gokb-phase1/server/gokb grails run-app

First run

Orgs Import

A script is provdied to import the ncsu orgs list, run from gokb-phase1/scripts/import/orgs as follows:

./ncsu_orgs_imp.groovy ./ncsu-auth-orgs-roles-2013-01-11.csv

For parsing out Platform URLs http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/net/InternetDomainName.html System.out.println(InternetDomainName.fromLenient(uriHost).topPrivateDomain().name());

gokb-phase1's People

Contributors

ianibo avatar sosguthorpe avatar hornmo avatar moetez16 avatar philboeselager avatar klodav avatar acesii avatar

Watchers

Johann Rolschewski avatar James Cloos avatar Pascal Christoph avatar Gerald Steilen avatar agalffy avatar  avatar  avatar  avatar  avatar  avatar  avatar

gokb-phase1's Issues

Implementing a global UID Hash for GOKb Objects

Referencing GOKb objects by external systems like LAS:eR is done by referencing the domain class and the internal database primary key. This causes problems after synchronizing different GOKb instances, as this primary key changes with the synchronization. A Global UID would solve this problem and related issues regarding the identification of GOKb objects.

This would require:

  • Changes (new attribute) in the domain class (KBcomponent?)
  • Internal function to provide UUIDs for new objects
  • Expanding the interfaces to ex- and import the UUID
    • Synchronization API
    • OAI-PMH (for backreferencing in reading systems like LAS:eR, FOLIO etc.)

Also for existing objects:

  • Initial script to provide UUIDS for existing objects

A model of a global UUID is implemented in LAS:eR and can be adopted:
https://github.com/hbz/laser/blob/hbz-dev/app/src/groovy/de/laser/domain/BaseDomainComponent.groovy

Admin- und SuperUser-Rechte fixen

Admin und SuperUser-Rechte sind nicht ausreichend differenziert. Beispielsweise sieht man nur als "Admin" den Menüpunkt "Admin", kann die dortigen Funktionen aber nur mit der Berechtigung "SuperUser" ausführen.

Sollen die Konsolenlogs nur Admins oder nur SuperUser sehen? Dann müssten die Berechtigungen umgestellt werden.

Einfachste Lösung: Man erhält automatisch Admin-Rechte, wenn man SuperUser wird.

Außerdem kann man sich SuperUser-Rechte selbst geben, wenn man Admin ist, was auch nicht passieren dürfte.

Auswahl des Menü-Templates

In der OLF-GOKb gibt es ein definiertes Menü-Template, das die Bedienung vereinfacht durch Einschränkung und Umsortierung der im linksseitigen Menü angezeigten Klassen innerhalb von Create & Search. In unseren Instanzen hingegen wird ein generisches Menü-Template benutzt, das alle Klassen alphabetisch geordnet anzeigt. Ist das definierte Template der OLF bei uns enthalten? Kann es als typisches Start-Template aktiviert werden?

Domain Class "Database"

EbookInstance und JournalInstance sind abgeleitete Domänenklassen von TitleInstance, die die Klassenattribute erweitern. Es müsste eine weitere abgeleitete Klasse "Database" entwickelt werden, die (ähnlich wie JournalInstance) zunächst(!) keine weiteren Attribute braucht.

Ziel ist, dass Datenbanken als Titel nicht in der Elternklasse TitleInstance abgebildet werden, sondern langfristig eigene Attribute erhalten können sowie über ElasticSearch als Datenbanken gefunden werden können.

Anschließend müsste die Crossreferencing-API für Titel entsprechend erweitert werden. Hier kann bis jetzt gewählt werden, ob ein Eintrag "Journal" ist, ansonsten ist er automatisch E-Book. Das sollte künftig explizit genannt werden.

Bei Index-Update Deletions berücksichtigen

Wenn in der Datenbank Plattformen (z. B. Dubletten) gelöscht wurden und der Befehl "Update Free Text Indices" ausgeführt wurde, sind die Dubletten immer noch im Index vorhanden (und verursachen Folge-Fehler). Deshalb muss sichergestellt sein, dass Deletions in der Datenbank auch in den Index überführt werden. Dies ist sicherzustellen für mindestens:

  • Plattformen
  • Provider (Organizations)

Anmerkung: das Ticket wurde hier der Vollständigkeit halber erfasst, ist aber wegen des vorrangigen Umstiegs auf die GOKb Grails 3 eventuell obsolet.

Upload von JSON-Titeldaten über Curl bricht nach 60 Sek ab

Versucht man über CURL die JSON-Titeldaten an die Title-API zu senden, bekommt man in der Regel eine JSON-Antwort mit Informationen über geglückte Importe bzw. wo es zu Problemen gekommen ist.

Ist das JSON zu groß (so ca. ab 100-150 Titeln), kommt es nach ziemlich genau 60 Sek. zum einem 404 BadGateway-Fehler.

Ein Versuch CURL mit --max-time und --connect-timeout auf 240 laufen zu lassen hat keine Besserung gebracht.

Inline Änderung des Curatory Names problematisch

Wird der Curatory Name Inline auf der Oberfläche geändert, zieht das aber keine Änderung des Normnamens nach sich. Dieser Normname wird teilweise für Vergleiche verwendet (Zum Beispiel beim Hochladen eines Paketes über das API)
Oder gibt es einen Maintainance Job der sowas korrigiert?

Package information URL

Many Providers provide a package information page such as:

https://www.ebsco.com/products/research-databases/academic-search-complete

The URL to this information page is not identical to the resource URL or platform URL. This URL should be implemented as domain attribute on package level and exported via the APIs.

This issue should first be discussed in the Technical Working Group.

KBART Export fehlerhaft

Nach dem Einspielen einer Titelliste in die GOKb (z. B. OECD UN iLibrary Journals) ist momentan die Export-Funktion auf Paket-Ebene für die Ausgabe eines KBART files fehlerhaft, da hier nur die erste Zeile ausgegeben wird und nicht die vollständige Titeldatei aller eingespielter Titel.

kbart_export_fehler

Request "Housekeeping" zeigt LogViewer

Nach Auswahl von "Admin | Housekeeping" (URLBASE/gokb/admin/housekeeping) präsentiert das Frontend den LogViewer - ohne darin notwendigerweise einen Housekeeping-spezifischen Inhalt anzuzeigen.

Wünschenswert sind folgende Meldungen:

  • Housekeeping gestartet
  • Housekeeping beendet
  • Zusammenfassung durchgeführter Änderungen

OAI Schnittstelle Packages läuft nicht richtig

Wenn man diese Seite phaeton.hbz-nrw.de/gokb/oai/packages?verb=ListRecords&metadataPrefix=gokb aufruft, dauert es Ewigkeiten bis irgendwas angezeigt wird.

Läuft das Lokal bei dir Moritz ohne Probleme, auch dann wenn viele Packages drin sind?

Danke.

Elastic-Search-Suche über Identifier-Namespace

Über die Elastic-Search kann man nicht den Namespace auswählen, über den bei einem Identifier gesucht werden soll. Das kann dazu führen, dass man falsche Treffer erhält, wenn für unterschiedliche Objekte in unterschiedlichen Namespaces zufällig der gleiche Identifier-String vorliegt. Es sollte möglich sein, den entsprechenden Namespace bei der Suche mit anzugeben.

Bug bei Nominal Platform Auswahl

In phaeton ist folgendes Problem bei der Nominal Platform für Ebsco aufgetaucht: Wenn man in einem Package (z.B. EBSCO: Business Source Elite) die Nominal Platform auswählt, müsste man EBSCOhost auswählen können. Stattdessen kann man nur die DELETED platforms auswählen (von denen es auch eine ganze Reihe gibt).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.