Планирование и публикация замещающих страниц в CMS

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

преамбула:

в настоящее время мы оцениваем различные системы управления контентом для нового проекта, мы создаем новые страницы, а также обновляем существующие страницы, например, в рамках «обслуживающей версии».

Мы будем использовать либо PHP (предпочтительно), либо C#.

Проблема:

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

В настоящее время:

У нас есть две отдельные установки и запланированные обновления страниц с использованием задания cron и PHP-скрипта, выполняющего некоторые запросы mysql — в прошлом это подводило нас в критические моменты, когда оно не запускалось.

наконец:

Вероятно, мы могли бы написать это сами, либо в нашей собственной CMS, либо в качестве плагина к существующей CMS — просто:

 SELECT latest_revision from posts_pages_table 
 WHERE publishable='yes' 
 AND max(revision_date);

но есть ли у кого-нибудь опыт этого с существующей CMS или с технической точки зрения предвидятся какие-то проблемы?

Как, например, в бэкэнде WordPress пользователь будет уверен, что он обновляет последнюю версию страницы, если она еще не стала «живой».

Мы рассмотрели все существующие CMS и поискали в Google, но планирование обновлений страниц кажется необычным явлением, поэтому полагаемся на некоторые рекомендации от надежной группы SO.

Благодарность


person Mat    schedule 28.03.2012    source источник


Ответы (2)


Если вы хорошо разбираетесь в PHP, вы можете использовать SilverStripe. Для достижения того, о чем вы просите, вы должны использовать модуль CMS Workflow.

SilverStripe CMS имеет два встроенных этапа: рабочий и черновой. Вы можете продолжать переделывать черновую версию, которая останется конфиденциальной, пока вы не будете готовы к публикации. В обычном сценарии вы бы просто нажали, чтобы жить.

Установив CMS Workflow, вы можете дополнительно выбрать дату, когда модификация должна быть запущена («эмбарго»). Это сохраняет вашу черновую версию для «позже» и отправляет в действие только в выбранную вами дату (это подключается через задание cron).

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

Эмбарго, истечение срока действия и операции публикации не влияют на URL-адрес или идентификатор страницы, поэтому все отношения остаются нетронутыми, пока вы переделываете страницу через CMS.

Использованная литература:

person Mateusz Uzdowski    schedule 29.03.2012

В Joomla есть способ сделать это из коробки, не касаясь кода. Вот как бы я это сделал -

  1. Создайте категорию для страницы, которая будет заменена
  2. Создайте пункт меню, указывающий на эту категорию. Установите его для отображения только 1 элемента, упорядоченного по самой новой дате
  3. Создайте переопределение шаблона, чтобы элемент категории отображался как страница сведений о статье.
  4. Создавайте новые статьи с датой начала публикации, которая определяет, когда они начнут отображаться.

По сути, вы бы отображали категорию, но она выглядела бы как статья. Он всегда будет извлекать самую новую статью, которая достигла даты начала публикации. Было бы легко отслеживать, потому что у вас были бы копии каждой версии, которую вы публикуете, каждое обновление, которое вы просто делали бы для редактирования.

Вероятно, вы могли бы написать что-то нестандартное, чтобы выполнить то же самое, но зачем тратить время и усилия, если это можно легко сделать с помощью переопределения шаблона?

person Brent Friar    schedule 28.03.2012