Объявление

Хотите приглашение на сайт? Пишите: niikto@samovarchik.info


 

Re: Черновики тем

В движок планируется включить такую полезную вещь как черновики тем.

Возможно есть смысл ограничить такую возможность только блогами и статьями (нужны ли еще и форумы?). Однозначно не нужны черновики комментариев к файлам и галерей.

Черновики ответов к чему-либо считаю не нужными. Да и в большинстве случаев, за исключением разве что полных ответов, претендующих на то, чтобы быть отдельной статьей, они бессмысленны: либо кто-нибудь уже выскажет схожую мысль, либо пользователь сам забудет про сохраненный черновик, либо ответ станет не актуальным по прошествии времени.

Возникли разночтения в том, как должны быть реализованы черновики. Поэтому ниже опишу все варианты.

Мы нажимаем "создать тему", пишем сообщение, в какой-то момент возникает необходимость прерваться и сохранить изменения, жмем на "сохранить в черновики", и после этого сообщение сохраняется...

...в отдельной таблице

Черновики представляют собой отдельную сущность.

Почему мне нравится этот подход:

  • Черновики сразу исключаются из результатов поиска по сайту

  • Мы можем в одной строке одной таблицы хранить атрибуты, присущие как теме (таблица topics) так и сообщению (таблица posts), и при этом исключить лишнюю информацию (например, количество просмотров и ответов, последнее сообщение в теме и т.д.)

  • Т.к. черновик заранее привязан к конкретному пользователю, то проверка есть доступ/нет доступа сводится к проверке id пользователя. И такая проверка необходима лишь в местах, непосредственно работающих с черновиками (profile.php, post.php, edit.php)

  • Лично мне кажется более естественным подход, когда после публикации черновика, он перестает быть черновиком и является полноценной статьей. Статью позже можно дополнять и исправлять. И прятать ее вновь в черновики мне кажется нелогичным.

... как отдельный тип контента

Мы создаем отдельный тип контента, который имеет особый путь доступа (как, например, комментарии к файлам).
Предполагается возможность тему сделать вновь черновиком.

Подводные камни:

  • Нужно позаботиться об исключении всех черновиков (и комментариев к ним) из поиска по сайту.

  • Необходимо где-то хранить дополнительную информацию, в какую доску переместить черновик при публикации (физически он будет располагаться в доске черновиков).

  • Что делать со счетчиками сообщений у пользователей успевших ответить на тему до того, как она вернулась в состояние черновика?

  • Позаботиться о запрете доступа к черновикам другими пользователями.

  • Предусмотреть средство для админа по работе с черновиками, оставшимися от удаленного пользователя.

... обычную тему с пометкой "черновик"

Для каждой темы мы добавляем свойство "черновик/не черновик".
Черновики сохраняются также как и обычные темы, только имеют особую пометку.
Предполагается возможность тему сделать вновь черновиком.

Подводные камни:

  • Нужно позаботиться об исключении всех черновиков (и комментариев к ним) из поиска по сайту.

  • Учитывать черновики при обновлении счетчиков (количество тем/сообщений доски, количество сообщений пользователя). Кроме того, что делать при переносе темы обратно в черновики - уменьшать количество сообщений у доски и у пользователя(лей)?

  • Позаботиться о запрете доступа к черновикам другими пользователями.

  • Предусмотреть средство для админа по работе с черновиками, оставшимися от удаленного пользователя.

  • Что делать с черновиками в доске, которую по какой-либо причине удаляют? (в двух других случаях черновик физически лежит вне такой доски, а значит пользователь может просто самостоятельно выбрать новую доску в момент публикации)

  • Все-равно потребуется отдельный инструмент для самого пользователя, чтобы видеть все свои черновики. Кроме того, думаю будет логично, если даже сам пользователь не будет видеть своих же черновиков в досках, куда он их собирался постить

_________________________________

Во всех трех случаях также возникает вопрос, должен ли админ видеть черновики?
Теоретически - нет.
Но если в первом случае с этим не возникает вопросов, то во втором и третьем вариантах такой подход противоречит правилу: админ может видеть все темы на сайте.

Re: Черновики тем

посовещавшись с Юрой решили:
1) надо делать отдельную таблицу для хранения черновиков ПОСТОВ(и тем), и можно хранить хоть 20 вариантов постов, для истории и возможности трезво судить.

2) лучше не давать возможность скрыть тему в черновик ПОСЛЕ её публикации - правьте в реальном времени и не стесняйтесь факта правки.

 

Дизайн сайта отсутствует
оформление: Группа «САМОВАРчик»

[ Сгенерировано за 0.013 сек, 8 запросов выполнено - Использовано памяти: 1.88 MiB (Пик: 1.93 MiB) ]