Container tracking

Настройки

Теперь немного поговорим о настройках. Трактор это очень лёгкий прибор для изучения, это начинаешь понимать, когда одновременно имеешь опыт копа с такими металлоискателями, как XP Deus, AKA Signum. По сложности он стоит на одном уровне с Teknetics T2 и Fisher F75, только с другой логикой настроек.


Основные из настроек прибора, которые нужно знать копарю и эффективно копать, это:

Дискриминация (да, эти рисунки на экране, которые называются «масками») Глубокие цели — да/нет (если разведка, то тоже можно поставить да) Быстрая реакция — да/нет (можно на разведке ставить да, при добивании нет) Настройки аудиооткликов, особенно если работаете в наушниках — это позволит акцентировать внимание на звуке при проводке металлоискателя, не всегда же вы смотрите на дисплей. Чувствительность (как и всегда, главное ставить по своим ощущениям, баланс между стабильной и нестабильной работы прибора) Пороговый тон — возможность слышать самые слабые сигналы от грунта (полезно для добивания) Настройка грунта — сложный (по идее, сложный даёт больше глубину на нейтральном грунте)

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

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


Моя первая находка с Трактором была копейка Николая Первого, найденная на выбитом перевыбитом поле. История проста — поля вокруг старинной усадьбы, которая ещё стоит и в ней даже кто-то живёт (сам удивился). Поля хоженные и выбитые уже не первый десяток лет (это я точно уверен, больно место сладкое по картам). Вдруг у дороги неплохой сигнал, копал глубоко, но на свет появилась копейка. Не знаю, стоило ли так глубоко за ней копать, но сохран у неё был хорошей, пошла в коллекцию находок.

По индикации на дисплее уже было понятно, что это копейка медная лежит на глубине. Всё же эти показатели Fe-CO довольно неплохо упрощают жизнь, это как два VDI в одном приборе, а не один!

По скорости работы прибора — металлоискатель, всё-таки, немного медленный, он для вдумчивого и серьёзного поиска, не для быстрых и лёгких прогулок по полю со скоростью 5 км/ч. Но и результат с ним будет совсем другой, вдумчивый поиск сейчас = большему количеству находок.

Miscellaneous

Is it possible to disable the version control component?

Some users prefer to use Trac as an issue-tracker and Wiki and thus don’t require the version control subsystem. When initializing a project’s environment with trac-admin, don’t enter anything for the repository directory (i.e. keep the default). Then add the following to project/conf/trac.ini:

   
   trac.versioncontrol.* = disabled

How do I create or change a milestone with an associated date?

Using , specifically the or command. The input format for the date is rather limited still, and should be a string like this: . Note the string must be quoted for proper parsing. Example:

  trac-admin myprojenv milestone add anniversary 'Jun 3, 2003'

Can I use Trac with other version control systems (CVS, Arch, etc.)?

There are a number of plugins for different version control systems on ​trac-hacks.

Also, ​CVSTrac is a similar, but far simpler system which can track a CVS repository

Can I use LDAP to manage user accounts?

Apache supports LDAP authentication with ​mod_auth_ldap. You can use this in place of the other authenticate methods used in the installation guides. It may be easier, however, depending on your installation, to use ​mod_auth_pam with Apache and configure PAM to use LDAP for authentication.

You can use LDAP to manage your Trac groups and permissions with the ​TracHacks:LdapPlugin.

See also: TracGuide, TitleIndex

Project Logo and Icon

The easiest parts of the Trac interface to customize are the logo and the site icon. Both of these can be configured with settings in .

The logo or icon image should be put your environment’s directory. You can actually put the logo and icon anywhere on your server (as long as it’s accessible through the web server), and use their absolute or server-relative URLs in the configuration.

Next, configure the appropriate section of your trac.ini:

Change the setting to followed by the name of your image file. The and settings should be modified to match your image’s dimensions. The Trac chrome handler uses for files within the project directory , and for the common directory belonging to a Trac installation. Note that is not a placeholder for your project name, it is the literal prefix. For example, if your project is named , and the image file is then the setting would be , not .

src = site/my_logo.gif
alt = My Project
width = 300
height = 100

Icon

Icons are small images displayed by your web browser next to the site’s URL and in the menu. Icons should be a 32×32 image in or format. Change the setting to followed by the name of your icon file:

icon = site/my_icon.ico

The trac.wsgi script

Trac can be run on top of mod_wsgi with the help of an application script, which is a Python file saved with a extension.

A robust and generic version of this file can be created using the command which automatically substitutes the required paths, see . The script should be sufficient for most installations and users not wanting more information can proceed to .

If you are using Trac with multiple projects, you can specify their common parent directory using the in trac.wsgi (note that this directory should contain only Trac environments, no other sub-directories):

def application(environ, start_request):
    # Add this to config when you have multiple projects
    environ.setdefault('trac.env_parent_dir', '/usr/share/trac/projects')  
    ..

A very basic script

In its simplest form, the script could be:

import os

os.environ'TRAC_ENV' = '/usr/local/trac/mysite'
os.environ'PYTHON_EGG_CACHE' = '/usr/local/trac/mysite/eggs'

import trac.web.main
application = trac.web.main.dispatch_request

The variable should naturally be the directory for your Trac environment, and the should be a directory where Python can temporarily extract Python eggs. If you have several Trac environments in a directory, you can also use instead of .

On Windows:

  • If run under the user’s session, the Python Egg cache can be found in , for example:
    os.environ'PYTHON_EGG_CACHE' = r'C:\Users\Administrator\AppData\Roaming\Python-Eggs'
    
  • If run under a Window service, you should create a directory for Python Egg cache:
    os.environ'PYTHON_EGG_CACHE' = r'C:\Trac-Python-Eggs'
    

A more elaborate script

If you are using multiple files (for example one per Trac environment) you must not use to set the path to the Trac environment. Using this method may lead to Trac delivering the content of another Trac environment, as the variable may be filled with the path of a previously viewed Trac environment.

To solve this problem, use the following file instead:

import os

os.environ'PYTHON_EGG_CACHE' = '/usr/local/trac/mysite/eggs'

import trac.web.main
def application(environ, start_response):
  environ'trac.env_path' = '/usr/local/trac/mysite' 
  return trac.web.main.dispatch_request(environ, start_response)

For clarity, you should give this file a extension. You should probably put the file in its own directory, since you will expose it to Apache.

If you have installed Trac and Python eggs in a path different from the standard one, you should add that path by adding the following code at the top of the wsgi script:

import site
site.addsitedir('/usr/local/trac/lib/python2.4/site-packages')

Change it according to the path you installed the Trac libs at.

Зависимости

Обязательное зависимости

Перед установкой Trac, вам необходимо установить следующие пакеты:

​Python версии ≥ 2.6 и

Вам также необходима система управления базами данных и соответствующие библиотеки для Python (python bindings). Данная версия Trac поддерживает СУБД SQLite, PostgreSQL и MySQL.

Для базы SQLite

Так как вы должны использовать Python 2.6 или 2.7, у вас уже установлены все требуемые для SQLite библиотеки имеющиеся в стандартной поставке Python (модуль ).

При желаниии вы можете установить более новую версию ​pysqlite чем та, что поставляется в дистрибутиве Python. Для более подробной информации, смотрите PySqlite.

Для базы PostgreSQL

Вам нужно установить СУБД и соответствующую библиотеку Python:

  • ​PostgreSQL, версия 8.0 или новее.
  • ​psycopg2, версия 2.0 или новее.

Для более подробной информации, смотрите Серверы СУБД.

Для базы MySQL

Trac теперь может работать с MySQL, если вы будете следовать инструкциям.

  • ​MySQL версии 5.0 или новее
  • ​MySQLdb версии 1.2.2 или новее

Очень важно внимательно прочитать страницу MySQLdb перед созданием базы данных.

Опциональные зависимости

Subversion

​Subversion, 1.6 или новее и соответствующие библиотеки Python.

