tpr-webmodule) في كل pod من Ayakaleaf Pro. سجّل تطبيق Mendeley كما هو موضّح في تكامل Mendeley، مع عنوان إعادة التوجيه ${OVERLEAF_SITE_URL}/user/mendeley/oauth/callback، ثم اضبط Kubernetes كما يلي.
الإعداد
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES القيمة الواردة من التثبيت؛ لذا احتفظ بالأنواع الموجودة لديك وأضف mendeley (وzotero، إذا كنت تستخدم كليهما).2
Secret
MENDELEY_CIPHER_PASSWORD رموز Mendeley الخاصة بالمستخدمين في MongoDB. ومن دونه، يُنشئ كل pod ملف مفتاح في مجلد /var/lib/overleaf/data الخاص به. ومع عدة نسخ متماثلة يصبح لكل عقدة مفتاح مختلف، ولا يستطيع المستخدم الذي تخدمه نسخة متماثلة أخرى استخدام حساب Mendeley المرتبط به. اضبطه قبل أن يربط أول مستخدم حساب Mendeley: فتغييره لاحقًا يُلزم كل مستخدم بربط Mendeley من جديد.3
التطبيق وإعادة التشغيل
عدة نسخ متماثلة
اضبطMENDELEY_CIPHER_PASSWORD في الـ Secret، كما هو موضّح أعلاه. تُشفَّر رموز Mendeley بالشيفرة نفسها التي تُشفَّر بها مفاتيح Zotero: فمن دون كلمة المرور، لا يمكن تحديث ملف مستورد على نسخة متماثلة من نسخة متماثلة أخرى، كما رأينا مع Zotero. تُحفظ قيمة state الخاصة بـ OAuth في الجلسة داخل Redis، لذا يمكن أن يصل الاستدعاء الراجع (callback) إلى أي نسخة متماثلة.
الاختبار على Kubernetes
في مقابل محاكاة لـ api.mendeley.com (موثوق بها عبرNODE_EXTRA_CA_CERTS من overleaf-certs)، وعلى Kubernetes 1.37 مع ثلاث نسخ متماثلة خلف HAProxy، تنجح اختباراتنا الشاملة (end-to-end) لـ Mendeley (18 حالة): الربط عبر OAuth 2.0 وإلغاء الربط، واستيراد المكتبة والمجموعات إلى ملف .bib، وتحديثه، وتحديث رمز وصول على وشك الانتهاء، والرموز المُلغاة، وطلب الربط من جديد، وإمكانية البحث في المراجع من قِبل المتعاونين، واقتصار التحديث على من قام بالاستيراد، وأخطاء واجهة API، والاتصالات البطيئة بـ Mendeley.
