# ال Yearly Review plugin يستمر في إنشاء مواضيع جديدة

**URL:** https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716
**Category:** Support
**Tags:** yearly-review
**Created:** [4 يناير 2023، 3:35م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716 "2023-01-04T15:35:08Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [4 يناير 2023، 3:35م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/1 "2023-01-04T15:35:08Z")

</div>

مرحباً!

تم إنشاء مراجعة سنوية على منتدى الخاص بي. تم تغيير اسم الموضوع، ولأن المكون الإضافي للمراجعة السنوية يتحقق من أسماء العناوين المتطابقة لمعرفة ما إذا كان يجب عليه إنشاء مراجعة سنوية جديدة، فقد أنشأ واحدة أخرى بعد 24 ساعة.

لقد حذفت الجديدة، وأعدت تسمية الأولى بالعنوان الافتراضي.

لكن المكون الإضافي لا يزال ينشئ مواضيع جديدة بعد 24 ساعة.

إليك ما يعرضه مستكشف البيانات:

```sql
SELECT created_at, title, fancy_title
FROM topics
WHERE title like '%2022%année en cours de révision%'
AND deleted_at IS NULL
ORDER BY created_at DESC

```

| created\_at | title | fancy\_title |
| --- | --- | --- |
| 2023-01-04T14:52:19.345Z | `2022 : l'année en cours de révision` | `2022 : l’année en cours de révision` |
| 2023-01-01T10:09:20.503Z | `2022 : l'année en cours de révision` | `2022 : l’année en cours de révision` |

ℹ في الواقع، تم إنشاء مواضيع جديدة 3 مرات، ربما بسبب اختلاف بين علامة اقتباس وعلامة اقتباس مزخرفة \[1\] في العنوان، لذا اضطررت إلى ذلك، ومن هنا جاء فارق الأيام الثلاثة والنتائج الوحيدة البالغة 2، لكنني أود الاحتفاظ فقط بالأول الذي تم إنشاؤه.

أي فكرة لماذا يستمر المكون الإضافي في إنشاء مواضيع على الرغم من وجود موضوع موجود بالعنوان الافتراضي، وكيف أوقفه عن فعل ذلك؟ ماذا لو قمت بتعطيله وإعادة تمكينه في نهاية عام 2023؟ هل سينشئ موضوعًا بعد 24 ساعة من إعادة تمكينه؟  
علاوة على ذلك، لن يكون هذا هو الحل الأكثر أناقة، لذا أود معرفة مصدر المشكلة بالضبط:thinking:

سأقوم بتعطيل المكون الإضافي للأيام/الأسابيع القادمة حتى يتم تحديد المشكلة ومنع إنشاء المراجعات السنوية الجديدة.

* * *

1. انظر الحكاية هنا: [A few questions about the yearly review plugin](https://meta.discourse.org/t/a-few-questions-about-the-yearly-review-plugin/250571?u=canapin)

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 يناير 2023، 3:54م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/2 "2023-01-04T15:54:31Z")

</div>

هل قمت بتغيير المؤلف إلى مستخدم مختلف أيضًا؟  
يبحث الرمز عن موضوع بهذا العنوان الذي أنشأه المستخدم النظام.

---

<div class="post-metadata">

### Author: ![Maxence\_C](https://avatars.discourse-cdn.com/v4/letter/m/9de0a6/32.png) [@Maxence\_C](https://meta.discourse.org/u/Maxence_C)
#### Post date: [4 يناير 2023، 4:11م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/3 "2023-01-04T16:11:57Z")

</div>

مرحباً!  
أنا المسؤول المساعد. لقد قمت فقط بتغيير الاسم. لم أقم بتغيير المؤلف.  
ماذا لو كان هناك موضوعان بنفس الاسم والمستخدم النظامي كمؤلف؟ هل سيأخذ الأخير؟

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 يناير 2023، 4:15م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/4 "2023-01-04T16:15:47Z")

</div>

> [@Maxence\_C](#):
>
> هل سيأخذ الأخير؟

إنه لا “يأخذ” واحدًا، بل يتحقق مما إذا كان الموضوع موجودًا، وإذا لم يكن كذلك، فسيقوم بإنشاء واحد.  
إذا كان هناك واحد أو اثنان (أو 999) فلن يقوم بإنشاء واحد جديد.

---

<div class="post-metadata">

### Author: ![Maxence\_C](https://avatars.discourse-cdn.com/v4/letter/m/9de0a6/32.png) [@Maxence\_C](https://meta.discourse.org/u/Maxence_C)
#### Post date: [4 يناير 2023، 4:18م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/5 "2023-01-04T16:18:34Z")

</div>

إذًا، هناك خطأ ما في مكان ما حيث يستمر في إنشاء مواضيع جديدة بينما يوجد موضوع بالفعل 🤔

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [4 يناير 2023، 4:34م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/6 "2023-01-04T16:34:39Z")

</div>

> [@RGJ](#):
>
> هل قمت أيضًا بتغيير المؤلف إلى مستخدم مختلف؟

كما قال @Maxence_C، تم تغيير العنوان فقط، لذلك لا يزال المؤلف هو @system.

> <https://github.com/discourse/discourse-yearly-review/blob/660c293434516525ea07c1f0a2fbb9aea2538848/app/jobs/yearly_review.rb#L22>

على حد علمي، هذا الشرط متحقق. 🤷

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [4 يناير 2023، 4:41م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/7 "2023-01-04T16:41:56Z")

</div>

هل قمت بتحديث `yearly_review.topic_title`، أم قمت فقط بإعادة تسمية الموضوع؟

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [4 يناير 2023، 5:20م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/8 "2023-01-04T17:20:58Z")

</div>

لقد قمنا للتو بإعادة تسمية عنوان موضوع المراجعة السنوية الأول ثم أعدنا تسميته مرة أخرى إلى الاسم الافتراضي بعد أكثر من 24 ساعة من إنشائه.  
لم نغير `yearly_review.topic_title`.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [4 يناير 2023، 6:00م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/9 "2023-01-04T18:00:09Z")

</div>

إذا كان عنوان الموضوع مطابقًا تمامًا للعنوان الذي تم تعيينه عند نشر الموضوع في البداية، فيجب منع نشر مواضيع المراجعة الجديدة بواسطة هذا السطر:

`return if Topic.where(user: Discourse.system_user, title: title).exists?`

ما لم يكن سبب المشكلة هو أن العنوان ليس مطابقًا تمامًا، فربما تكون المشكلة متعلقة بنشر الموضوع باللغة الفرنسية. سيكون من الرائع معرفة ما يتم تعيينه كـ `title` هنا عند تشغيل المهمة:

`title = I18n.t(\"yearly_review.topic_title\", year: review_year)`

أتساءل عما إذا كان يحاول مطابقة العنوان الإنجليزي مقابل العنوان الفرنسي. هل اللغة الفرنسية هي اللغة الافتراضية في موقعك؟

تعديل: إذا كان الموضوع يتم نشره بعنوان فرنسي، فإن `title` في الكود أعلاه يجب أن يتم تعيينه باللغة الفرنسية. لذا فمن غير المرجح أن يكون هذا هو سبب المشكلة.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [4 يناير 2023، 6:17م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/10 "2023-01-04T18:17:48Z")

</div>

> [@simon](#):
>
> إذا كان عنوان الموضوع مطابقًا تمامًا للعنوان الذي تم تعيينه عند نشر الموضوع في البداية

إنهما متطابقان، إلا إذا فاتني اختلاف بسيط في بيانات مستكشف الموضوعين التي تم إرجاعها. يمكنني تقديم المزيد من البيانات إذا لزم الأمر.

> [@simon](#):
>
> سيكون من الرائع معرفة ما الذي يتم تعيينه كـ `title` هنا عند تشغيل المهمة:
> 
> `title = I18n.t("yearly_review.topic_title", year: review_year)`

هل يجب أن أقوم بتشغيل ذلك في وحدة تحكم rails أو في مكان آخر؟

> [@simon](#):
>
> هل اللغة الفرنسية هي اللغة الافتراضية في موقعك؟

نعم، إنها كذلك.

* * *

سأقوم بإعادة تمكين المكون الإضافي للتحقق مرة أخرى إذا كان بإمكاني جمع المزيد من المعلومات حول المراجعة السنوية التالية التي تم إنشاؤها (إذا كان هناك واحدة).

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [4 يناير 2023، 6:23م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/11 "2023-01-04T18:23:49Z")

</div>

حسنًا، لقد قمت بتشغيل المهمة يدويًا، وقد أنشأت موضوعًا. تشغيلها مرة أخرى لن ينشئ مراجعة سنوية جديدة.

يمكنني نقل الردود من الموضوع الأول إلى الموضوع الجديد، وحذف الأول، ويجب أن يتجاوز ذلك المشكلة.

لكنني فضولي جدًا بشأن ما يحدث هنا ولماذا تبدو المتطلبات غير مستوفاة على الرغم مما أراه في قاعدة البيانات.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [4 يناير 2023، 6:32م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/12 "2023-01-04T18:32:09Z")

</div>

> [@Canapin](#):
>
> لكنني فضولي للغاية بشأن ما يحدث هنا ولماذا تبدو المتطلبات غير مستوفاة على الرغم مما أراه في قاعدة البيانات.

وأنا كذلك. لست متأكدًا مما يحدث، ولكن يبدو أن هذا التحقق من وجود موضوع موجود غير موثوق به بعض الشيء:

`return if Topic.where(user: Discourse.system_user, title: title).exists?`

أتساءل عما إذا كان لدى أي شخص في فريق Discourse أفكار حول كيفية تحسينه.

اضطررت إلى تعطيل المكون الإضافي لمنع إنشاء مواضيع متعددة ليس نهجًا جيدًا. يقوم المكون الإضافي بتحميل بعض CSS المستخدم لتصميم مواضيعه. إذا تم تعطيل المكون الإضافي، فلا أعتقد أن CSS يتم تحميله.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [13 يناير 2023، 7:05م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/13 "2023-01-13T19:05:20Z")

</div>

ملاحظة فقط: تم تحديث المكون الإضافي بالترجمة الفرنسية الجديدة، وبالتالي فقد أنشأ مراجعة سنوية جديدة أخرى اليوم 😅  
لقد نسخت عنوان هذا الموضوع الجديد، وحذفته، وأعدت تسمية الموضوع الأصلي عن طريق لصق العنوان.  
سنرى ما إذا كان سيتم إنشاء موضوع جديد غدًا على الرغم من قيامي بنسخ ولصق العنوان الخام.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [13 يناير 2023، 8:06م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/14 "2023-01-13T20:06:02Z")

</div>

شكراً لمتابعتك هذا الأمر. الاعتماد على عنوان الموضوع لمنع إنشاء مواضيع مراجعة متعددة هو نهج غير موثوق به حقًا (هذا خطئي.) بمجرد انتهاء شهر يناير، لن تظهر المشكلة مرة أخرى حتى العام المقبل. @JammyDodger، ربما يمكنك تمرير ملاحظة إلى فريق Discourse للنظر في ابتكار طريقة أفضل لمنع إنشاء مواضيع متعددة. يجب أن يتم ذلك قبل يناير 2024. الوقت يمر بسرعة 🙂

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [14 يناير 2023، 4:04م UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/16 "2023-01-14T16:04:08Z")

</div>

> [@simon](#):
>
> @JammyDodger، ربما يمكنك تمرير ملاحظة لفريق Discourse للنظر في ابتكار طريقة أفضل لمنع إنشاء مواضيع متعددة. يجب أن يتم ذلك قبل يناير 2024. الوقت يمر بسرعة حقًا 🙂

أعتقد أنه يمكنني فعل ذلك. 🙂 👍

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [22 فبراير 2023، 8:43ص UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/18 "2023-02-22T08:43:40Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [21 نوفمبر 2023، 9:07ص UTC](https://meta.discourse.org/t/the-yearly-review-plugin-keeps-creating-new-topics/250716/19 "2023-11-21T09:07:24Z")

</div>

> [@simon](#):
>
> شكراً على المتابعة. الاعتماد على عنوان الموضوع لمنع إنشاء مواضيع مراجعة متعددة هو نهج غير موثوق به (هذا خطئي.) بمجرد انتهاء شهر يناير، لن تظهر المشكلة مرة أخرى حتى العام المقبل. @JammyDodger، ربما يمكنك تمرير ملاحظة إلى فريق Discourse للنظر في إيجاد طريقة أفضل لمنع إنشاء مواضيع متعددة. يجب أن يتم ذلك قبل يناير 2024. الوقت يمر بسرعة 🙂

تحديث بسيط، أعتقد أن هذا يجب أن يتم حله بواسطة: 🥳

> <https://github.com/discourse/discourse-yearly-review/pull/65>
>
> Checking if the topic exists by name alone isn't
> robust enough, if someone chan…ges the topic title
> then a new one will be created if the review job
> is run again.