​Скомпилированные SWIG библиотеки доступны для различных платформ. (Удачи в поисках скомпилированных SWIG библиотек для любого Windows пакета. TracSubversion содержит ссылку на ​Algazam, где есть библиотеки, работающие с Python 2.6.)

Для информации о возникающих проблемах обратитесь к странице TracSubversion

Примечание:

  • Заметьте, что Trac не использует ​PySVN, он ещё не работает с новыми -style bindings.
  • При использовании Subversion, Trac должен быть установлен на той же машине. Удаленные репозитарии в данный момент не поддерживаются.

Другие системы контроля версий

Поддержка для других систем контроля версий предоставляется по средствам сторонних плагинов. Смотрите PluginList#VersionControlSystems или VersionControlSystem.

Web-сервер

Web-сервер не является обязательным требованием, так как Trac предоставляется вместе со встроенным сервером, подробнее смотрите ниже в разделе .

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

  • ​Apache с модулями
    • ​mod_wsgi, смотрите TracModWSGI и ​ModWSGI IntegrationWithTrac.
    • ​mod_python 3.5.0, смотрите TracModPython
  • ​FastCGI-совместимый web-сервер (смотрите TracFastCgi)
  • ​AJP-совместимый web-сервер (смотрите TracOnWindowsIisAjp)
  • Microsoft IIS с FastCGI и FastCGI-to-WSGI шлюзом (смотрите IIS с FastCGI)
  • CGI-совместимый web-сервер (смотрите TracCgi), но использование Trac в качестве cgi-скрипта сильно обескураживает, лучше используйте одну из предыдущих опций.

Прочие пакеты Python

  • ​Babel, версия 0.9.6 или ≥ 1.3, необходим для поддержки переводов
  • ​docutils, версия ≥ 0.3.9 для WikiRestructuredText.
  • ​Pygments для .
  • ​pytz для получения полного списка временных зон, иначе Trac выдаст ограниченный список временных зон в соответствии со своей внутренней реализацией.

Внимание: Доступные версии данных зависимостей не обязательно взаимозаменяемы, поэтому обратите внимание на номера версий. Если у вас возникли проблемы с работой Trac, пожалуйста, ещё раз проверьте все зависимости, прежде чем обращаться за помощью в MailingList или IrcChannel.. Пожалуйста обратитесь к документации этих пакетов, чтобы найти информацию каким наилучшим способом они могут быть установлены


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

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

Custom Navigation Entries

The and sections of trac.ini be used to customize the navigation entries, disable them and even add new ones.

In the following example, we:

  • rename the link to WikiStart to be Home
  • hide the About entry
  • make the View Tickets entry link to a specific report
  • add a Builds entry that links to an external build system
  • move the Admin entry to the meta navigation bar
    wiki.label = Home
    tickets.href = /report/24
    
    
    about = disabled
    builds = enabled
    builds.href = https://travis-ci.org/edgewall/trac
    admin = enabled
    

See also TracNavigation for a more detailed explanation of the mainnav and metanav navigation.

Development guides

Getting Started Contributing
  • DevelopmentEnvironmentSetup
  • PythonIDE
  • DevelopmentWithEclipseAndPyDev
  • AlternativeFrontends
  • CodingStyle
  • SubmittingPatches
  • DevelopmentWorkflow
  • ReleaseChecklist
  • ToDo
  • TracTicketTriage
Overviews Testing
  • ComponentArchitecture
  • ApiDocs
  • TracURLs
  • RequestHandling
  • PluginDevelopment
    • ExtensionPoints
    • IWikiSyntaxProviderExample
  • DataModels
  • DatabaseSchema
  • ​PyCon 2008 Slides
  • UnitTests
  • FunctionalTests
  • AutomaticBuilds
  • ReleaseTesting
  • WritingUnitTests
Miscellaneous Thematic Guides Translation
  • DatabaseApi
  • DatabaseUpgrades
  • VersionControlApi
  • ConfigApi
  • NotificationApi
  • HttpMethods
  • HtmlTemplates
  • JavaScript
  • UnicodeGuidelines
  • PortingFromClearSilverToGenshi
  • CacheManager
  • TracSession
  • Exceptions
  • TracL10N
  • MissingTranslations
Development Proposals Development Branches

Blueprints for major changes on a topic:

  • AdvancedNotification
  • AdvancedNotification/DatabaseSchema
  • AdvancedNotification/IEmailAddressResolver
  • AdvancedNotification/IEmailDecorator
  • AdvancedNotification/INotificationDistributor
  • AdvancedNotification/INotificationFormatter
  • AdvancedNotification/INotificationSubscriber
  • AdvancedNotification/IPreferencePanelProvider
  • AdvancedNotification/NotificationApi
  • AdvancedWikiFormatting
  • AdvancedWikiOperations
  • Announcer
  • BatchModification
  • CacheInvalidation
  • ConfigEnumTranslation
  • ControllerApi
  • DataModel
  • EmailValidation
  • EvenFinerGrainedPermissions
  • ITicketQueryRenderer
  • Jinja
  • Jinja/TracInterfaceCustomization
  • Journaling
  • MultipleProject
  • NewHelp
  • NewTicketDuplicateCheck
  • PortalTrac
  • ProjectLabels
  • Setuptools
  • ThemePlugins
  • TicketLinks
  • TicketTypes
  • TracRelations
  • TracTicketsCustomTimeFields
  • UserSystem
  • VerticalHorizontalParsing
  • WikiNamespaces
  • WikiParserFormatterSplit
  • WikiStorage

Documentation for ongoing work in code branches:

  • Announcer
  • MilestoneEdit
  • Testing
  • WikiBlame
  • WikiRename

See also:

  • ​Mirror on Github
  • Developer repositories

The testing demo site features work-in-progress branches (Proposed) for which feedback is welcome.

Scratch Pad for developers Ideas from users
  • TracDev/ScratchPad, containing:
    • ChangesetModule
    • DataModels
    • DatabaseBackend
    • DefaultTheme
    • TicketModule
    • TracQuery
    • TracRoadmap
  • DefaultTheme
  • TracAttachments
  • TracBrowser
  • TracChangeset
  • TracQuery
  • TracSearch
  • TracTickets
  • TracWiki
  • TracWorkflow

Site Appearance

Trac is using ​Jinja2 as the templating engine.

We have put in place a number of «placeholder» in the form of «include» directives. These files don’t need to exist, but if they do, their content will be processed by Jinja2 as well. As such, they can make use of other «include» directives, or any other feature of Jinja2 to generate dynamic content.

There are three such placeholder templates:

  • , which can be used to add content inside the generated element
  • , which can be used to prepend content inside the generated element, before the standard content generated by Trac
  • , which can be used to append content inside the generated element, after the standard content generated by Trac

Say you want to add a link to a custom stylesheet, and then your own header and footer. Save the following content as , and inside your projects directory (each Trac project can have their own «placeholder» files) e.g. :

  <!-- site_head.html: Add site-specific style sheet -->
  <link rel="stylesheet" href="${href.chrome('site/style.css')}" />
  <!-- /site_head.html -->
    <!-- site_header.html: Add site-specific header -->
    <div id="siteheader">
      ## Place your header content here...
    </div>
    <!-- /site_header.html -->
    <!-- site_footer.html: Add site-specific footer -->
    <div id="sitefooter">
      ## Place your footer content here...
    </div>
    <!-- /site_footer.html -->

Notice that as Jinja2 is mostly content agnostic, you are free to open some element in the file and only close it in file. Besides, as in any other Trac Jinja2 template, you can use some Trac specific features, for example the attribute references in the environment’s directory. In a similar fashion is used to specify the common directory belonging to a Trac installation. That latter location can however be overriden using the setting.

Example snippet of adding introduction text to the new ticket form (but not shown during preview):

  • first we need to introduce the extra «content» of this notice, if it’s appropriate for the request. For that, we add this snippet in the placeholder file:
    # if req.path_info == '/newticket' and 'preview' not in req.args:
      <p id="ntg">Please make sure to search for existing tickets before reporting a new one!</p>
    # endif
    
  • second, we need to dynamically alter the rest of the content in order to position that notice at the desired location. For that, we add this snippet to the placeholder file:
<script>
  jQuery(function($) {
    var $ntg = $("#newticketguide");
    if ($ntg.length)
      $("#propertyform").prepend($ntg.detach());
  });
</script>

This example illustrates a technique of using to limit scope of changes to one view only. For instance, to make changes only for timeline and avoid modifying other sections, use as the condition in a test.

More examples snippets for placeholder files can be found at CookBook/SiteHtml.

Example snippets for can be found at CookBook/SiteStyleCss.

Sharing Templates in Multiple Environments

The templates, despite their name, can be put in a shared templates directory, see the option. This could provide easier maintenance, as global , and files can be made to any other local existing header, footer and newticket snippets.

Конструкция металлоискателя

Металлоискатель Minelab E-Trac (давайте звать его просто, как все камрады называют: «Трактор»), выполнен по стандартной схеме — S-образная штанга, блок с дисплеем на штанге, катушка на конце. Всё просто. Тяжеловесность прибора стала уже притчей во языцех, об этом говорили все, кому не лень, но правда оказалась немного иной, чем народная молва (как обычно) — вес прибора 1 килограмм и 850 грамм (вместе с батарейками), плюс грамм 30 чехол — итого выйдет около 1.9 кг +/-. В руках прибор ощущается совсем иначе — широкий и очень удобный подлокотник, который позволяет работать с прибором даже в тяжелой куртке, а всё благодаря хорошему балансу. По крайней мере, рука с ним уставала аналогично, как если бы я махал Nokta Impact, например, но баланс в нём лучше, чем у АКА Сигнум, это точно!

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

Штанга крепится под блок с помощью защёлки — ещё одна конструктивная особенность, которая используется в некоторых моделях современных металлоискателей.


Прибор не водонепроницаемый, а значит использование чехла желательно. Я чехол взял заблаговременно у одного мастера с Ревью — Романа. На фото выше отлично видно, какой ширины у Трактора подлокотник и весь отсек. Рукоятка широкая и удобная в хвате, для большой руки это самый лучший вариант.

В стандартной комплектации Трактор поставляется с 11″ DD катушкой, форма бабочка. Нижняя штанга — карбоновая! Это хороший показатель прочности и облегчённого веса. Болт у катушки толстый и прочный, за такой не надо переживать, что он сломается или потеряется. Провод от катушки устанавливается прямиком в отверстие от нижней штанги.

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

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

Changing and Commenting Tickets

With appropriate permissions, tickets can be commented and ticket properties changed. When viewing a ticket, the history of changes will appear below the ticket properties box.

By default an authenticated user can edit their own ticket comments. Users with can edit any comment.

Comment editing is meant for making small corrections to comments, like fixing formatting or spelling errors. For major edits, you should be adding a new comment instead. Editing a comment will not produce a new entry on timeline, while entering a new comment or other changes will do.

All edits (field changes, new comments, comment edits) update the «last changed» time of the ticket.

Note:

TracLinks and WikiFormatting can be used in the ticket description and comments. Use TracLinks to refer to other issues, changesets and files.

See TracWorkflow for information about the state transitions (ticket lifecycle), and customization of the workflow.

How to get started?

Start by setting up a development environment and become familiar with installing Trac and creating new TracEnvironments.

Then, you should get familiar with Trac’s ComponentArchitecture, PluginDevelopment and DatabaseApi. The TracTroubleshooting page contains some debugging tips which are also quite useful during development.

When you’re ready to contribute changes, note that we’re picky about our CodingStyle when SubmittingPatches. For changes to be accepted, the modified Trac source should still pass the UnitTests and the FunctionalTests. Ideally, also contribute new tests.

Discussions about Trac Development happen on the ​Trac-dev mailing list. New development ideas are usually best discussed first on that list, it’s a quick and easy way to get feedback on any given topic or question. As usual, search the archive first, to avoid rehashing old discussions. For longer term developments, or for documentation purposes, use the wiki.

