Trac

python

3-й питоне не поддерживается, mod_python сказано не использовать - хотя в пошаговых упоминался mod_python3

Для работы с mysql
 * Установка

Поставил databases/py-MySQLdb (Access a MySQL database through Python) make install clean -C /usr/ports/databases/py-MySQLdb

Оставил по умолчанию.

SilverCity "is a lexing package, based on Scintilla, that can provide lexical analysis for over 20 programming and markup languages". Can be used for TracSyntaxColoring. Starting with Trac 0.11, we recommend using Pygments instead.

subversion нужно поставить

make rmconfig clean install clean -C /usr/ports/www/trac Опции по умолчанию - поддержка subverison rcs (тут про svn речь?)

Создать базу http://trac.edgewall.org/wiki/MySqlDb

rehash mkdir /var/www/trac trac-admin /var/www/trac initenv tracd --port 8000 /var/www/trac --hostname=192.168.0.250
 * 1) имя проекта указать
 * 2) mysql://tracuser:fdfsdfsdfsfds@localhost/trac

результат установки Copying Trac-0.12.2-py2.6.egg to /usr/local/lib/python2.6/site-packages Adding Trac 0.12.2 to easy-install.pth file Installing trac-admin script to /usr/local/bin Installing tracd script to /usr/local/bin

tracd --port 8000 --basic-auth=trac,/var/www/.htpasswd,buzzzz /var/www/trac/ --hostname=192.168.0.250 -d
 * Авторизация

trac тут это название директории с проектом. важен порядок ключей в строке - иначе не будет работать. ключ -d тоже нужен иначе даже при детаче посредством & будет закрываться после отключения терминала.

Права администратора (это раньше было в плагине webadmin) trac-admin /var/www/trac permission add leksey TRAC_ADMIN

Удаление анонимного доступа - пользователь anonymous с BROWSER_VIEW CHANGESET_VIEW FILE_VIEW LOG_VIEW MILESTONE_VIEW REPORT_SQL_VIEW REPORT_VIEW ROADMAP_VIEW SEARCH_VIEW TICKET_VIEW TIMELINE_VIEW WIKI_VIEW

Настройка
vi /opt/trac/il-14/conf/trac.ini

Чтобы в выборках не разбивалось на страницы по 100 элементов [report] items_per_page = 200

Размер загружаемого файла по умолчанию 256.0 KB):

В разделе [attachment] изменить max_size = 262144 => max_size = 10485760

В разделе [wiki] параметр, отвечающий за максимальный размер страницы в байтах. Его изменять не требуется.

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

Поэтому надо править еще одно значение [mimeviewer] max_preview_size = 10485760

Image(ticket:20:podstavki_big_image.jpg,1000px)
 * Вставка изображений

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

