final move of files
[web.mtrack] / help / ConfigIni
1 = config.ini =
2
3 The configuration file defines an mtrack instance.  mtrack will look for this
4 file by first inspecting the {{{$MTRACK_CONFIG_FILE}}} environmental variable.
5 If it is not set it will default to looking for {{{config.ini}}} in the mtrack
6 source directory.
7
8 {{{config.ini}}} is parsed using the following rule:
9
10  * {{{[name]}}} indicates that the following values belong to the ''name'' section.  You may switch section multiple times in the file if you wish.
11  * Lines beginning with a semicolon {{{;}}} character are comments and are ignored by the parser
12  * values are specified by lines of the form {{{name = value}}}.  The value belongs to the previously indicated section.
13  * Unquoted tokens on the right hand size of an equals sign are replaced by the value of a matching PHP constant
14  * Values of the form {{{${name}}}} are substituted with the value of the corresponding PHP configuration directive, or if none is found, the corresponding environmental variable value
15  * Values of the form {{{@{section:myname}}}} are substituted with the value of the option defined in this configuration file.  For example, the ''myname'' value in the ''section'' section)
16
17 == [core] == #core
18
19 The following options are defined for the {{{core}}} section.
20
21   vardir::
22     The location of the {{{var}}} directory, which holds all of the mtrack
23         runtime state
24
25   dblocation::
26         Where the mtrack sqlite database can be found.  This is usually defined
27         to be {{{"@{core:vardir}/mtrac.db"}}} which means that it lives in the
28         {{{var}}} directory.
29
30   searchdb::
31         Where the mtrack full-text search database can be found.  This is usually
32         defined to be {{{"@{core:vardir}/search.db"}}} which means that it lives in
33         the {{{var}}} directory.
34
35   projectname::
36         The name of the mtrack instance.  This is displayed in the top left of
37         the navigation area if the ''projectlogo'' is not defined.
38
39   timezone::
40         The default timezone to use when rendering dates.
41
42   projectlogo::
43         Specifies an URL that will be used in an image tag displayed in the top
44         left of the navigation area.
45
46   weburl::
47         Specifies the canonical URL (including trailing slash) for this mtrack
48         instance.  This is used when generating links in notification email,
49         but will also be used when generating links in the web application.
50
51   default.repo::
52         Specifies the shortname of the repo to use when generating changeset
53         links that don't otherwise specify one.  You only need this when you
54         have multiple repos.  mtrack will default to the first repo.
55
56   default_email_domain::
57         Domain name to use when inferring the email address for users that do
58         not have an email address configured in the userinfo table.
59
60   includes::
61         Comma separated list of files to be included.  The intended use is for
62         loading plugins without modifying the mtrack code.
63
64 == [ticket] == #ticket
65
66   default.classification::
67         When creating a new ticket, specifies which classification to pre-select
68
69   default.severity::
70         When creating a new ticket, specifies which severity to pre-select
71
72   default.priority::
73         When creating a new ticket, specifies which priority to pre-select
74
75 == [user_class_roles] == #user_class_roles
76
77 This section allows you to define classes of users.  Unauthenticated users are
78 placed in the ''anonymous'' user class.  Authenticated users are placed in the
79 ''authenticated'' user class.
80
81 The names in this section define user classes, and their corresponding values
82 define a list of rights that are granted to users that are in that class.
83
84 The default configuration for this section is reproduced below:
85
86 {{{
87 ; Defines some basic, reasonable, permission sets for 3 classes of user.
88 ; These are used in addition to whatever is selected by auth plugins
89 [user_class_roles]
90 anonymous = ReportViewer,BrowserViewer,WikiViewer,TimelineViewer,RoadmapViewer,TicketViewer
91 authenticated = ReportViewer,BrowserViewer,WikiCreator,TimelineViewer,RoadmapViewer,TicketCreator
92 admin = ReportCreator,BrowserCreator,WikiCreator,TimelineViewer,RoadmapCreator,TicketCreator,EnumerationCreator,ComponentCreator,ProjectCreator
93 }}}
94
95 This give anonymous users read-only access to the major areas of mtrack.
96 Authenticated users are given write access to the major areas.
97
98 This also defines a class called ''admin'' that has full access to all areas of mtrack.
99
100 == [user_classes] == #user_classes
101
102 This names in this section correspond to user names.  The value is the user class that is explicitly assigned to that user.
103
104 For example:
105
106 {{{
107 [user_classes]
108 wez = admin
109 }}}
110
111 places the ''wez'' user in to the ''admin'' user class.  When combined with the
112 above [help:ConfigIni#user_class_roles user_class_roles] causes ''wez'' to
113 belong to each of the groups associated with the ''admin'' class and thus have
114 full access to the system.
115
116 Configuring user_classes is not necessary if you are using an authentication
117 scheme where you control which groups are assigned to the users.
118
119 == [tools] == #tools
120
121 The tools section controls where mtrack finds the various command line tools
122 that it may need to run.
123
124 The names in this section are the tool names and the value is the path to the
125 tool itself.  [help:bin/Init bin/init.php] will try to populate these
126 automatically when it runs, so you will not usually need to make changes here
127 unless you have an alternate version of a given that is not in a standard
128 location.
129
130 == ![nav:mainnav] == #nav:mainnav
131
132 If you want to turn off, rename or add navigation links you can do so by
133 making changes to this section.
134
135 The names in this section correspond to the URL of one of the navigation links
136 and the value is the displayed text.
137
138 To remove the wiki link from navigation:
139
140 {{{
141 [nav:mainnav]
142 /wiki.php =
143 }}}
144
145 To rename the wiki link:
146
147 {{{
148 [nav:mainnav]
149 /wiki.php = Awesome Wiki
150 }}}
151
152 To add a new navigation item:
153
154 {{{
155 [nav:mainnav]
156 http://bitbucket.org/wez/mtrack/ = mtrack home
157 }}}
158
159 == [plugins] == #plugins
160
161 mtrack has a simple plugin system.  After a plugin has been installed, it needs
162 to be configured by adding an entry to this section of the configuration file.
163
164 The names in this section correspond to the names of the plugin classes.  The value is interpreted as a comma separated list of strings that will be passed as arguments to the constructor of that class.
165
166 For example:
167
168 {{{
169 [plugins]
170 MTrackAuth_HTTP = /Users/wez/Sites/svn.htgroup, /Users/wez/Sites/svn.htpasswd
171 }}}
172
173 this will cause mtrack to run the equivalent of the following php code:
174
175 {{{
176 $obj = new MTrackAuth_HTTP(
177         '/Users/wez/Sites/svn.htgroup',
178         '/Users/wez/Sites/svn.htpasswd');
179 }}}
180
181 For more information about plugins, see [help:Plugins].