ترحيل سجل المشروع الكامل
يتضمن الإصدار3.5.x من Community Edition ميزة سجل المشروع الكامل (Full Project History) المتوفرة بالفعل في خدمتنا السحابية SaaS overleaf.com
بعد ترقية نسختك إلى Overleaf CE 3.5.13، ستستخدم جميع المشاريع الجديدة سجل المشروع الكامل افتراضيًا. أما المشاريع الحالية فستستمر في استخدام نظام السجل القديم إلى أن يتم ترحيلها.
إذا قمت بالترقية إلى
3.5.13 ثم قررت الرجوع إلى إصدار أقدم، فيجب عليك الاستعادة من نسخة احتياطية كاملة للنظام. سجل المشاريع المُنشأة في 3.5.13 غير متوافق مع الإصدارات الأقدم من Overleaf CE.- يتتبّع التغييرات في الملفات الثنائية، وهو أمر غير مدعوم في النظام القديم.
- يدعم الإصدارات الموسومة بتسميات (labelled versions).
- النظام بشكل عام أكثر متانة، واحتمال فقدان البيانات أقل.
ترحيل المشاريع الحالية
1
أنشئ نسخة احتياطية
أنشئ نسخة احتياطية كاملة لنسختك مع لقطة متسقة لمجلدات mongo وredis وsharelatex.
2
حدّث
حدّث إصدار صورة sharelatex/sharelatex إلى 3.5.13.الـ Toolkit: استخدم السكربت
$ bin/upgrade لترقية الـ Toolkit إلى أحدث إصدار، وعدّل config/version إلى 3.5.13.3
شغّل النسخة
من الأفضل منع المستخدمين من الوصول إلى نسختك أثناء إجراء الترحيل، لتجنب فقدان البيانات في حال احتجت إلى استعادة نسختك الاحتياطية. راجع الترحيل دون اتصال لمزيد من المعلومات حول كيفية القيام بذلك.
4
انتظر حتى تعمل جميع الخدمات
انتظر حتى تعمل جميع الخدمات (انظر الأمر أدناه)
5
شغّل سكربت الترحيل
--force-clean بيانات سجل المشروع التي رُحّلت جزئيًا في النظام الجديد، مما يسمح بإعادة محاولة الترحيل للمشاريع الفردية التي فشلت في المحاولات السابقة؛يستبدل الخيار --fix-invalid-characters الأحرف غير القابلة للطباعة التي لا يدعمها نظام السجل الجديد؛يحوّل الخيار --convert-large-docs-to-file المستندات التي يتجاوز حجمها حد التحرير البالغ 2MB إلى ملف غير قابل للتحرير)يجب أن يبدو الناتج كما يلي:0، وتشير الأسطر الأخيرة إلى عدم وجود حالات فشل:6
أعد فتح الموقع
إذا كنت قد اخترت إجراء ترحيل دون اتصال، فستحتاج إلى إعادة فتح الموقع. إذا كنت لا تزال مسجّل الدخول، فستحتاج إلى:
- النقر على زر Admin واختيار Manage Site
- النقر على علامة التبويب Open/Close Editor
- النقر على زر Reopen Editor
$ bin/up.الترحيل دون اتصال
لمنع المستخدمين من تسجيل الدخول أثناء تشغيل سكربت ترحيل السجل، يرجى اتباع الخطوات التالية:- سجّل الدخول إلى نسخة Overleaf الخاصة بك بحساب مسؤول
- انقر على زر Admin واختر Manage Site
- انقر على علامة التبويب Open/Close Editor
- انقر على زر Close Editor
- انقر على زر Disconnect all users
الترحيل أثناء التشغيل
يمكن تشغيل سكربتات الترحيل بينما لا يزال التطبيق قيد التشغيل. هناك بعض الاعتبارات التي يجب أخذها في الحسبان:- عملية الترحيل كثيفة الاستخدام للمعالج، لذا يجب مراقبة استهلاك الموارد أثناء تشغيل السكربت.
- مع قيمة
--concurrencyمرتفعة، قد تتعرض حلقة الأحداث في بعض الخدمات (track-changesعلى وجه الخصوص) لبعض الحظر، مما يؤدي إلى تدهور تجربة المستخدم. نوصي بالبدء بالقيمة الافتراضية--concurrency=1. - يمكنك إيقاف السكربت في أي وقت. وعند تشغيله مجددًا، سيستأنف الترحيل من حيث توقفت. وهذا مفيد إذا كنت تفضّل تشغيل الترحيل في ساعات أقل ازدحامًا (مثلًا في الليل).
db.projects.count()). إذا كان عدد المشاريع كبيرًا، فيمكنك تشغيل السكربت ومراقبة تقدمه، ثم تقرير ما إذا كنت ستواصل تشغيله أثناء التشغيل أو دون اتصال بناءً على حالتك الخاصة.
تنظيف بيانات السجل القديم
أُضيف سكربت لتنظيف بيانات السجل القديم في Server Pro3.5.6 و4.0.6 و4.1.0.
في Server Pro قبل الإصدار 3.5.13، يحذف السكربت محتوى مجموعتي
docHistory وdocHistoryIndex. لا يحرّر MongoDB مساحة القرص بعد حذف المستندات، بل يعيد استخدام تلك المساحة للمستندات المستقبلية في المجموعة نفسها. ولن يكتب أي شيء في هذه المجموعات مرة أخرى بعد ترحيل السجل، لذا ستبقى مساحة القرص غير مستخدمة.إذا أردت إتاحة مساحة القرص مجددًا، فيمكنك الترقية إلى Server Pro 3.5.13 (عند استخدام الإصدار 3.x) أو Server Pro 4.2.5 (عند استخدام الإصدار 4.x) وإعادة تشغيل سكربت التنظيف.يقوم سكربت التنظيف المضمّن في أحدث إصدارات التصحيح من Server Pro 3.5.x وأحدث 4.x.x بحذف المجموعات كخطوة أخيرة.إعادة تشغيل سكربت التنظيف آمنة.استكشاف الأخطاء وإصلاحها
سنضيف هنا نصائح لاستكشاف الأخطاء وإصلاحها. يرجى ملاحظة أنه على الرغم من أننا نقدّم الدعم عادةً لعملاء Server Pro فقط، فإننا، نظرًا لطبيعة هذا الترحيل، سنبذل قصارى جهدنا أيضًا لدعم عملاء CE الذين يواجهون مشكلات خاصة بترحيل سجل المشروع الكامل. إذا فشل سكربت ترحيل سجل المشروع الكامل (أي خرج بخطأ أو طبع عددًا غير صفري من المشاريع الفاشلة)، فيرجى إرسال التفاصيل التالية إلى فريق الدعم لدينا عبر البريد الإلكتروني support+historymigration@overleaf.com، مع ذكر: الموضوع: Full project history migration problem- نوع النسخة: CE أو Server Pro (احذف ما لا ينطبق)
- نوع التثبيت: Overleaf toolkit أو
docker-compose.ymlأو غير ذلك (احذف ما لا ينطبق) - الإصدار: 3.5.x (الـ Toolkit:
$ cat config/version) - ناتج سكربت الترحيل (والذي يُفترض أن يكون موجودًا في الحاوية ضمن
/overleaf/services/web) - Migrated Projects: (حسب ناتج سكربت الترحيل)
- Total Projects: (حسب ناتج سكربت الترحيل)
- Remaining Projects: (حسب ناتج سكربت الترحيل)
- مدة الترحيل:
- ناتج
bin/doctor(عند استخدام الـ Toolkit) - إصدار الـ Toolkit:
$ git rev-parse HEAD(عند استخدام الـ Toolkit)
history-v1 وproject-history وtrack-changes بالرسالة. يمكنك العثور عليها في /var/log/sharelatex داخل حاوية sharelatex وتصديرها على النحو التالي:
العثور على أشجار الملفات التالفة
قد يفشل الترحيل للمشاريع التي تحتوي على شجرة ملفات مشوّهة (على سبيل المثال، عندما تكون أسماء الملفات فارغة). يمكنك العثور على قائمة بهذه المشكلات باستخدام السكربتfind_malformed_filetrees الذي يفحص جميع المشاريع في قاعدة البيانات:
fix_malformed_filetree، مع تشغيل الأمر مرة واحدة لكل مسار تالف:
إرجاع المشاريع من سجل المشروع الكامل إلى السجل القديم
إذا كان هناك مشروع تم ترحيله إلى سجل المشروع الكامل لكنك تريد العودة إلى السجل القديم، فاستخدم السكربتdowngrade_project على النحو التالي:

