Планирование и публикация замещающих страниц в CMS - PullRequest
1 голос
/ 28 марта 2012

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

Преамбула

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

Мы будем использовать либо 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-толпы.

спасибо

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

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

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

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

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

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

Список литературы:

1 голос
/ 28 марта 2012

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

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

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

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

...