{{{ #!rst ======== Trac FAQ ======== Here you can find the answer to some of the most frequently asked questions about Trac. If you have a question not answered by this page you can add your question by clicking on the "Edit this page" link at the bottom of this page. .. contents:: .. sectnum:: ----- .. ** INSTALLING AND RUNNING TRAC ** Installing and Running Trac =========================== What operating systems does Trac run on? ---------------------------------------- Trac will run on any system supported by Python and the depending modules. Today we are aware of people running Trac on various Linux distributions, Mac OS X, FreeBSD, NetBSD and MS Windows. See also: `TracOnFreeBsd`:trac: , `TracOnNetBsd`:trac: , `TracOnOsx`:trac:, `TracOnMandrakelinux`:trac:, `TracOnGentoo`:trac:, `TracOnDebian`:trac:, `TracOnWindows`:trac: What are the dependencies of Trac? ---------------------------------- Trac depends on the following software: Subversion w/Python bindings, Clearsilver_, `SQLite w/Python bindings`_. Syntax coloring requires `GNU Enscript`_ and/or SilverCity_. See also: `TracInstall`:trac:, `TracSyntaxColoring`:trac:. .. _Clearsilver: http://www.clearsilver.net/ .. _`SQLite w/Python bindings`: http://www.sqlite.org/ .. _`GNU Enscript`: http://people.ssh.fi/mtr/genscript/ .. _SilverCity: http://silvercity.sf.net/ Can I replace SQLite with MySQL or PostgreSQL? ---------------------------------------------- FIXME: Dunno, I'm asking the question, please, please fill in the answer here :) Documentation details say that it can, because at the end it is still pure SQL. How practically should that be done...? See `#126`:trac: re Database Independance Can I manage multiple projects from a single installation of Trac? ------------------------------------------------------------------ (or do I have to setup a different directory for each one?) Only one installation is required, then for each project create an Environment (using trac-admin initenv). They will be separate projects, all handled by the same installation of Trac. **Note:** Right now there is no support for sharing information between projects. The rationale for this is that the scope of Trac (1.0) is to manage a single project, and do it well. Support for larger multi-project management adds alot of complexity, but is planned for post-1.0 development, probably as a separate framework around Trac. See also: `TracMultipleProjects`:trac: How can I create a nice URL to access trac.cgi? ----------------------------------------------- If you are serving Trac with Apache 2, you can use directives of the following form to translate the url "http://myserver.com/trac" to "$APACHE_PATH$/cgi-bin/trac.cgi". Note the URL in the Location directives is the same one that the end-user would see. With this example, you would also need to change the `TracIni`:trac: file to find static files at a location other than /trac. :: # translates /trac to /cgi-bin/trac.cgi ScriptAliasMatch ^/trac(.*) "C:/Program Files/Apache Group/Apache2/cgi-bin/trac.cgi$1" # sets up environment for Trac # For 0.7 release SetEnv TRAC_ENV "C:/Subversion/trac/CogTool.db" # authentication AuthType Basic AuthName "CogTool Project Trac" AuthUserFile C:/Subversion/Repo/svn-users Require valid-user # static files used to display images and templates # you will need to change the conf/trac.ini file to point to /trac-docs instead of /trac Alias /trac-docs "C:/Subversion/trac/htdocs" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all Great software. Is there a guide on hacking the templates? ------------------------------------------------------------------ FIXME: I have no idea. ;-) How do I reliably create backups of my Trac environment? ------------------------------------------------------------------ With the `TracAdmin`:trac: command ''hotcopy''. See `TracBackup`:trac: for documentation, however this is not available in 0.7.1 but only in newer versions. How do I change the format used for displaying date and time? ------------------------------------------------------------------ You change the format by setting an appropriate 'locale' in the Apache config. You do this by adding :: SetEnv LC_TIME "xx_YY" right after the line where you set TRAC_ENV. On a Linux/Un*x platform: :xx: The language code as defined in `ISO 639`_ :YY: The upper case, two letter country code as defined in `ISO 3166`_ Examples: *de_DE* is Germany, *en_GB* is Great Britain and *fr_FR* is France On a Windows platform: :xx: The language name as defined in `ISO 639`_ :YY: The country name as defined in `ISO 3166`_ Examples: 'German_Germany' is Germany, 'English_United Kingdom' is Great Britain and 'French_France' is France **When it does not work** First, you should check, if the chosen locale is installed on the system at all. On Linux, you can use :: localedef --list-archive to list the installed locale definitions. If this is not the problem, then LC_TIME may be overridden by LC_ALL or LANGUAGE defined in the system environment. You may try one of them (LANGUAGE has highest priority) instead LC_TIME. Note that LC_TIME just affects the date and time display, whereas LC_ALL and LANGUAGE also affect handling of system messages, sorting and other country dependent output/input. So the conservative way is to stick to LC_TIME if possible. .. _`ISO 639`: ftp://ftp.ilog.fr/pub/Users/haible/utf8/ISO_639 .. _`ISO 3166`: ftp://ftp.ilog.fr/pub/Users/haible/utf8/ISO_3166 -------- .. ** WIKI ** Wiki ==== What is a "Wiki"? ----------------- The term Wiki is a shortened form of WikiWikiWeb_. A Wiki is a database of pages that can be collaboratively edited using a web browser. See also: `TracWiki`:trac: .. _WikiWikiWeb: http://c2.com/cgi/wiki?WikiWikiWeb Did you copy the previous question from the MoinMoin FAQ? --------------------------------------------------------- Why yes, thanks for asking. How to remove a page from the Wiki? --------------------------------------------------------- This, as well as other Wiki management features, will be included in our next release, Trac 0.8. FIXME: how does one link to a Roadmap? Could the Wiki perhaps get a RecentChanges page, showing the changed pages in anti-chronological order? ------------------------------------------------------------------------------------------------------- The timeline_ contains information about all the changes to Trac content. By deselecting the *view ticket changes* and *view repository checkins* boxes you can view only the Wiki changes. .. _timeline: http://projects.edgewall.com/trac/timeline/ I get the following error message when editing a wiki page with Trac 0.6.1: --------------------------------------------------------------------------- :: columns name, version are not unique SQLite_ version 2.8.13 has a bug in the max() function. Either downgrade/upgrade sqlite or replace trac/Wiki.py with this file: Wiki.py_ .. _SQLite: http://www.sqlite.org/ .. _Wiki.py: http://svn.edgewall.com/repos/trac/branches/0.6-stable/trac/Wiki.py Does Trac support Unicode/UTF-8 or any other encodings? ------------------------------------------------------- Yes, Trac uses UTF-8 internally for all text. See `TracUnicode`:trac: for a detailed description. Can I directly add questions to this Wiki FAQ? ---------------------------------------------- Yes, I can! Just click *Edit this page* at the bottom of the page. Be aware that this page is written using reStructuredText_, so you may want to check `WikiRestructuredText`:trac: first... Thanks to ReST, the index for this FAQ is generated automatically, using the ``.. contents::`` directive. .. _reStructuredText: http://docutils.sourceforge.net/rst.html But then how do we control spammers and malicious contributors? --------------------------------------------------------------- I guess you would get an answer rapidly if you added a malicious contribution, and you just might get a bruise. ----- .. ** TIMELINE ** Timeline ======== How do I get Trac to resync the timeline with my subversion repository? ----------------------------------------------------------------------- trac-admin in trac 0.8 and above has built-in command to resync the repository that works like this. :: trac-admin resync ----- .. ** BROWSER ** Browser ======= On Windows, why does Trac not display diffs? -------------------------------------------- The tree diff functionality provided by the subversion python bindings use an external diff_ command. On UNIX-like systems, diff is usually installed already, so this wasn't an issue there. Installing diffutils_ should solve the problem. Diffutils for windows: http://gnuwin32.sourceforge.net/packages/diffutils.htm .. _diff: http://gnuwin32.sourceforge.net/packages/diffutils.htm .. _diffutils: http://gnuwin32.sourceforge.net/packages/diffutils.htm Does Trac support syntax coloring/highlighting of source code files? -------------------------------------------------------------------- Yes, using several methods. See `TracSyntaxColoring`:trac: for details. ----- .. ** TICKETS ** Tickets ======= Is there any way to remove tickets ? ------------------------------------ You have to go through the db file in order to remove a ticket. No web interface is available for the moment (`#298`:trac: talks about adding one). Is there any way to migrate tickets from one Trac installation to another? -------------------------------------------------------------------------- For example, is it possible to import and export in the same way as one can using trac-admin for the wiki? A possible approach (until someone comes up with a better one?!) is to use the sqlite engine to export the tickets and changes, generate a script, and then insert the records into the second trac installation. E.g.: :: [root@xgbemf6002 root]# sqlite SQLite version 2.8.15 Enter ".help" for instructions sqlite> select * from ticket; 1|1092797666|1094723786|component1|normal|normal|Martin|someone@somewhere.com|||||reopened||test|testing| sqlite> select * from ticket_change; 1|1092798124|leigh|comment||Testing notification 1|1092798319|leigh|owner|somebody|Leigh ... ... It should be possible to take this output , and produce a script that would insert records into the ticket and ticket_change tables in the new trac installation. As provided below, the database schema can be found here_. .. _here: http://projects.edgewall.com/trac/file/trunk/trac/db_default.py?rev=latest Can Trac automatically update a ticket when I commit a changeset? ----------------------------------------------------------------- Yes, you can setup Subversion to update the Trac ticket when you commit changes with a message listing tickets that are fixed or related. You can read the comments in the beginning of the file `contrib/trac-post-commit-hook` for more information on how to set this up. ----- .. ** REPORTS ** Reports ======= Is there any way to remove reports? ----------------------------------- Yes, if you have the proper permissions, you should be able to delete a report simply by viewing it and clicking *delete*. ----- .. ** DEVELOPMENT ** Development =========== How can i contribute to the project? ------------------------------------ There are several ways to contribute, including submitting patches, sending feedback and reporting bugs. For details, see `HowToContribute`:trac:. Are there any provisions for I18N and L10N? Is it enough to translate the templates? ------------------------------------------------------------------------------------ Yes and no. Merely translating the templates is not enough to provide complete internationalization of Trac. Python supports gettext_ just fine, but templates might require some extra work, using Clearsilver's built-in `trans.py`_ mechanism or the new `gettext patch`_. The standpoint of the `TracTeam`:trac: right now is to hold up on translation efforts until the feature base and source code has stabilized somewhat, as to not add too much extra work until 1.0. That said, people have already started looking into it, and making some good suggestions already. We will need help with translation efforts. If you're interested in volunteering, please consider joining `the mailing list`_ .. _gettext: http://www.gnu.org/software/gettext/gettext.html .. _`trans.py`: http://groups.yahoo.com/group/ClearSilver/message/211 .. _`gettext patch`: http://groups.yahoo.com/group/ClearSilver/message/210 .. _`the mailing list`: http://projects.edgewall.com/trac/wiki/MailingList Is the Database scheme available anywhere? ------------------------------------------ Yes you can find it here_. .. _here: http://projects.edgewall.com/trac/file/trunk/trac/db_default.py?rev=latest ----- .. ** MISCELLANEOUS ** Miscellaneous ============= What is a typical use-case for trac? Why/when would I want to use it? --------------------------------------------------------------------- *Note:* in the gist, this boils down to 'what is trac?' and should rather be the first question IMHO. How do I create or change a milestone with an associated date? -------------------------------------------------------------- Using *trac-admin*, specifically the *milestone time* or *milestone add* command. The input format for the date is rather limited still, and should be a string like this: 'Jun 3, 2003'. Note the string **must** be quoted for proper parsing. Example: :: trac-admin myprojenv milestone add anniversary 'Jun 3, 2003' Are there similar systems for CVS? ---------------------------------- CVSTrac is a similar but far simpler system which can trac a CVS repository. It doesn't (IMO) look as nice as trac, but a lot of the functionality is similar. Go here: http://www.cvstrac.org/ Is there a way to remove an attached file from a page? ------------------------------------------------------ FIXME: ? Is there a way to edit attachments? ----------------------------------- Could I download attached file, update it and upload it back with same name? See also: `TracGuide`:trac:, `TitleIndex`:trac: }}}