Каталог сайтов на MODx

Практически для всех для всех CMS есть подобные каталоги. MODx не исключение. Многие наверное знают про каталог http://modx.ru/sites/, что не удивительно, ведь там уже 1262 сайта. Но как мне кажется реализация не совсем удачная, т.к. модераторы в том каталоге ручная модерация сайтов + нет таких главных параметров, как версия MODx, тематика и т.п.


Помимо этого, у нас на сообществе есть блог сайты на modx, который начинает набирать поулярность и там уже порядка чуть больше 80 топиков. Но это все не то. Хотелось чего-то более функционального, легкого и полезного.
Так родилась идея сделать сайт Сайты на MODx. Собственно сказал, сделал. На то, чтобы сделать прототип будущего каталога ушло не так много времени, а вот допилы (юзабилити, мелкие баги и т.п.) еще в процессе.

Пока делался прототип каталога, идеи по развитию и прикручиванию плюшек рождались в геометрической прогрессии. Так, например, в планах поставить авторизацию и комментарии, добавить голосование за сайты, кнопочки пожаловаться и т.п. Т.к. проект не коммерческий и делается для себя (и для сообщества в том числе), то реализовать все придуманое получится не раньше чем через 1-2 недели. А запустить проект уже хотелось бы сейчас.

Основной функционал уже работает (добавление сайта, вывод сайтов, обзор сайта), хотя и могут быть огрехи, которые я надеюсь вы поможете мне выявить. Но и это не главное, о чем я хотел рассказать в топике. Как я уже говорил, главный недостаток каталога http://modx.ru/sites/ — ручная модерация. Я же хотел сделать модерацию автоматическую, т.е. в момент добавления сайта в каталог проверяется действительно ли сайт сделан на MODx. Большинство (если не все), встречали сервис http://2ip.ru/cms/. Вот и тут планируется нечто похожее. Именно над этим вопросом я сейчас и работаю. А пока я это делаю вы уже можете приступить к тестам и получать бэклинки (я специально оставил ссылки открыми для индексации, чтобы хоть как-то отблагодарить сайт добавляемый в каталог):-)

Добавление сайта в каталог происходит по следующей схеме
Заполняется форма
— Происходит валидация формы. Проверка сайта на доступность и т.п. плюшки типа автоматической проверки CMS. Тут же планируется добавить автоматическую проверку CMS (чтобы принять в каталог сайты только на MODx)
— Создается неопубликованый документ по данным формы и генерируется скриншот сайта при помощи сервиса www.s-shot.ru/. Если добавляемый сайт уже есть в базе, то документ создан не будет и дальнейшие действия пропускаются. Если сайт недоступен, то опять таки документ не создается и дальнейшие действия пропускаются. Все это дело сопровождается соответствующими уведомлениями.
— В базу добавляется новый заблокированный пользователь с логином=email и случайным паролем (для того, чтобы не пришлось регистрироваться после того, как я добавлю форму комментариев). Если пользователь с таким e-mail уже есть в базе, но он не активирован, то срок блокировки продляется. Если пользователь активирован, то данный шаг пропускается.
— На почту уходит письмо с ключом активации сайта (может попасть в спам). По этому же ключику происходит активация пользователя (сброс блокировки), если он заблокирован.
— Воспользовавшись ссылкой в письме сайт будет активирован (и пользователь будет перенаправлен на страницу с описанием сайта). Если активацию произвести не удалось, то появится соответствующее уведомление.
— Теперь можно комментировать другие сайты каталога. Подробнее про систему комментирования я расписал ниже.

P.S. Ну и кому интересно, то сайт работает на modx evolution 1.0.6. Форма добавления сделана при помощи eform.

Добавляем сайт, тестируем, сообщаем о багах.

5 комментариев

avatar
кинул пару-тройку своих сайтов)

он на evo работает?
Комментарий отредактирован 2013-07-16 00:09:39 пользователем Fr3ddy
avatar
Да, на Evo
avatar
почему-то думал, что на каждого юзера можно добавлять свои сайты) вот и возник вопрос: как была реализована привязка сайтов к пользователю :) очень актуальная тема для evo.

посмотрев ещё раз сайт, увидел только форму) наверное ступил)
avatar
На самом деле привязка имеется. Нужно лишь авторизоваться на сайте воспользовавшись кнопкой восстановить пароль.
А реализовано все довольно примитивно. TV параметр для служебных целей, который нигде не фигурирует и в котором хранится ID веб-пользователя добавившего сайт. Выборка нужных сайтов происходит при помощи нехитрого SQL запроса.
avatar
жаль, что проект умер.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.