ITSkillsCenter
الأعمال الرقمية

الانتقال من Slack إلى Mattermost: درس كامل 2026

2 min de lecture

📍 المقالة الرئيسية للمجموعة: Mattermost 2026: الدليل الكامل.

لديك سنتان من النقاشات في Slack وتريد التبديل إلى Mattermost ذاتي الاستضافة دون فقدان التاريخ. هذا الدرس يفصل الإجراء الموثق عند عدة شركات فرنكوفونية بـ workspaces من 25-100 مستخدم. الهدف: نقل المحادثات والقنوات والمستخدمين والملفات دون إزعاج تشغيلي حقيقي.

المتطلبات

Mattermost في الإنتاج (راجع درس التثبيت). وصول Owner أو Admin Slack workspace. المستوى المتوقع: متوسط/متقدم. الوقت المقدر: يوم للتحضير + 30 يوماً للتبديل التدريجي. هذا الجدول الزمني يبدو طويلاً لكنه يضمن استمرارية تشغيلية ويمنح فترة موازية للتحقق من سلامة البيانات المنقولة.

الخطوة 1 — تدقيق Slack الحالي

قبل أي ترحيل، نُحصي ما لدينا. Slack admin → Settings → Workspace settings. وثِّق العدد الإجمالي للمستخدمين النشطين والموقفين، عدد القنوات العامة + الخاصة، عدد التكاملات النشطة (GitHub، Jira، Wave webhooks، إلخ)، حجم التاريخ (Slack Pro = غير محدود، Free = آخر 90 يوماً فقط). هذا الإحصاء يُصنِّع خريطة هجرة دقيقة ويتيح تقدير الجهد المطلوب.

الخطوة 2 — تصدير Slack

Slack admin → Settings → Import/Export Data → Export → All Time. التوليد يستغرق ساعات (workspace كبير) أو دقائق (صغير). يصل الإشعار عبر email عندما يصبح الأرشيف جاهزاً للتنزيل. ZIP المُصدَّر يحتوي على channels.json (قائمة القنوات)، users.json (قائمة المستخدمين)، ومجلد لكل قناة مع JSON يومي للرسائل.

تحذير Slack Free: فقط آخر 90 يوماً. إذا كنت على Free، التاريخ السابق مفقود نهائياً من جانب Slack — لا يوجد حل لاستعادته. هذه إحدى أقوى دوافع الانتقال إلى Mattermost: مع self-hosted، التاريخ غير محدود حقاً.

الخطوة 3 — تحضير الاستيراد في Mattermost

على خادم Mattermost، انسخ ZIP التصدير. ثم استخدم أداة mmctl import الرسمية لتحويل التنسيق Slack إلى تنسيق Mattermost JSONL (JSON Lines) قابل للاستيراد. هذه الأداة مدمجة في Docker container Mattermost — لا حاجة لتثبيت إضافي.

# انسخ ZIP Slack export على الخادم
scp slack-export.zip user@mattermost-server:/tmp/

# تحويل إلى تنسيق Mattermost JSONL
docker exec -it mattermost mmctl import slack TEAM_ID /tmp/slack-export.zip /tmp/mattermost-import.jsonl

الخطوة 4 — فحص JSONL

الـ JSONL يحتوي على كل البيانات الجاهزة للاستيراد. التحقق من سلامته قبل الاستيراد الفعلي يكشف المشاكل المحتملة. كل سطر هو كائن JSON واحد بنوع محدد.

head -20 /tmp/mattermost-import.jsonl
# الأسطر النموذجية: {"type":"version","version":1}, {"type":"team",...}, {"type":"channel",...}, {"type":"user",...}, {"type":"post",...}

الخطوة 5 — الاختبار على Staging

أطلق الاستيراد على نسخة Mattermost staging أولاً. هذا يحمي الإنتاج من أخطاء غير متوقعة ويتيح اكتشاف المشاكل قبل تأثيرها على المستخدمين الحقيقيين. الـ flag --apply يطبق الاستيراد فعلاً (بدون يكون dry-run).

docker exec -it mattermost mmctl import process /tmp/mattermost-import.jsonl --apply

تحقق في Studio Mattermost أن القنوات والرسائل والمستخدمين موجودون. spot-check 10 رسائل عشوائية من فترات مختلفة. تحقق من المرفقات (الصور، PDFs) قابلة للعرض.

الخطوة 6 — Mapping users Slack → Mattermost

Slack يستخدم UID من نوع U02ABC123. Mattermost ينشئ UIDs جديدة. الـ mapping يكون في الـ JSONL. مهم: للحفاظ على ملكية الرسائل، email المستخدم Slack يجب أن يطابق email Mattermost. وإلا، Mattermost ينشئ user غير نشط بشكل تلقائي ويفصل الرسائل عن مالكها الأصلي.

قبل الاستيراد، تحقق من أن جميع المستخدمين المهمين لديهم نفس البريد الإلكتروني في كلا النظامين. لمزيد من الأمان، أنشئ مستخدمي Mattermost يدوياً قبل الاستيراد بنفس البريد الإلكتروني الموجود في Slack — Mattermost سيربطهم تلقائياً بالرسائل المُستوردة.

