Как я могу лучше всего использовать в своих интересах Trac?

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

Он не удаляет строку, если порядок обратный, например "hair bright" не рассматривается как подпункт "bright hair dryer".

[ e for i, e in enumerate(mylist) if not any([ e in s for s in mylist[:i] + mylist[i+1:] ]) ]

   #=> ['love', 'bright light', 'bright hair dryer']
16
задан torial 10 October 2008 в 23:32
поделиться

7 ответов

1) индикатор хода выполнения высокого уровня:

вкладка дорожной карты дает Вам своего рода индикатор хода выполнения высокого уровня. Это перечисляет все этапы, и в течение каждого этапа это показывает Вам:

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

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

В зависимости от отношений между Вами и Вашим клиентом, Вы могли бы хотеть дать ему способность создать новые тикеты (разрешение TICKET_CREATE), который должен быть возможным, не давая ему доступ для чтения к другим билетам (TICKET_VIEW и TICKET_MODIFY). Извините, но я не могу в настоящее время тестировать, если это действительно работает, возможно, кто-то может прокомментировать это.

2) ежедневные сводные отчеты

trac предлагает Вам каналы RSS для всего, о чем можно думать. Должно быть возможно генерировать ежедневные отчеты от этого, или Вы просто говорите Вашему клиенту RSS проверять канал один раз в день.

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

Другая конфигурация

В каждом проекте, который я делаю с trac, я создаю пользовательский запрос для списка всех билетов, которыми никто не владеет:

SELECT p.value AS __color__,
   owner AS __group__,
status,
   id AS ticket, summary, component, milestone, t.type AS type, time AS created,
   changetime AS _changetime, description AS _description,
   reporter AS _reporter
  FROM ticket t
  LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
  WHERE status = 'new' AND (owner = '' OR owner = 'somebody'  OR owner = 'None' )
  ORDER BY owner, p.value, t.type, time

Каждый билет может иметь владельца и несколько человек в cc поле, но отчет для мои билеты только списки они, где Вы - владелец. Для преодоления этого я добавляю запрос как это:

  SELECT p.value AS __color__,
   (CASE owner WHEN '$USER' THEN 
     (CASE status 
       WHEN 'assigned' 
       THEN 'Tickets that you accepted' 
       ELSE 'Tickets that were assigned to you, please accept or reassign' 
      END) 
     ELSE 'Tickets, that have your name in the cc' END) 
     AS __group__,
   id AS ticket, summary, component, version, milestone,
   t.type AS type, priority, time AS created,
   changetime AS _changetime, description AS _description,
   reporter AS _reporter
  FROM ticket t
  LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
  WHERE t.status  'closed' AND (owner = '$USER' OR cc like '%$USER%')
  ORDER BY owner, (status = 'assigned') DESC, p.value, milestone, t.type, time

(этот код работает в trac 0.11b)

Это - мой любимый отчет билета. Это goups билеты тремя классами:

  • Билеты Вы владеете и приняли
  • Билеты, которые были присвоены Вам, но Вы еще не приняли
  • Билеты, которые имеют Вас в cc (что необычная вещь, которую Вы не получаете без того запроса)

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

Плагины

я рекомендую плагин RPC XML , если Вы работаете с затмением. Это включает тесную интеграцию с Mylin. (Я думаю основные работы интеграции даже без плагина), таким образом, Ваши разработчики могут сделать много задач из затмения, не переключаясь на trac webinterface.

(Если Вы используете затмение, но не знаете mylin, необходимо взглянуть на него. Можно протестировать его без любой конфигурации, потому что это идет с большинством дистрибутивов затмения и может работать автономным без trac.)

8
ответ дан 30 November 2019 в 16:14
поделиться

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

17
ответ дан 30 November 2019 в 16:14
поделиться

Насколько дополнительные плагины затронуты, мы устанавливаем TocMacro, XmlRpcPlugin, WysiwygPlugin и TracRedirect. В частности, плагин WYSIWYG действительно хорош для поощрения меньшего технического штата поддержать их собственные документы в Wiki - Вы можете даже C& P от MS Word при сохранении форматирования, которое помогает.

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

я рекомендовал бы заставить Ваш сервер Trac аутентифицировать против некоторой платформы централизованной аутентификации. Мы выполняем дерево LDAP с подлинными учетными данными в нем, и это используется всеми нашими внутренними системами - включая trac, svn, самбу, openvpn и т.д.

5
ответ дан 30 November 2019 в 16:14
поделиться

@ Дэйв Данкин прав. Используйте Trac для внутреннего использования и используйте систему, подобную Basecamp , чтобы предоставить своим клиентам общий обзор того, что происходит в проекте.

3
ответ дан 30 November 2019 в 16:14
поделиться

Если это - установка запаса, база данных является просто SQLite3, таким образом, можно легко записать сценарии для выборки "безопасной" информации, как количество билетов, или почему не один из отчетов. Тем путем можно обсудить свободно, пока название билета в порядке. Изменения, этапы, wikipages, теги (при использовании того плагина) также доступны.

3
ответ дан 30 November 2019 в 16:14
поделиться

Вы могли, вероятно, забрать все полномочия кроме ROADMAP_VIEW от анонимного пользователя, но это, вероятно, будет немного также высокий уровень, нет? Управление доступом на отдельном уровне билета или комментария в настоящее время не поддерживается AFAIK. См. http://trac.edgewall.org/wiki/TracPermissions для получения дополнительной информации о trac полномочиях.

3
ответ дан 30 November 2019 в 16:14
поделиться

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

Несколько вещей на основе опыта с Trac:

  1. Создание пользовательского рабочий процесс довольно прямо упрям. Использование GraphViz является огромной справкой для передачи состояний и действий. Плагин рабочего процесса (как AdvancedTicketWorkflowPlugin), который далее расширяет встроенную функциональность, не слишком трудно сделать при необходимости в более сложном взаимодействии состояния.

  2. Для пользовательского создания отчетов, можно записать SQL-запросы, которые берут именованные параметры, затем связываются с ними от страницы Wiki:

, Например, запрос может содержать оператор Where как это:

WHERE datetime(t.changetime, 'unixepoch') >= datetime('now','-$DAYS days')

и страница Wiki может иметь это:

Show activity for last [http://server.com/trac/report/9?DAYS=8 8] days.
3
ответ дан 30 November 2019 в 16:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: