Недавно очень захотелось получать информацию об изменениях в проекте через RSS-ленту. Т.к. вся основная работа у меня ведется через Outlook 2007, то и информацию необходимо получать в него же.

Первая мысль, которая пришла в голову, просто скормить ссылку на RSS-ленту Outlook’у, но т.к. доступ анонимным пользователям в Trac у нас запрещен то Outlook выдал:

Outlook не удалось обработать содержимое RSS из http://trac.myproject.com/timeline?ticket=on&ticket_details=on&changeset=on&milestone=on&wiki=on&max=50&daysback=90&format=rss Возможно, эта ссылка не указывает на допустимый источник RSS.

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

Вторая мысль, совсем страшная: сделать Timeline доступным для всех и тогда можно было бы, читать его любой RSS читалкой, но при установке прав для не авторизированных пользователей (пользователь anonymous) TIMELINE_VIEW. Я увидел пустой Timeline. Оказалось, для того, что бы там что-то выводилось, нужно еще выставлять права TICKET_VIEW и т.д., что уже совсем никуда не годится.

Решение

  1. Ставим плагин для Trac — HttpAuthPlugin (он нам нужен для того, чтобы Trac сразу спрашивал у нас логин и пароль, а не показывал страницу с надписью «TIMELINE_VIEW privileges are required to perform this operation»), не забываем его активировать в Admin через Web-интерфейс.
  2. Заходим в Internet Explorer (должен быть не меньше 7 версии) на страницу которую мы хотим читать в RSS и жмем иконку RSS, дальше нажимаем «Подписаться на этот канал», в появившемся окне нажимаем «Подписаться». Дальше нажимаем «Сервис» -> «Панели Internet Explorer» выбираем «Веб-каналы» или Ctrl+Shift+J. Выбираем только что добавленный канал, нажимаем правую кнопку мыши и выбираем последний пункт «Свойства». Дальше мы видим кнопку «Настройка», нажимаем на неё и вводим логин и пароль (пользователя) из Trac. Нажимаем «Ok». После этого Internet Explorer нам все-таки не даст просмотреть RSS, т.к. он не хочет передавать пароли через не зашифрованное соединение (в принципе, он отчасти прав) «Internet Explorer не удалось отправить сведения об имени пользователя и пароле на этот сервер вследствие параметров политики безопасности.»,  это исправимо путем правки политики безопасности, но у нас другая задача.
  3. Открываем Outlook нажимаем «Файл» -> «Импорт и экспорт…», в открывшемся окне выбираем 1-й пункт «Импорт RSS-каналов из списка общих каналов», нажимаем  «Далее», выбираем добавленный нами канал, нажимаем «Далее» и «Готово»

Теперь мы можем читать RSS-ленты из Trac в Outlook