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

تمرّ التصنيفات والحقول والخيارات بحالات معيّنة طوال فترة استخدامها. بالإضافة إلى ذلك، قد تتضمّن التصنيفات تعديلات مختلفة. يعرض المخطط التالي دورة حياة التصنيف، بما في ذلك ميزة التحكّم في الإصدارات:

مخطّط دورة حياة التصنيفات
الشكل 3: دورة حياة التصنيف
  1. إنشاء تصنيف (create()) : يتم إنشاء التصنيف وتخزينه في قاعدة بيانات بالمعرّف revision_id=1. تكون حالة التصنيف UNPUBLISHED_DRAFT. في هذه الحالة:
    • لا يمكن للمستخدمين عرض التصنيف.
    • لا يمكن للمستخدمين تطبيق التصنيف على عناصر Drive.
  2. (اختياري) تعديل تصنيف أو حقل أو خيار (delta()) : يتم تخزين كل تعديل في قاعدة بيانات، حتى قبل نشره، ويتم زيادة رقم مراجعة التصنيف.
  3. نشر تصنيف (publish()) : تكون حالة التصنيف PUBLISHED ويمكن للمستخدمين تطبيقه. يؤدي نشر التصنيف إلى زيادة رقم مراجعته.
  4. (اختياري) تعديل تصنيف أو حقل أو خيار (delta()) : يتم تعديل التصنيف أو الحقل أو الخيار وتخزينه في قاعدة بيانات كمسودة تصنيف. تكون حالة التصنيف PUBLISHED مع hasUnpublishedChanges=true، ما يعني أنّه تم إجراء تغييرات على المسودة، ولكنّها غير متاحة للمستخدمين. تؤدي كل عملية تعديل إلى زيادة رقم مراجعة التصنيف.
  5. (اختياري) نشر تصنيف (publish()) : يتم نشر أحدث مسودة إذا كانت متاحة. تكون حالة التصنيف PUBLISHED ويمكن للمستخدمين تطبيقه. يؤدي نشر التصنيف إلى زيادة رقم إصداره.
  6. إيقاف تصنيف (disable()) : تكون حالة التصنيف DISABLED، ولكن يمكن للمستخدمين تطبيقه من خلال واجهة برمجة التطبيقات. ومع ذلك، لا يظهر التصنيف الذي تم إيقافه في واجهة المستخدم ما لم يتم ضبطه على الظهور. يؤدي إيقاف التصنيف إلى زيادة رقم مراجعته.
  7. تفعيل تصنيف (enable()) : يتم إرجاع التصنيف إلى الحالة PUBLISHED ويمكن للمستخدمين تطبيقه. يؤدي نشر التصنيف إلى زيادة رقم مراجعته.
  8. حذف تصنيف (delete()) : تكون حالة التصنيف DELETED ولا يمكن تطبيقه. يتم في النهاية إزالة التصنيفات المحذوفة نهائيًا.

من المهم التأكيد على أنّ كل تعديل يتم إجراؤه على تصنيف يؤدي إلى زيادة رقم مراجعة التصنيف. وإذا سبق نشر التصنيف، فإنّ نشره مرة أخرى بعد n تعديل يعني أنّ رقم المراجعة المنشورة هو رقم المراجعة + n + 1 عدد عمليات التعديل المتتالية.