الخطوة 7 — الترتيب الزمني

الـ JSONL يحفظ timestamps Slack الأصلية. Mattermost يعرض بشكل صحيح الترتيب في القنوات. هذا يحفظ سياق المحادثات: نقاش بدأ منذ 6 أشهر يبقى في موقعه الزمني الصحيح، مما يسمح بالعودة لقرارات قديمة دون تشويش.

الخطوة 8 — فترة موازية

لمدة 14-30 يوماً، احتفظ بـ Slack و Mattermost نشطين معاً. الرسائل الجديدة: Mattermost فقط. Slack: للقراءة فقط للتشاور التاريخي. تواصل داخلياً: «من اليوم، ننشر على Mattermost. Slack يبقى متاحاً للاستشارة لمدة 30 يوماً». هذه الفترة الموازية ضرورية لـ:

  • التحقق من سلامة البيانات المُستوردة في Mattermost.
  • السماح للأعضاء بالتكيف مع الواجهة الجديدة.
  • اكتشاف القنوات أو المحادثات المنسية لم تُستورد بشكل صحيح.
  • تكوين التكاملات الجديدة (Forgejo، Grafana) قبل التبديل النهائي.

الخطوة 9 — هجرة التكاملات

لكل تكامل Slack (GitHub، Jira، Jenkins، Wave webhooks):

  1. حدد URL webhook Slack الحالي.
  2. أنشئ webhook وارد مكافئ في Mattermost (System Console → Integrations).
  3. حدِّث التكوين في الخدمة الخارجية لاستخدام URL الجديد.
  4. اختبر مع حدث اختبار للتأكد من وصول الإشعار.

الخطوة 10 — إيقاف Slack

في J+30، بعد أن أصبح كل شيء يعمل بشكل صحيح على Mattermost:

  1. ألغِ اشتراك Slack Pro (البيانات تظل متاحة لمدة 30 يوماً بعد الإلغاء كأمان).
  2. عطل تطبيقات Slack من جانب الموظفين.
  3. احذف bookmarks والاختصارات في المتصفحات والتطبيقات.
  4. إشعار نهائي للفريق: «Slack الآن في الأرشيف فقط، يستخدم لتذكر التاريخ القديم».

الأخطاء الشائعة

الخطأ السبب الحل
الاستيراد يتوقف على ملف تالف تصدير Slack غير مكتمل اطلب تصديراً جديداً من Slack
Users مكررون email يختلف بين Slack/Mattermost أنشئ users Mattermost مسبقاً مع emails مطابقة
الملفات المرفقة مفقودة S3 storage مختلف كوّن Mattermost storage قبل الاستيراد
Threads مكسورة تصدير Slack قديم بدون threading تصدير Slack حديث إلزامي
صلاحيات القنوات الخاصة مفقودة غير موجودة في التصدير أعد إنشاءها يدوياً
Emojis مخصصة غائبة غير موجودة في تصدير Slack القياسي أعد رفعها يدوياً

التكيف مع السياق المغاربي وغرب إفريقيا

ثلاث توضيحات. عرض النطاق للتصدير. workspace 1 جيجابايت يأخذ 30 دقيقة لرفعه على اتصال مشترك في الدار البيضاء. قم بالرفع من VPS Hetzner مباشرة (gigabit) بدلاً من محطة محلية. هذا يقلل الوقت ويتجنب فشل التحميل في حالة انقطاع الشبكة. التواصل مع الفريق. أعلن قبل 7 أيام، تكوين 30 دقيقة على Mattermost، FAQ مخصصة. للفرق الناطقة بالعربية، قدم التكوين بالعربية أو ثنائي اللغة. التوفيرات. لـ 30 شخصاً في كوت ديفوار على Slack Pro = 2,600 USD سنوياً. الانتقال يوم واحد ROI فوري. على 5 سنوات، التوفير 13,000 USD يمكن استثماره في تكوين الفريق.

دروس الإخوة في المجموعة

الأسئلة المتكررة

هجرة Discord بدلاً من ذلك؟ Discord أكثر توجهاً نحو المجتمعات. Mattermost أكثر احترافية. أدوات تصدير Discord مماثلة موجودة لكن أقل نضجاً.

التاريخ الكامل مطلوب؟ غالباً لا. 6-12 شهراً كافية. أرشيف Slack يبقى متاحاً للاستشارة في حالة الحاجة.

كم وقت لـ 100,000 رسالة؟ الاستيراد: 15-30 دقيقة. التحقق اليدوي ساعة. الفترة الموازية 14-30 يوماً.

workflows Slack مهاجرة؟ ليس تلقائياً. أعد إنشاءها في Mattermost عبر Plugins أو bot.

مكالمات صوت/فيديو Slack؟ Mattermost Calls plugin مكافئ. الانتقال سلس.

للاستزادة

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité