حسنًا، هذا طلب غريب على الأرجح، لذا سأشرح معضلتي هنا.
لدينا نسخة من Discourse تضم عددًا كبيرًا من المستخدمين، وبفضل أنها بُنيت على أساس قائمة بريدية استمرت عقدين من الزمن، لدينا الكثير من المستخدمين المعتادين على وضع القوائم البريدية.
لدينا حاليًا بعض الفئات النشطة، لكننا لا نستخدم اسم الفئة في تنسيق موضوع البريد الإلكتروني، لأن جميع مستخدمي القائمة البريدية لدينا لديهم سنوات من الرسائل التي تبدأ ببادئة [SDL]، ولديهم فلاتر بريدية ترتب الرسائل في مجلدات بناءً على تلك السلسلة، وما إلى ذلك.
لذا فإن سلسلة التنسيق لدينا تبدو هكذا، مع وجود [SDL] ثابتة…
%{optional_re}[SDL]%{optional_pm} %{topic_title}
…وهذا كان مقبولًا لمدة ثلاث سنوات حتى الآن.
لكننا الآن ننقل قائمة بريدية قديمة ومتهالكة مسجلة فيها عمليات التثبيت إلى نظام التحكم في الإصدارات إلى فئة في Discourse، للاستفادة من جميع المزايا التي يوفرها Discourse على القوائم البريدية القديمة والمتهالكة، والآن لدينا مشكلة، لأن تلك القائمة البريدية كانت لها بادئة مختلفة ([Commits]، بالطبع).
لذا أحتاج الآن إلى شيء ما في سلسلة تنسيق الموضوع هذا يكون فريدًا للفئة يمكنني استخدامه كبادئة، بدلاً من السلسلة الثابتة [SDL].
لا يمكنني استخدام سلسلة اسم الفئة الحالية، لأن معظم الفئات ستحتاج إلى استخدام نفس السلسلة، وحتى لو لم تكن بحاجة إلى أن تكون فريدة، (أفترض أن) ذلك سيكسر جميع الروابط الحالية إلى منتدياتنا إذا قمت بتغييرها. ولا يمكنني استخدام اسم الفئة أيضًا، لأن معظمها يحتاج فقط إلى أن يكون [SDL] وهي عبارات طويلة جدًا في أي حال.
هل هناك شيء يمكنني استخدامه لهذا الغرض؟ وفي حال عدم توفر ذلك، هل يمكننا إضافة سلسلة عامة إلى إعدادات كل فئة يمكن الوصول إليها من سلسلة تنسيق موضوع البريد الإلكتروني، بنفس الطريقة التي يُستخدم بها %{optional_cat}؟ مثلًا، %{cat_mailsubj} التي تُرجع سلسلة فارغة افتراضيًا؟
شكرًا لك!
تعديل: يبدو أنني توصلت إلى هذا الحل في عام 2017 أيضًا: How to properly alter the database? - #8 by icculus … هل هناك خيار أفضل، أم يجب أن أخرج هذه التصحيح من الغبار مرة أخرى؟