Посты с тагом баги
11
мая
2008

Приручаем Орфус

Развлечением вчерашнего вечера (а заодно и информационным поводом для этого поста) стала имплантация в paradigm.ru системы выявления ошибок Orphus. Процесс прошел успешно, хотя и не так гладко, как предполагалось.

В последней версии Орфуса появилась возможность комментировать найденные ошибки, для чего по нажатию Ctrl-Enter в середине страницы появляется форма с текстовым полем. И все бы хорошо, но она позиционируется не в середине клиентской области окна браузера, а в геометрическом центре страницы. Соответственно, если страница длинная, вертикальный скролл неуместно передергивается при передаче фокуса в строку ввода.


Скриншот с форума, на котором окно орфуса появилось за пределами видимой области страницы

Глюк описан на форуме и, по всей видимости, происходит не всегда, а только при наличии каких-то особенностей в коде страницы. Готового решения там я не нашел, поэтому пришлось ковырять код самому (при всей моей нелюбви к JavaScript).

По ходу дела выяснилось, что Орфус — совсем даже не опен сорс и его код обфусцирован до почти полной нечитаемости. В результате, вместо того чтобы все по-человечески исправить, моего терпения хватило только на quick and dirty patch: добавил в начало две функции для правильного определения координат и использовал их при позиционировании.

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

Не имею понятия, можно ли распространять видоизмененный Орфус, поэтому ссылку на починенную версию приведу здесь только для демонстрации (: (все права разработчика сохранены). В ближайшее время отпишу автору. Будем надеяться, в следующей версии доработка надфилем уже не понадобится.

Ссылки по теме

  • Грамотность on-line, или Использование системы Orphus — статья про Орфус в «Куроводстве» Дмитрия Котерова.
  • Cross Browser Window Size And Centering — две неплохие функции на JavaScript, одна из которых определяет размеры окна, а другая — находит координаты центра. Работают вроде бы во всех актуальных версиях главных браузеров.
14
марта
2008

Исправляем пермалинки в RSS Нанограббера

Есть в Нанограббере один мелкий баг: в RSS-фидах неправильно проставляются постоянные URL постов. Пермалинки должны выглядеть так: http://nano.paradigm.ru/images/54. А на деле выглядят так — http://nano.paradigm.ru/image/54 (аналогично text вместо texts, quote вместо quotes и video вместо videos). В итоге посетители, заходящие на сайт по таким неправильным пермалинкам, попадают на главную страницу, а не на индивидуальную страницу нужного поста.

Для того, чтобы исправить баг, нужно открыть файл /lib/nanorss.php, и в строке 152 выполнить изменение, показанное красным цветом:

$link = $site_url.$type_name.'s/'.$posts['posts'][$i]['id'];

Ну или просто скопировать туда этот код. О том, что всегда полезно делать резервные копии, я напоминать не буду. Вот, собственно, и все. Теперь пермалинки будут генерироваться правильно.

Багрепорт на эту тему уже написан, так что в следующем релизе ждем официальный фикс (: