Zenodo: Verbinden Sie sich mit GitLab genauso wie mit GitHub

Erstellt am 11. Jan. 2018  ·  20Kommentare  ·  Quelle: zenodo/zenodo

Liebes Zenodo-Team,

die auf https://guides.github.com/activities/citable-code/ beschriebene Integration ist auf Ihrer Seite verallgemeinerbar aufgebaut, richtig? Ich wollte Sie nur über eine Diskussion über die Zenodo-Integration bei GitLab informieren.

Danke schön :-)

Feature request Needs investigation i - Asclepias Accepted

Hilfreichster Kommentar

Speziell für das Zenodo-Modul in selbst gehosteten GitLabs haben @schlauch & me https://gitlab.com/gitlab-org/gitlab/issues/25587 gepostet

Als Reaktion darauf wurde ein experimentelles Invenio-Modul geteilt: https://gitlab.hzdr.de/rodare/invenio-gitlab von @tobiashuste.

Alle 20 Kommentare

PS: Ich habe invenio- Dachboden- und Contrib- Probleme durchsucht, aber da nichts über GitLab aufgetaucht ist, hoffe ich, dass es in Ordnung ist, dies hier zu posten.

Hey @katrinleinweber , danke fürs https://github.com/inveniosoftware/invenio-github

Scheint so, als ob die Hauptschwierigkeit hier die Unterstützung für benutzerdefinierte GitLab-Installationen wäre. Aus ähnlichen Gründen unterstützen wir derzeit kein Enterprise-GitHub, das einer benutzerdefinierten GitLab-Instanz ähnelt.

Darf ich fragen, warum Änderungen von Ihrer Seite notwendig sind? Kann GitLab bei der Veröffentlichung keine Tarballs mit Ihrer API hinterlegen?

Hey @remram44 Du meinst so etwas wie ein GitLab-Modul, das mit unserer REST-API

Darf ich fragen, warum Änderungen von Ihrer Seite notwendig sind?

Die Änderungen auf unserer Seite wären so etwas wie das invenio-github-Modul für gitlab zu schreiben (dh GitLab-Zenodo-Konten verbinden, Webhooks registrieren, Payload-Handling usw.). Unsere GitHub-Integration ist beispielsweise eine GitHub-Drittanbieter-App, die Schreibzugriff auf die öffentlichen Repositorys von GitHub-Benutzern anfordert. Der Benutzer muss zuerst seinen GitHub-Account mit Zenodo verbinden, damit klar ist, wer der "Eigentümer" der Zenodo-Datensätze ist, sobald das Repo veröffentlicht wird. Wenn der Benutzer also die Archivierung in einem seiner Repositorys aktiviert (den Schalter umlegt), registrieren wir einen Webhook im Repository und verarbeiten die Nutzlast, wenn sie bei uns eintrifft. An dieser Stelle können wir den github-Benutzer mit dem zenodo-Benutzer verknüpfen.

Kann GitLab bei der Veröffentlichung keine Tarballs mit Ihrer API hinterlegen?

Wenn Sie es jetzt rückgängig machen und uns von GitLab schreiben lassen möchten, kann ich sehen, dass ein benutzerdefiniertes GitLab-Modul einen Tarball mit Metadaten eines bestimmten Repositorys an Zenodo schiebt, aber es ist nicht klar, für welchen Zenodo-Benutzer. Ich denke, der einfachste Weg wäre, das Modul mit dem API-Schlüssel des Zenodo-Benutzers zu konfigurieren, was funktionieren würde.

man könnte ein benutzerdefiniertes GitLab-Modul haben, das einen Tarball mit Metadaten eines bestimmten Repositorys an Zenodo schiebt, aber es ist nicht klar, für welchen Zenodo-Benutzer. Ich denke, der einfachste Weg wäre, das Modul mit dem API-Schlüssel des Zenodo-Benutzers zu konfigurieren, was funktionieren würde.

Das hatte ich im Sinn! Ich wusste nicht, dass die Zenodo-API sowieso anonyme Einzahlungen erlaubt. Hat Zenodo so etwas wie OAuth? Das könnte freundlicher sein, als einen API-Schlüssel einzufügen.

Danke, dass du dir die Zeit genommen @krzysztof :-)

[…] dieses Modul mit dem API-Schlüssel des Zenodo-Benutzers konfigurieren, was funktionieren würde.

