tpr-webmodule) jedes Ayakaleaf Pro-Pods. Registrieren Sie den Zotero-OAuth-Client wie unter Zotero-Integration beschrieben, mit der Callback-URL ${OVERLEAF_SITE_URL}/user/zotero/oauth/callback, und konfigurieren Sie dann Kubernetes wie unten gezeigt.
Konfiguration
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES ersetzt den Wert aus der Installation; behalten Sie die bereits vorhandenen Typen bei und fügen Sie zotero hinzu (sowie mendeley, wenn Sie beide verwenden).2
Secret
ZOTERO_CIPHER_PASSWORD verschlüsselt die Zotero-Schlüssel der Benutzer in MongoDB. Ohne diese Variable erzeugt jeder Pod eine Schlüsseldatei in seinem eigenen /var/lib/overleaf/data. Mit mehreren Replikaten hat dann jeder Knoten einen anderen Schlüssel, und ein Benutzer, der von einem anderen Replikat bedient wird, kann sein verknüpftes Zotero-Konto nicht verwenden. Setzen Sie sie, bevor der erste Benutzer Zotero verknüpft: Eine spätere Änderung zwingt alle Benutzer, Zotero erneut zu verknüpfen.3
Anwenden und neu starten
Mehrere Replikate
Setzen SieZOTERO_CIPHER_PASSWORD im Secret, siehe oben. Ohne diese Variable kann eine auf einem Replikat importierte Datei auf einem anderen nicht aktualisiert werden: Die Aktualisierung schlägt mit “The remote service produced an error” fehl, weil die Schlüsseldatei dieses Replikats den Zotero-Schlüssel des Benutzers nicht entschlüsseln kann. Mit dem Passwort im Secret funktioniert es auf jedem Replikat; wir haben beide Fälle getestet, indem wir auf overleaf-0 importiert und auf overleaf-1 aktualisiert haben. Der OAuth-Handshake hält seinen Zustand in der Sitzung in Redis, daher kann der Callback jedes Replikat erreichen.
Auf Kubernetes getestet
Gegen einen Mock von www.zotero.org und api.zotero.org (vertraut überNODE_EXTRA_CA_CERTS aus overleaf-certs) bestehen auf Kubernetes 1.37 mit drei Replikaten hinter HAProxy unsere End-to-End-Tests für Zotero (18 Fälle): Verknüpfen über OAuth 1.0a und Trennen, Import der Bibliothek und Gruppen in eine .bib-Datei, deren Aktualisierung, Widerrufen des Schlüssels bei Zotero, Aufforderung zum erneuten Verknüpfen, für Mitarbeitende durchsuchbare Literaturangaben, Aktualisierung nur durch den Importierenden, API-Fehler und langsame Verbindungen zu Zotero.
