tpr-webmodule) di ogni pod di Ayakaleaf Pro. Registra l’applicazione Mendeley come descritto in Integrazione con Mendeley, con l’URL di reindirizzamento ${OVERLEAF_SITE_URL}/user/mendeley/oauth/callback, quindi configura Kubernetes come indicato di seguito.
Configurazione
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES sostituisce il valore dell’installazione; mantieni i tipi che hai già e aggiungi mendeley (e zotero, se usi entrambi).2
Secret
MENDELEY_CIPHER_PASSWORD cifra i token Mendeley degli utenti in MongoDB. Senza di essa, ogni pod genera un file di chiave nella propria /var/lib/overleaf/data. Con più repliche ogni nodo ha quindi una chiave diversa, e un utente servito da un’altra replica non può usare il proprio account Mendeley collegato. Impostala prima che il primo utente colleghi Mendeley: modificarla in seguito obbliga ogni utente a collegare di nuovo Mendeley.3
Applica e riavvia
Più repliche
ImpostaMENDELEY_CIPHER_PASSWORD nel Secret, vedi sopra. I token Mendeley vengono cifrati dallo stesso codice delle chiavi Zotero: senza la password, un file importato su una replica non può essere aggiornato su un’altra, come abbiamo visto con Zotero. Lo state OAuth è conservato nella sessione in Redis, quindi il callback può raggiungere qualsiasi replica.
Testato su Kubernetes
Contro un mock di api.mendeley.com (considerato attendibile tramiteNODE_EXTRA_CA_CERTS da overleaf-certs), su Kubernetes 1.37 con tre repliche dietro HAProxy, i nostri test end-to-end per Mendeley vengono superati (18 casi): collegamento tramite OAuth 2.0 e scollegamento, importazione della libreria e dei gruppi in un file .bib, suo aggiornamento, refresh di un token di accesso in scadenza, token revocati, richiesta di un nuovo collegamento, riferimenti ricercabili dai collaboratori, solo chi ha importato può aggiornare, errori dell’API e connessioni lente verso Mendeley.