Würde das Modul in diesem Fall eine eigene Benutzerverwaltung benötigen oder auf die Geheimverwaltung der GitLab-Instanz verweisen (nur EE? ), da mehrere Benutzer auf einer Instanz wären, die ihre Repos mit mehreren Zenodo-Konten verbinden möchten.

Oder vielleicht (nur Spekulation!) auf ein gemeinsames, institutionelles Zenodo-Konto? Aber vielleicht kann dieser Fall zunächst ignoriert werden.

Ich wusste nicht, dass die Zenodo API sowieso anonyme Einzahlungen erlaubt

@ remram44 Ist das nicht der Fall, Sie benötigen einen API-Schlüssel. Zenodo hat kein OAuth.

Würde das Modul in diesem Fall eine eigene Benutzerverwaltung benötigen oder auf die Geheimverwaltung der GitLab-Instanz verweisen (nur EE?), da mehrere Benutzer auf einer Instanz wären, die ihre Repos mit mehreren Zenodo-Konten verbinden möchten.

@katrinleinweber Im Moment ist es nicht möglich, mehrere Besitzer für bestimmte Datensätze zu haben, und wir möchten auch nicht, dass jeder Repository-Benutzer eine eigene Kopie des Repositorys hat - dies würde mehrere DOIs für denselben Inhalt bedeuten, was schlecht ist. Aus diesem Grund kann ein bestimmtes GH-Repo nur von einem Benutzer archiviert werden.

Einige Benutzer verwenden so etwas wie ein "institutionelles" Konto, hauptsächlich Zeitschriften, aber dann liegt die "Last" der Aktenpflege beim Bibliothekar/Eigentümer des Kontos, also würde das technisch funktionieren, aber auf lange Sicht würden wir es nicht wollen dies, um eine Mainstream-Lösung für dieses Problem zu werden. Stattdessen könnten wir in Zukunft die Community-Funktion erweitern, um so etwas wie ein "Team" zu ähneln und wahrscheinlich eine Form von mehreren Eigentümern (oder zumindest mehreren Kuratoren) pro Datensatz zu haben.

Wenn das GitLab-Plugin ein Zenodo-API-Token als Konfiguration verwendet, scheint dies sehr brauchbar zu sein. Würde auch auf privaten Installationen von GitLab funktionieren. Es wäre Sache des Teams zu entscheiden, unter welchem ​​Zenodo-Konto die Datensätze erstellt werden.

screen shot 2018-01-15 at 11 47 29

Zenodo hat kein OAuth.

Tatsächlich scheint es OAuth 2.0 zu unterstützen: http://developers.zenodo.org/#authentication Es ist also möglicherweise nicht einmal erforderlich, einen Token von Hand einzugeben.

Könnten wir als zwischenzeitliche Zusammenfassung sagen, dass eine

Nicht mehr relevant; Fühlen Sie sich frei, sich zu verstecken.

GitLab schlägt vor :

Web-Hooks, wie wenn ein neues Tag erstellt wird […] scheinen die äquivalenten APIs zu sein, die von der Zenodo-Integration mit GitHub verwendet werden. […] der beste Weg wäre eine auf GitLab-Seite konfigurierte Projektintegration, die bei der Erstellung ein Archiv jedes Tags pusht.

@remram44 Der obige Screenshot ist ein Mock-up, oder? Wie hast du es erstellt?

@katrinleinweber Firefox inspektor/dev-tool :wink:

Speziell für das Zenodo-Modul in selbst gehosteten GitLabs haben @schlauch & me https://gitlab.com/gitlab-org/gitlab/issues/25587 gepostet

Als Reaktion darauf wurde ein experimentelles Invenio-Modul geteilt: https://gitlab.hzdr.de/rodare/invenio-gitlab von @tobiashuste.

Diese Funktion wäre nützlich, wie können wir sie verbessern?

Einfach weiter posten bis es mehr Aufmerksamkeit erreicht 😉

Dies wäre zweifellos ein interessantes Feature für Zenodo.

Ja bitte !

Ich würde auch gerne ein solches Plugin verwenden!

Super Idee, wäre sehr hilfreich!

Ein dickes Daumenhoch von mir! Würde die Pipeline der nächsten Generation von https://zenodo.org/record/3497066 vereinfachen

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen