tpr-webmodule) i varje Ayakaleaf Pro-pod. Registrera Zotero-OAuth-klienten enligt Zotero-integration, med callback-URL:en ${OVERLEAF_SITE_URL}/user/zotero/oauth/callback, och konfigurera sedan Kubernetes enligt nedan.
Konfiguration
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES ersätter värdet från installationen; behåll de typer du redan har och lägg till zotero (och mendeley, om du använder båda).2
Secret
ZOTERO_CIPHER_PASSWORD krypterar användarnas Zotero-nycklar i MongoDB. Utan det genererar varje pod en nyckelfil i sin egen /var/lib/overleaf/data. Med flera repliker har då varje nod en annan nyckel, och en användare som betjänas av en annan replik kan inte använda sitt länkade Zotero-konto. Ange det innan den första användaren länkar Zotero: om du ändrar det senare måste alla användare länka Zotero på nytt.3
Tillämpa och starta om
Flera repliker
AngeZOTERO_CIPHER_PASSWORD i Secret:en, se ovan. Utan det kan en fil som importerats på en replik inte uppdateras på en annan: uppdateringen misslyckas med ”The remote service produced an error”, eftersom den replikens nyckelfil inte kan dekryptera användarens Zotero-nyckel. Med lösenordet i Secret:en fungerar det på alla repliker; vi testade båda fallen genom att importera på overleaf-0 och uppdatera på overleaf-1. OAuth-handskakningen håller sitt tillstånd i sessionen i Redis, så callback-anropet kan nå vilken replik som helst.
Testat på Kubernetes
Mot en mock av www.zotero.org och api.zotero.org (betrodd viaNODE_EXTRA_CA_CERTS från overleaf-certs), på Kubernetes 1.37 med tre repliker bakom HAProxy, klarar våra end-to-end-tester för Zotero sig (18 fall): länkning via OAuth 1.0a och avlänkning, import av biblioteket och grupper till en .bib-fil, uppdatering av den, återkallande av nyckeln på Zotero, uppmaning att länka på nytt, referenser som är sökbara för medarbetarna, att endast den som importerade får uppdatera, API-fel och långsamma anslutningar till Zotero.
