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

13.09.2007

Время от времени я леплю пельмени. В детстве часто это делал, сейчас — раз в два года, и то ради искусства. Хочу обратить ваше внимание на подход к лепке.

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

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

Так вот множество задач по регулярному наполнению сайтов можно здорово оптимизировать. Предположим, есть блог, материалы для которого готовить не сложно. Обновляться он должен ежедневно. Не многие авторы смогут на протяжении хотя бы двух недель ежедневно заставить себя публиковать материалы. Рутина ведь. В результате блог обновляется не так регулярно, как хотелось бы. Зато в день может быть и два, и три поста.

Как решить проблему? При помощи выпусков по расписанию.

Автор блога садится и за пару часов пишет штук семь заметок в один текстовый файл, не отвлекаясь на возню с CMS. Потом он добавляет материалы на сайт и указывает будущие даты публикаций. 14-ого сентября в 12 часов, 15-ого — в 18, 16-ого — в 15 и так далее. Всё, теперь автор может только отвечать на комментарии. А планировщик заданий на основе cron'а постепенно публикует запасенные материалы.

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

Интересно, что идея старая и вполне осуществима на базе некоторых CMS без малейшего программирования.

Комментарии

Валдер, 13.09.2007 23:50

Мне кажется это очень удобная система, я даже хочу применить её в своей CMS, в первую очередь потому, что не всегда бывает настроение/желание обновлять контент или же тебя просто нет на месте (дома, в городе). А так, есть настроение — написал 5-6 постов, нет настроения — посты будут добавляться по расписанию, так сказать из резерва.

Дмитрий Сергеев, 13.09.2007 23:58

В Drupal, например, все есть. Нужно только догадаться поискать модуль.

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

Валдер, 14.09.2007 00:08

Мы ставили последний клиентский проект на Drupal (программист посоветовал), сам я не знал и не сталкивался никогда с этим продуктом. Так вот, он (продукт) мне жутко не понравился, я не беру во внимание код и прочие полезные функции/модули, которые, кстати, сейчас практически в каждой CMS идут. А сделал такой вывод исходя из внешнего вида и удобства пользования. После этого, собственно говоря я и решил сделать простенькую CMS под все свои проекты, чтобы не мучаться.

Дмитрий Сергеев, 14.09.2007 00:18

Удобство -- действительно слабая сторона. Зато почти всё, о чем я только могу подумать в плане функциональности, уже реализовано. Дизайн, понятное дело, нужно свой делать, а прикручивать его легко.

Иногда лучше легкая CMS, иногда -- тяжелая. Универсальных рецептов нет :)

Валдер, 14.09.2007 00:27

Ты прав — универсальных рецептов нет. Что одному хорошо, другому смерть:).

Дим, а можешь порекомендовать какие-нибудь ресурсы/блоги по проектированию/юзабилити (русскоязычные), чтобы, как говорится всегда быть в теме? Потому что мне все это очень близко.

P.S. Ничего что я перешел на «ты»?

Дмитрий Сергеев, 14.09.2007 01:04

Конечно, ничего. Называть меня на «ты» как-то странно, мне 21 год :)

Ссылки попробую дать, но они вряд ли буду оригинальными.
* Вебмаскон,
* Статьи Usethics,
* Старые статьи Влада Головача,
* Design for masters,
* Статьи Алексея Молова (это не тебе, ты уже знаешь),
* ЖЖ-сообщество User Centered Design.

Можно еще «Ководство» вспомнить :)

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

Валдер, 14.09.2007 01:21

Спасибо за Design for masters, я мельком пробежался и мне показалось что там есть что почитать. Особенно, вечно актуальная для меня тема: «Увеличение продуктивности веб-дизайнера»:).

Дмитрий Сергеев, 14.09.2007 01:25

Жаль, там переводы в основном. Но я думаю владелец со временем будет больше своих текстов публиковать.

Дмитрий Сергеев, 18.09.2007 22:00

Ой, как же я забыл )))

robert, 14.09.2007 00:24

Сейчас у многих блоговых движков есть такая опция.. Работаю с ВордПресс (WP) и постоянно использую такую возможность.. Правда, все-равно получается большая "скученность" :) Но 2-4 заметки написать и показывать по расписанию бывает очень удобно. Хотя встречал новостные системы, которые на сайте показывают сообщения как задумано, а в RSS ленте - на дату показа внимания не обращают..

Дмитрий Сергеев, 14.09.2007 00:37

Да, про Вордпресс знаю :)

Вообще я впервые эту идею увидел на сервисах почтовых рассылок. Там тоже можно делать выпуски по расписанию. Но как-то всё не догадывался применить это к сайтам. А тут догадался :)

Юрий, 14.09.2007 19:04

Мужики, у меня вся надежда на вас. Больше знатоков юзабилити у меня знакомых нет 8(

http://rusavtobus.ru/ — новому общественно-полезному сайту требуеца пинок под зад от спеца по удобствам 8))

Спасибо за внимание )

Дмитрий Сергеев, 14.09.2007 19:09

Навстречу приключениям, говоришь :) Я попозже напишу что-нибудь.

Дмитрий Сергеев, 16.09.2007 19:12

1. Первые минуты две я думал, что расписаний на сайте вообще нет. Ссылка по стрелочке -- это совсем неочевидно.

2. Возможно, информация о перевозчике -- это то, что можно вынести на отдельные страницы, а вот время отправления я бы показывал в результатах поиска.

3. Вместо выпадающих списков я бы сделал поля с автозаполнением, как на http://weather.yandex.ru/

4. Масса мелких недочетов вроде бесполезной крупной ссылки "Задавайте вопросы по адресу" или странной формы ваши пожелания. Не могу представить, чтобы я пожелал. Даже не понятно, кому...

Решение с исчезающими/появляющимися пунктами в горизонтальном меню неудачное. Если я нахожусь на странице "Новый поиск", то пусть этот пункт меню просто не выглядит как ссылка.

Юрий, 16.09.2007 19:52

Дима, большое спасибо за комментарии 8))

Отвечу по пунктам
1. Да, ты прав, стрелки неудобны... на них мне нажаловались человек 12 за выходные... Не знаю, что и делать. Как ты считаешь, было бы логично сделать каждое слово ссылкой на маршрут?

2. Время отправления для многих маршрутов состоит из 7-8 строк. Может, и многовато для предпросмотра, но попробую. Пожалуй, название компании действительно не очень полезно на этом этапе 8)

3. Искал по инету толковый скрипт автозаполнения — не нашел хорошего 8( Если ты знаешь, где такой откопать — я буду очень благодарен обратными ссылками и человеческим спасибом 8)))

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

5. И вправду, лучше уж серым выделять.

Еще раз большое спасибо за взгляд со стороны. А то когда сам закопаешься в коде — на многие вещи не обращаешь внимания 8)

Дмитрий Сергеев, 16.09.2007 20:08

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

С автозаполнением много вариантов. Очевидный с аяксом -- на базе script.aculo.us.

Но поскольку тебе аякс здесь не нужен, посмотри вариант с легким JS.

Юрий, 16.09.2007 21:05

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

2. Аякс как раз нужен, ибо база городов постоянно обновляется 8) Вариант scriptaculous я видел, но меня почему-то отпугнуло то, что там целую библиотеку какую-то надо ставить. Но, видать, надо ставить, раз столько людей юзает 8))

Дмитрий Сергеев, 16.09.2007 21:59

1. Это задача дизайнера :) Я бы посмотрел, как сделано на других сайтах (лучше на иностранных). Может быть, имеет смысл делать ссылку только по пункту назначения. Это надо на людях проверять.

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

В принципе использовать scrip.aculo.us целиком не обязательно. Реализации XMLHTTPRequest (?) есть очень легкие.

Юрий, 16.09.2007 22:29

Да, вторая волна поиска выявила это: http://www.anieto2k.com/2006/11/11/recopilacion-de-autocomplete-y-suggest/ . Хоть и совсем не по-нашенски, но можно понять, куда ведут заветные ссылки 8)))

Никита Козин, 19.09.2007 07:57

Я в модуле статей/новостей для своей системы использовал такой подход — при выборке данных из базы выбираются только те статьи, у которых дата публикации меньше или равна текущей. Таким образом при публикации материала нужно всего лишь указать дату больше текущей.

Дмитрий Сергеев, 19.09.2007 14:39

Вот это здорово. Даже cron не нужен. И недостатков на первый взгляд не видно.

Kyхa, 15.03.2008 09:22

Недостаток один - лишнее условие в запросе.
Для мало-средних сайтов в долю не падает.

Дмитрий Сергеев, 15.03.2008 12:17

MySQL query cache?