To refer to a mail from Trac-dev in this wiki, use the InterWiki prefix, for example: ​googlegroups:trac-dev:1b9c4e3eaeda3a0d. You can see the message identifier in the address bar of your browser when viewing the message in Individual Message view mode. You can go there from the default threaded view by clicking on More options and then on the Individual Message or Show Original links.

Функции

  • Управление проектомразделение проекта на этапы (milestones)
  • контроль выполнения (roadmap)
  • все изменения по проекту заносятся на временную шкалу (timeline)
  • поддержка rss
  • Tickets
  • Стандартная функциональность — учет ошибок, замечаний, пожеланий с возможностью фильтрации и занесение соответсвенно в milestone, roadmap.
  • Просмотр репозитория. Достаточно удобный модуль по просмотру Subversion репозитория проекта. Позволяет просматривать исходный код с учетом ревизии, а также изменений.
  • Функциональность может быть расширена за счет дополнительных модулей.
  • Управление пользователями. Простая система — что могут делать пользователи, а что нет.
  • WiKi. В trac встроена система WiKi с возможностью делать ссылки на milestone, roadmap, ticket. Органично вписывается и удобна в использовании при ведении проекта.

Основные характеристики

Главной положительной чертой чертой о которой упоминают везде, является степень интеграции с базой знаний проектной документации и системой контроля версий. Wiki и SVN изначально были встроены в ядро этой системы и степень их интеграции была очень высокой на момент появления это системы (примерно 2005). Сейчас по данным параметрам коммерческие системы догнали trac и бесплатные конкуренты тоже подбираются. Но популярность trac все еще достаточно высока, чтобы серьезно расчитывать на ее дальнейшее развитие.

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

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

Configuring Authentication

Trac uses HTTP authentication. You’ll need to configure your webserver to request authentication when the URL is hit (the virtual path of the «login» button). Trac will automatically pick the variable up after you provide your credentials. Therefore, all user management goes through your web server configuration. Please consult the documentation of your web server for more info.

The process of adding, removing, and configuring user accounts for authentication depends on the specific way you run Trac.

Please refer to one of the following sections:

  • if you use the standalone server, .
  • if you use the Apache web server, with any of its front end: , , or .
  • TracFastCgi if you’re using another web server with FCGI support (Cherokee, Lighttpd, LiteSpeed, nginx)

TracAuthenticationIntroduction also contains some useful information for beginners.

Установка Trac

Инструмент командной строки trac-admin, используется для создания и поддержки проектного окружения ,а также tracd автономный сервер устанавливаются вместе с Trac. Существует несколько способов установки Trac.

В данном руководстве предполагается, что у вас есть права пользователя или возможность использовать утилиту . Umask должна использоваться для обычной установки на Unix-подобные платформы.

Использование

Trac может быть установлен из PyPI или Subversion репозитария с помощью утилит пакета ​setuptools.

Вот несколько примеров:

Установка последней стабильной версии Trac: $ easy_install Trac

Установка последней версии находящейся в разработке: $ easy_install https://download.edgewall.org/trac/Trac-latest-dev.tar.gz Обратите внимание, что в этом случае у вас не будет возможности запустить локализованную версию Trac; либо используйте стабильную версию, либо выполните установку из исходных файлов

Более подробная информация доступна на странице setuptools.

Предупреждение Setuptools: Если ваша версия setuptools находится в диапазоне от 5.4 до 5.6, переменная окружения должна быть установлена, воизбежание существенной потери производительности. Подробнее смотрите .

Использование

‘pip’ это замена easy_install, которая очень полезна для быстрой установки пакетов Python. Для установки и запуска Trac менее чем за 5 минут:

Предполагаем что вы хотите видеть результат работы pip в

$ pip install trac psycopg2 

или

$ pip install trac mysql-python 

Убедитесь, что заголовочные файлы, характерные для вашей ОС, доступны pip для выполнения автоматической сборки библиотек PostgreSQL () или MySQL ().

pip автоматически распознает все необходимые зависимости (такие как Genshi, pygments и т.д.), скачает последние версии пакетов с pypi.python.org и самостоятельно установит их в .

Все команды (, ) будут доступны из . Они так же могут использоваться для (при использовании директивы ) и (при использовании директивы ).

Дополнительно, с помощью pip вы можете установить некоторые подключаемые модули Trac (перечисленные ​здесь)

Сборка из исходных файлов

Так же доступна типичная для Python установка из базовой директории с исходными файлами. Вы можете получить архивы .tar.gz или .zip соответствующей версии (например, ) на странице TracDownload, или можете скачать исходные файлы непосредственно из репозитария. Смотрите подробнее TracRepositories.

$ python ./setup.py install

Вам нужны права root или эквивалентные для выполнения этого шага.

Данная команда выполнит байт-компиляцию исходного кода на Python и установить его как файл .egg или каталог в директорию вашего дистрибутива Python. Файл .egg будет также содержать все стандартные ресурсы, необходимые Trac, такие как и .

Если вы выполняете установку из исходных файлов и хотите добавить в Trac поддержку других языков, убедитесь что пакет Babel установлен. Только после этого, выполните команду (или просто выполните команду повторно если до этого пакет Babel не был у вас установлен):

$ python ./setup.py install

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

Использование установщика

В операционной системе Windows, Trac может быть установлен с помощью стандартного установщика .exe, доступного на странице TracDownload. Установочные файлы доступны для обеих архитектур Python 32- и 64-битной. Убедитесь что установочные файлы соответствуют вашей архитектуре Python.

Использование менеджера пакетов

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

Расширенные опции

Для установки Trac в нестандартное расположение, или для получения информации по дополнительным параметрам установки, выполните команду:

$ easy_install --help

Так же смотрите ​Установка Модулей Python для подробной информации.

Особенно вас может заинтересовать опция:

$ easy_install --prefix=/path/to/installdir

или, при установке Trac в операционной системе Mac OS X:

$ easy_install --prefix=/usr/local --install-dir=/Library/Python/2.6/site-packages

Примечание Mac OS X: В Mac OS X 10.6, запуск команды выполнит установку в каталоги и по-умолчанию.

Команды и будут расположены в , а библиотеки и зависимости Trac в , который Apple предпочитает в качестве хранилища по-умолчанию, для сторонних пакетов и приложений Python.

Project List

You can use a custom Genshi template to display the list of projects if you are using Trac with multiple projects.

The following is the basic template used by Trac to display a list of links to the projects. For projects that could not be loaded, it displays an error message. You can use this as a starting point for your own index template:

FIXME

<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/"
      xmlns:xi="http://www.w3.org/2001/XInclude">
  <head>
    <title>Available Projects</title>
  </head>
  <body>
    <h1>Available Projects</h1>
    <ul>
      <li py:for="project in projects" py:choose="">
        <a py:when="project.href" href="$project.href"
           title="$project.description">$project.name</a>
        <py:otherwise>
          <small>$project.name: <em>Error</em> <br /> ($project.description)</small>
        </py:otherwise>
      </li>
    </ul>
  </body>
</html>

Once you’ve created your custom template you will need to configure the webserver to tell Trac where the template is located:

For mod_wsgi:

os.environ'TRAC_ENV_INDEX_TEMPLATE' = '/path/to/template.html'

For FastCGI:

FastCgiConfig -initial-env TRAC_ENV_PARENT_DIR=/parent/dir/of/projects \
              -initial-env TRAC_ENV_INDEX_TEMPLATE=/path/to/template

For mod_python:

PythonOption TracEnvParentDir /parent/dir/of/projects
PythonOption TracEnvIndexTemplate /path/to/template

For CGI:

SetEnv TRAC_ENV_INDEX_TEMPLATE /path/to/template

For TracStandalone, you’ll need to set up the environment variable in the shell used to launch tracd:

  • Unix:
    $ export TRAC_ENV_INDEX_TEMPLATE=/path/to/template
    
  • Windows:
    $ set TRAC_ENV_INDEX_TEMPLATE=/path/to/template
    

С этим читают