Skip to main content
يعمل الاستيراد من Mendeley داخل خدمة web (الوحدة tpr-webmodule) في كل pod من Ayakaleaf Pro. سجّل تطبيق Mendeley كما هو موضّح في تكامل Mendeley، مع عنوان إعادة التوجيه ${OVERLEAF_SITE_URL}/user/mendeley/oauth/callback، ثم اضبط Kubernetes كما يلي.

الإعداد

1

ConfigMap

30-config.yaml (changes)
ضع معرّف التطبيق بين علامتي اقتباس: فهو رقم، والـ ConfigMap لا يحتوي إلا على سلاسل نصية. يستبدل 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.
آخر تعديل في ٢ نوفمبر ٢٠٢٦