Skip to main content

ترحيل سجل المشروع الكامل

يتضمن الإصدار 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

أعد فتح الموقع

إذا كنت قد اخترت إجراء ترحيل دون اتصال، فستحتاج إلى إعادة فتح الموقع. إذا كنت لا تزال مسجّل الدخول، فستحتاج إلى:
  1. النقر على زر Admin واختيار Manage Site
  2. النقر على علامة التبويب Open/Close Editor
  3. النقر على زر Reopen Editor
إذا كنت قد أغلقت متصفحك، فستحتاج إلى إعادة تشغيل الموقع باستخدام $ bin/up.

الترحيل دون اتصال

لمنع المستخدمين من تسجيل الدخول أثناء تشغيل سكربت ترحيل السجل، يرجى اتباع الخطوات التالية:
  • سجّل الدخول إلى نسخة Overleaf الخاصة بك بحساب مسؤول
  • انقر على زر Admin واختر Manage Site
  • انقر على علامة التبويب Open/Close Editor
  • انقر على زر Close Editor
  • انقر على زر Disconnect all users
بعد القيام بذلك، ستتم إعادة توجيه أي مستخدمين مسجّلي الدخول إلى صفحة الصيانة، وسيرى أي مستخدمين جدد يزورون صفحة تسجيل الدخول صفحة الصيانة، ولن يتمكنوا من تسجيل الدخول.

الترحيل أثناء التشغيل

يمكن تشغيل سكربتات الترحيل بينما لا يزال التطبيق قيد التشغيل. هناك بعض الاعتبارات التي يجب أخذها في الحسبان:
  • عملية الترحيل كثيفة الاستخدام للمعالج، لذا يجب مراقبة استهلاك الموارد أثناء تشغيل السكربت.
  • مع قيمة --concurrency مرتفعة، قد تتعرض حلقة الأحداث في بعض الخدمات (track-changes على وجه الخصوص) لبعض الحظر، مما يؤدي إلى تدهور تجربة المستخدم. نوصي بالبدء بالقيمة الافتراضية --concurrency=1.
  • يمكنك إيقاف السكربت في أي وقت. وعند تشغيله مجددًا، سيستأنف الترحيل من حيث توقفت. وهذا مفيد إذا كنت تفضّل تشغيل الترحيل في ساعات أقل ازدحامًا (مثلًا في الليل).
توصيتنا هي إغلاق الموقع وتشغيل الترحيل دون اتصال خلال نافذة صيانة عندما يكون عدد مشاريعك أقل من 1000 مشروع (db.projects.count()). إذا كان عدد المشاريع كبيرًا، فيمكنك تشغيل السكربت ومراقبة تقدمه، ثم تقرير ما إذا كنت ستواصل تشغيله أثناء التشغيل أو دون اتصال بناءً على حالتك الخاصة.

تنظيف بيانات السجل القديم

أُضيف سكربت لتنظيف بيانات السجل القديم في Server Pro 3.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 على النحو التالي:
آخر تعديل في ٤ أكتوبر ٢٠٢٦