Flight404
@Flight404
начинающий PHP - программист

Как реализовать логику работы нескольких модераторов в новостном разделе сайта?

Есть сайт, на нем авторы предлагают новости. Модераторы проверяют их и либо публикуют, любо отклоняют, так же имеют возможность удалить, редактировать и т.д . Суть вопроса состоит в том как спроектировать параллельную работу N количества модераторов, что бы не возникало конфликтов между ними. Например, модератор 1 внес поправеу А, модератор 2 внес в эту же запись поправку Б, модератор 3 вообще решил удалить запись. Кто из них в таком случае имеет приоритет? И как вообще такие вещи работать должны?
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ответы на вопрос 5
@Arik
1. Когда модер забирает в работу, то ставить метку (блок) чтоб другой не взял, для удобства можно юзать timestamp+id-модера
2. Если контента много, то можно аяксом пинговать что какой-то модер не закрыл материал (страницу) и продлевать время блока

или не так понял вопроса?
Ответ написан
sim3x
@sim3x
Как заблокировать одновременное редактирование записи в БД на laravel?

Post
  id
  user_creator = FK(user)
  is_visible

PostVersion
  id
  post = FK(Post)
  user_editor = FK(User)
  title 
  text
  is_current
  datetime
Ответ написан
@spaceatmoon
Если вы не хотите пинговать и лишний раз нагружать сервер, то можно поступить как Redmine. Очень простая и действенная система.

При отправке формы с изменениями там отправляется на сколько я помню еще дата начала редактирования/открытия страницы и если между этой датой и текущем времени произошли изменения, то запись блокируется и выводится несколько вариантов как поступить с вашими изменениями.
Ответ написан
Therapyx
@Therapyx
Data Science
Дать статьям банальный статус - Новый, модерируемый (кем), отредактируемый (кем, когда, что). Не важно какую логику именно - это решать вам.
Насчет вашего сценария - такого не должно происходить вовсе. И главная цель, банально избежать этих юзкейзов. А это как уже в комментах уже и писали - блоки как и в паралельном программировании.
Можно сделать еще по-другому. Модератор "Х" имеет право редактировать все кроме статуса модерируемый.

- Что если модератор А и Б в одно и тоже время пытаются взять 1 и туже статью? Тут уж придется делать запросы статуса статьи на подобии кнопочки "принять", в таком случае коллизий не должно случится.
Ответ написан
Комментировать
Разбрасывать посты по модерам рандомно. Модераторы видят только свои посты.

Дать возможность отказа от модерации поста. Возврат поста в общий пул с переадресацией другому модератору с меньшим числом постов. Сдесь есть возможность, что посты будут гулять между модераторами по кругу.

Создать возврат авто переадресации поста, если модератор его не открывал, после определенного времени. Это как предыдущее но без воли модератора.

Дать возможность создания тикита поста по постам модерированым другим модератором.
И прочие усложнения.

При этом всём можно получить статистику об активности модераторов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы