سجل التدقيق هو السجل الكامل للتغييرات داخل مؤسستك. يُسجَّل كل إجراء مهم (إنشاء، تعديل، حذف، نقل، تغيير إعدادات، عملية فوترة، تغيير أذونات) كإدخال منفصل يتضمن المؤلف والوقت والسياق.
لماذا تحتاجه:
- التحقيق — "مَن حذف هذا المقال؟"، "مَن غيّر دور شخص ما الأسبوع الماضي؟"
- الامتثال — تتطلب SOC 2 وISO 27001 وGDPR مسار تدقيق لتغييرات البيانات والموافقات
- التراجع عن التغييرات — فهم ما كان موجودًا قبل تغيير واتخاذ قرار
- مراقبة نشاط الفريق — مَن يفعل ماذا، خاصةً في مؤسسات Enterprise ذات الفرق الكبيرة
#أين تفتحه
القائمة اليسرى ← سجل التدقيق.
متاح لدورَي Owner وAdmin في المؤسسة على خطط Team وPro وBusiness وEnterprise (علامة الخطة allows_audit_logs). على Free وStarter يرى Owner وAdmin عنصر القائمة بقفل وعبارة «يتطلب باقة …» (ويقود Owner إلى «الخطة والحدود»)، ولا يراه الآخرون.
لا يرى Editor وUser السجل افتراضيًا: يمكن منحهما صلاحية «سجل التدقيق» في الإعدادات ← إدارة الصلاحيات — وعندها يظهر لهما العنصر أيضًا. أما Guest فلا يرى السجل أبدًا.
سجلات المال والخطة (نوع المورد billing) يراها المالك (Owner) فقط: دور Admin لا يملك صلاحية الوصول إلى المدفوعات، ويجب ألا يصبح السجل طريقًا التفافيًا إليها.
#كيف يبدو الإدخال
كل صف في السجل هو بطاقة بالمؤلف والإجراء والمورد والوقت ووصف قصير:
حقول الإدخال:
| الحقل | الوصف |
|---|---|
| المؤلف | اسم + بريد المستخدم الذي نفّذ الإجراء |
الإجراء (action) |
ما حدث: created، updated، deleted، restored، moved، published، وغيرها |
نوع المورد (resource_type) |
العنصر الذي نُفّذ عليه الإجراء: article، collection، user، consent، billing، tenant |
| عنوان المورد | اسم المقال، اسم المجموعة، اسم المستخدم — ما تراه في الواجهة العادية |
الملخّص (summary) |
شرح مقروء للإجراء |
التفاصيل (details) |
JSON ببيانات إضافية: ما الذي تغيّر بالضبط، القيمة القديمة/الجديدة، عنوان IP، مفتاح idempotency — يتوسّع عند النقر على "التفاصيل" |
| الوقت | طابع زمني بدقة الثانية |
#ما يُسجَّل في السجل
يسجّل السجل العمليات الرئيسية على المحتوى والأعضاء والموافقات والفوترة. أدناه أنواع الموارد والإجراءات الفعلية.
#المقالات (resource_type=article)
| الإجراء | متى يُطلَق |
|---|---|
created |
إنشاء مقال جديد |
updated |
حفظ التغييرات (بما في ذلك تغيير الرؤية — يُظهِر details أيّ الحقول تغيّرت) |
trashed |
نقل مقال إلى سلة المهملات |
restored |
الاستعادة من سلة المهملات |
article_moved |
نقل مقال |
article_copied |
نسخ مقال |
permanently_deleted |
الحذف النهائي من سلة المهملات أو بعد انتهاء الاحتفاظ |
#المجموعات والمساحات (resource_type=collection)
تُخزَّن المساحات كمجموعات على المستوى الأعلى، لذا تُسجَّل تحت نوع المورد نفسه.
| الإجراء | متى |
|---|---|
created |
إنشاء مجموعة أو مساحة |
collection_moved |
نقل مجموعة (تغيير أصلها) |
collection_copied_recursive |
نسخ مجموعة مع محتواها |
collection_bulk_move_articles |
نقل جماعي للمقالات بين المجموعات |
trashed |
النقل إلى سلة المهملات |
restored |
الاستعادة من سلة المهملات |
permanently_deleted |
الحذف النهائي |
#الفريق (resource_type=user)
| الإجراء | متى |
|---|---|
invited |
دعوة إلى المؤسسة |
role_changed |
تغيير دور عضو في المؤسسة |
deleted |
إزالة عضو من المؤسسة |
#موافقات GDPR (resource_type=consent)
| الإجراء | متى |
|---|---|
updated |
غيّر مستخدم موافقة ملفات تعريف الارتباط (scope: all / essential) |
تظهر هذه الإدخالات تلقائيًا عند تغيير لافتة ملفات تعريف الارتباط. راجع مقال التسجيل والتهيئة لسياق موافقة GDPR.
#الفوترة والمؤسسة
| الإجراء | المورد | متى |
|---|---|---|
subscription_paid |
billing |
دفع الاشتراك (الأول والتجديد) |
plan_upgraded |
billing |
ترقية الخطة |
plan_downgrade_scheduled |
billing |
جدولة تخفيض الخطة أو إلغاء الاشتراك |
plan_changed_by_provider |
billing |
تغيير الخطة بحدث من مزوّد الدفع |
scheduled_change_cancelled |
billing |
إلغاء تغيير مجدول |
subscription_cancelled / subscription_cancel_failed |
billing |
إلغاء الاشتراك / محاولة فاشلة |
reactivated |
billing |
استئناف الاشتراك |
seats_changed |
billing |
تغيير عدد المقاعد |
refund_issued |
billing |
استرداد المبلغ |
topup_checkout_started / topup_granted |
billing |
بدء شراء حزمة / إضافة الحزمة إلى الرصيد |
billing_address_updated |
billing |
تغيير عنوان الفوترة |
plan_granted / plan_grant_revoked, limit_override_granted / limit_override_revoked, addon_granted_by_operator |
billing |
تغييرات أجراها موظف في Lynkora |
trash_emptied |
tenant |
إفراغ سلة مهملات المؤسسة بالكامل |
#المرشّحات
في أعلى الصفحة لوحة مرشّحات للعثور بسرعة على الحدث الذي تحتاجه:
- البحث — بالنص في
summaryأوresource_title(غير حسّاس لحالة الأحرف) - الإجراء — قائمة منسدلة بكل أنواع الإجراءات التي تظهر في سجل المؤسسة
- المورد — قائمة منسدلة بالأنواع التي تظهر فعلًا في السجل (
article/collection/user/consent/billing/tenant) - المستخدم — التصفية حسب مؤلف الإجراء
- الفترة — نطاق تاريخ "من" و"إلى"
- الترقيم — حتى 200 إدخال في الصفحة
يمكن دمج المرشّحات: على سبيل المثال، "جميع إجراءات deleted بواسطة المستخدمة Anna خلال الأسبوع الماضي".
#تفاصيل الإدخال
النقر على بطاقة يفتح JSON الموسَّع في حقل "التفاصيل" — وهو محتوى عمود details في قاعدة البيانات. ما يمكنك رؤيته هناك عادةً:
- لـ
updated— قائمة الحقول المتغيّرة (fields) - لـ
role_changed— الدور القديم والجديد - لـ
consent updated— النطاق (all/essential) - لعمليات الفوترة —
summaryقصير لما حدث
نصيحة. إذا احتجت إلى فهم ما تغيّر بالضبط في مقال، فانظر إلى حقل
fields_changedفيdetails. لا يُخزَّن محتوى المقال الكامل في السجل (فهذا مكلف من حيث المساحة) — لإدارة الإصدارات استخدم سجل إصدارات المقال في المحرر.
#الاحتفاظ والامتثال
- لا يمكن حذف إدخالات السجل عبر الواجهة — وهذا قيد متعمّد (وإلا يفقد مسار التدقيق معناه)
- تُحذَف الإدخالات القديمة جدًا دوريًا بمهمة تلقائية بموجب سياسة احتفاظ التدقيق — فالسجل لا يُخزَّن إلى الأبد
- عند حذف المؤسسة نفسها، يُحذَف السجل معها (عبر ON DELETE CASCADE)
#ما لا يُسجَّل في السجل
لتجنّب تضخيم السجلات وتحويل السجل إلى ضجيج، لا يُسجَّل ما يلي:
- استعلامات بحث المستخدمين — للتحليلات استخدم قسم التحليلات
- مشاهدات المقالات — أيضًا التحليلات
- عمليات AI داخل المحرر (
AI Improve،AI Rewrite) — هذا سير عمل المؤلف، وليس تغييرًا قابلًا للتدقيق - الأحداث التقنية (المهام الخلفية، عمليات المزامنة) — فهي في سجلات النظام الخلفية، لمديري المنصة
- إجراءات مستخدمي النظام (على سبيل المثال،
platform-help-systemعند بذر التوثيق) — تُصفّى
#أقسام ذات صلة
- سلة المهملات — تُسجَّل هنا بالضبط أحداث
trashed/restored/permanently_deletedللمقالات والمجموعات والمساحات - إدارة الفريق — تُسجَّل تغييرات الأدوار وإزالة الأعضاء في السجل بـ
resource_type=user - التحليلات — لمقاييس الاستخدام (الاستعلامات، المشاهدات) — هذه أداة منفصلة، وليست السجل