Внешнее изображение Image(http://img-fotki.yandex.ru/get/4907/vulkan-avia.79/0_63063_9f8abd15_XL.jpg)

Внешнее со ссылкой на большую копию Image(ticket:20:podstavki_big_image.jpg,1000px) Image(http://img-fotki.yandex.ru/get/4907/vulkan-avia.79/0_63063_9f8abd15_XL.jpg,link=http://img-fotki.yandex.ru/get/4907/vulkan-avia.79/0_63063_9f8abd15_orig)


 * http://tushinec.ru:8000/il-14/wiki/WikiFormatting#Images
 * http://tushinec.ru:8000/il-14/wiki/WikiMacros

Отображение
Чтобы email-ы показывались без обрезки show_email_addresses = true

Нужно активировать плагин соответствующий в настройках - TicketDeleter. После этого у админов появляется кнопочка Удалить внутри тикетов, рядом с кнопочками Ответить.
 * Удаление тикетов

По умолчанию в хронолгии не показываюся добавление комментариев к тикетам, загрузка изображений.
 * Хронология

Поэтому надо в конфиге в разделе Timeline и тогда появится флажок Обновления карточек ticket_show_details = true

http://trac.edgewall.org/wiki/TracNotification
 * Уведомление

smtp_enabled = true

Изменить следующие значения always_notify_owner = true always_notify_reporter = true always_notify_updater = true (по умолчанию true)

Если есть задача получать все уведомления, в том числе о новых тикетах, то надо прописать нужные адреса явно в следующем параметре smtp_always_bcc = ddd1@mail ddd2@mail

restrict_owner=true
 * Выбор владельцев из списка, а не ввод их вручную

Убрать текст вместо заголовка, если его нет alt = (please configure the [header_logo] section in trac.ini)
 * Логотип

Если размеры не указаны не будет отображатсь. Файл класть надо в htdocs, что воспринимается по site/. Если ссылку не задать, будет на справку.

 [header_logo] alt = height = 157 link = http://tushinec.ru:8000/il-14/report/7 src = site/il14logo.jpg width = 351 

[components] trac.wiki.web_ui.wikimodule = disabled
 * Отключить штатную вики

компонент по умолчанию изменить с вики, на оставшееся [trac] default_handler = TimelineModule

Увеличить по умолчанию выводимое количество дней default_daysback = 60 Выключить ограничение на количествовыводимых дней (по умолчанию 90) max_daysback = -1
 * История изменений

Установка плагина TracWebAdmin

1. Чтобы устанавливать плагины для trac`а - нам нужен пакет "python-setuptools" : sudo apt-get install python-setuptools 2. Переходим в папку, где лежат trac-плагины : cd /usr/share/trac/plugins 3. Будем ставить TracWebAdmin из svn-репозитария : sudo svn co http://svn.edgewall.org/repos/trac/sandbox/webadmin/ 4. Переходим в папку с webadmin`ом и собираем его установочный egg-файл : cd webadmin sudo python setup.py bdist_egg 5. Переходим в папку со свежеиспеченным установщиком командой... cd /usr/share/trac/plugins/webadmin/dist ...выводим создержимое папки...

http://trac-hacks.org/

http://trac-hacks.org/wiki/AnnouncerPlugin



Изменение внешнего вида - указать путь к шаблонам, переименовать файл templates/site.html и добавить туда

   Please make sure to search for existing tickets before reporting a new one!  ${select('*')} 

Не работает если не sqllite используется
 * Резервное копирование

Unlike plugins installed per-environment, you'll have to explicitly enable globally installed plugins via trac.ini. This also applies to plugins installed in shared plugins directory, i.e. the path specified in the [inherit] plugins_dir configuration option.
 * Плагины

This is done in the [components] section of the configuration file, for example:

[components] tracspamfilter.* = enabled

The name of the option is the Python package of the plugin. This should be specified in the documentation of the plugin, but can also be easily discovered by looking at the source (look for a top-level directory that contains a file named __init__.py.)

Note: After installing the plugin, you need to restart your web server.

На тикеты можно ссылаться просто решетка+номер, #67 - автоматом получается ссылка. А вот на тикет и комментарий в нем посложнее - comment:15:ticket:23. Это будут относительные ссылки, а не абсолютные.
 * Использование

Что даст большую гибкость если трак будет перенесен с http://tushinec.ru на другую ссылку.

Создание второго проекта
mkdir il-14-penguin trac-admin /opt/trac/il-14-penguin/ initenv

Please enter the name of your project. This name will be used in page titles and descriptions.

Project Name [My Project]> il-14-penguin

Ни на что не влияет - будет в списке траков выводится и в заголовке окне. Please specify the connection string for the database to use. By default, a local SQLite database is created in the environment directory. It is also possible to use an already existing PostgreSQL database (check the Trac documentation for the exact connection string syntax).

Database connection string [sqlite:db/trac.db]>

Изменение прав. По умолчанию все пользователями являются. После этого добавляется пункт Admin в меню. trac-admin /opt/trac/il-14-penguin/ permission add leksey TRAC_ADMIN

Запуск несколькоих траков - в строку запуска нужно дописать только строчку описывающую трак: текст в мессаджбоксе, путь до файла паролей,директория??, директория, в которой сказали init --basic-auth=il-14-penguin,/opt/trac/il-14/htpasswd,il14tracpenguin /opt/trac/il-14-penguin/

Процесс python завершить. ps -auxww | grep python

Запустить повторно с новой строкой /usr/local/bin/python /usr/local/bin/tracd --port 8000 --basic-auth=il-14,/opt/trac/il-14/htpasswd,il14tracwelcomeagain /opt/trac/il-14/ --basic-auth=il-14-penguin,/opt/trac/il-14/htpasswd,il14tracpenguin /opt/trac/il-14-penguin/ --basic-auth=repair_stock,/opt/trac/il-14/htpasswd,repair_stock /opt/trac/repair_stock/ --hostname=89.250.1.6 -d

Доработки и пожелания

 * Закрыть по умолчанию блок attachments
 * Включить по умолчанию в time line флажок Ticket updates
 * Изменить формат присылаемых при рассылке писем следующим образом http://tushinec.ru:8000/il-14/ticket/113
 * Нотификации об изменениях в вики

trac attachments display


 * ключевые слова и копию уберём?
 * а нельзя его назвать "ответственный или исполнитель" ?
 * кстати, по трекеру Ил-14 я предлагаю сделать доступные отчёты такие же как и в трекере Aviamap,  только "Открытые тикеты с делением на версии" назвал бы "Открытые тикеты с делением по системам"
 * все в HTML-запихивать. т.е. не только етксты, но и фотографии.
 * давайть управлять тем что будет присылаться, а что нет. кому-то только важные изменения. или даже типа дайжестов, а не в письмо в момент после того как действие произведено
 * просмотр аттачментов (фотографий), загруженных в тикеты. в одном месте. типа галереии. под аттачем ссылка на тикет, в который он подгружен
 * список что нового - для просмотра новых сообщений по типу форумов. насколько реально?
 * вставка видео (внедрение в страницу), сейчас только ссылка
 * редактирование комментов. большие куски текста + и вставка ссылок, аттачей
 * уведомление об изменении владельца присылать только новому владельцу, а не всем

Человеческие имена вместо ников
http://trac-hacks.org/

http://trac.edgewall.org/ticket/7339

Регистрация пользователей
Право под названием ACCOUNT_MANAGER_REGISTER

so a user with that permisson can create new users (you can set it also on anonymous)

Also needed is a "registration_enabled=true" in the trac.ini

Создание нового
Перевести "решения" - они не локализуются. fixed и тп.

ЦНЫЦНП
http://trac-hacks.org/wiki/TracWysiwygPlugin