Typo — Drupal 7 модуль для борьбы с опечатками на сайте

Вс, 16/09/2012 - 14:48

Разработал новый модуль для Drupal 7, который позволяет пользователю выделить мышью найденную в тексте опечатку и нажатием Ctrl + Enter отправить сообщение о ней администратору сайта. Модуль не зависит от внешних сервисов типа Орфуса и тесно интегрирован с популярными модулями Друпала такими как Rules, Token, Views и Views bulk operations.

Интеграция с модулями Rules и Token, позволяет, например, настроить отправку сообщений о найденных ошибках по е-мейлу, в системный журнал или вызвать любое другое действие, доступное в модуле Rules. С помощью токенов [typo:url], [typo:text] и [typo:comment] в текст сообщения можно включить информацию об опечатке.

Интеграция с Views позволяет сделать вывод списка ошибок на странице, в комплекте с модулем уже идет настроенное представление, а интеграция с Views bulk operations позволяет удалять из этого представления обработанные сообщения.

По умолчанию, все сообщения старше 3 дней автоматически удаляются, но это действие можно отключить в настройках модуля.

Popup-окно с формой отправки опечатки выводится модулем Ctools и его вид может быть изменён как правкой CSS-файла, так и правкой соответствующего tpl-файла. Ctools — это единственная зависимость модуля, остальные модули (Rules, Views, etc) нужны только если вы хотите использовать соответствующий функционал.

Скачать модуль можно на странице проекта: http://drupal.org/project/typo.

Испытать этот модуль вы можете на моем сайте, список отправленных отчетов об опечатках доступен всем посетителям здесь: http://romka.eu/typo-reports (на реальном сайте доступ к этому представлению анонимам лучше не давать).

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

P.S.

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

0 Спасибо

Комментарии

Аватар пользователя fairwind
4 года 7 months назад fairwind #

о, полезно. в закладки!

0 Спасибо
Аватар пользователя iNFerNo
4 года 7 months назад iNFerNo #

баги есть. поюзал и отключил....

один из юагов - - закрыть нельзя.... сразу. а если закрывается... еще раз на это же странице не выделяет ничего.... квадрат белый...

0 Спасибо
Аватар пользователя iNFerNo
4 года 7 months назад iNFerNo #

о сейчас уже вроде без этих юагов. нежели 1-2 недели назад.

0 Спасибо
Аватар пользователя iNFerNo
4 года 7 months назад iNFerNo #

при удлание косяк

   #2: Суууууоff &<s trong> Thetrixx</s trong>

код стронг а не выделение текста

0 Спасибо
Аватар пользователя Ромка
4 года 7 months назад Ромка #
iNFerNo написал:
при удлание косяк

   #2: Суууууоff &<s trong> Thetrixx</s trong>

код стронг а не выделение текста

Это не баг моего модуля, а особенность Друпальской функции confirm_form. Не считаю такое поведение багом, так как в реальных условиях выводиться эта форма должна только модераторам/администраторам и вреда от такого отображения заголовка нет.

0 Спасибо
Аватар пользователя iNFerNo
4 года 7 months назад iNFerNo #

Ну не красиво все равно. Можно хотя бы убрать этот стронг раз уж не умеет функция выводить его?

0 Спасибо
Аватар пользователя Plazik
4 года 7 months назад Plazik #

Всплывающая форма не отправляется по Enter :(
А за модуль спасибо!

0 Спасибо
Аватар пользователя Ромка
4 года 7 months назад Ромка #
Plazik написал:
Всплывающая форма не отправляется по Enter :(
А за модуль спасибо!

Попробую что-нибудь придумать...

0 Спасибо
Аватар пользователя Fr1eNd
4 года 7 months назад Fr1eNd #
iNFerNo написал:
Ну не красиво все равно.

Вам шашечки или ехать?)))

А так модуль не плох, надо сравнение с орфусом. По возможностям и скорости работы. А может вообще на уровне темы такие вещи интегрировать.

0 Спасибо
Аватар пользователя Ромка
4 года 7 months назад Ромка #
Fr1eNd написал:
А может вообще на уровне темы такие вещи интегрировать.

На уровне темы? В модуле же не только всплывающее окошко сделано, но и форма, работа с базой, интеграция с вьюсами, рулсами и т.д. Нет, только на уровне темы такой функционал делать нельзя.

0 Спасибо
Аватар пользователя iNFerNo
4 года 7 months назад iNFerNo #

Для начала ехать. 2 недели назад не ехал. Теперь едет. Хочется и шашачу. =))

0 Спасибо
Аватар пользователя Chyvakoff
4 года 7 months назад Chyvakoff #
Fr1eNd написал:
По возможностям и скорости работы.

Возможности, думаю, автор описал. Нет интеграции разве что с триггерами.Но от них, слышал, решили отказаться и не поддерживать в дальнейшем.
Будет возможность пользователю в своём профиле посмотреть список отправленных им багрепортов?С возможностью их удаления? Это по сути просто вьюс + VBO... А есть право на просмотр "своих" багрепортов?

0 Спасибо
Аватар пользователя iNFerNo
4 года 7 months назад iNFerNo #

можно отфильтровать вьюху по текущего юзера...

а удалять должен админ-редактор.

0 Спасибо
Аватар пользователя iNFerNo
4 года 7 months назад iNFerNo #

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

было бы хорошо что бы если выделяют тизер ссылка была бы на ноду еще...

0 Спасибо
Аватар пользователя rodman1980
4 года 7 months назад rodman1980 #

Супер
Немного не красиво вызывать в шаблоне - drupal_render(drupal_get_form('typo_report_form'));
Все таки рендер правильнее добавить через template_preprocess.
В typo_views_data() для поля "created" выбраны views_handler_sort и views_handler_argument_string.
Почему не views_handler_argument_date и views_handler_sort_date.

0 Спасибо
Аватар пользователя Ромка
4 года 7 months назад Ромка #
rodman1980 написал:
Супер
Немного не красиво вызывать в шаблоне - drupal_render(drupal_get_form('typo_report_form'));
Все таки рендер правильнее добавить через template_preprocess.
В typo_views_data() для поля "created" выбраны views_handler_sort и views_handler_argument_string.
Почему не views_handler_argument_date и views_handler_sort_date.

Спасибо за ревью :)

Хендлер поменяю. Скорее всего просто неглядя скопипастил и забыл подправить.

Друпал_рендер тоже уберу из шаблона.

0 Спасибо
Аватар пользователя Ветер
4 года 7 months назад Ветер #

Интересный модуль.

0 Спасибо
Аватар пользователя artyomalin
4 года 7 months назад artyomalin #

Спасибо за модуль! Что-то у меня в Rules не появилось правило о новой ошибке, хотя в файлах модуля typo.rules.inc есть, будем смотреть ...

0 Спасибо
Аватар пользователя Ромка
4 года 7 months назад Ромка #
artyomalin написал:
Спасибо за модуль! Что-то у меня в Rules не появилось правило о новой ошибке, хотя в файлах модуля typo.rules.inc есть, будем смотреть ...

Правило и не должно было появиться. Его вы должны создать руками. Появиться должен был event (событие) в настройках правила.

0 Спасибо
Аватар пользователя RedRat
4 года 7 months назад RedRat #

А для 6-ки версия планируется?

0 Спасибо
Аватар пользователя Ромка
4 года 7 months назад Ромка #
RedRat написал:
А для 6-ки версия планируется?

Да, планируется, но по срокам сориентировать не могу. Хочу сначал допилить эту версию до стабильного сосотяния, потом сделаю бэкпорт.

0 Спасибо
Аватар пользователя Stepanisk
4 года 2 months назад Stepanisk #

Было бы хорошо добавить в настройки ссылку по которой можно запустить форму отправки.

Это пригодилась бы для планшетов и смартфонов. Чтобы выделять текст и нажимать на ссылку

Пример: "Если вы встретили в тексте опечатку. Выделите ее мышкой и нажмите Ctrl + Enter или по этой ссылке".

0 Спасибо
Аватар пользователя sergldom
1 год 5 months назад sergldom #

Здравствуйте.
сайт http://softnastroy.com/
Работал модуль, работал, теперь обнаружился баг, при нажатии отправить вываливается ошибка: ошибка прикреплена в файле, так как не работает вставка кода.

Само письмо уходит нормально, напрягает только вываливающееся окно.

0 Спасибо
Аватар пользователя sergldom
2 года 12 months назад sergldom #

Проблема решена, оказалось забыл убрать галочку Включить отладку в настройках модуля SMTP.

0 Спасибо
Аватар пользователя RedRat
2 года 12 months назад RedRat #

А вот реальная ошибка: если модальное окно закрыть не по ссылке "Закрыть", а нажатием Escape, то при попытке ещё раз отправить сообщение об ошибке модальное окно появляется пустым. Проверено в последнем FF, лечится перезагрузкой страницы.

0 Спасибо