Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1305 dpurdie 1
# -*-perl-*-
2
# Configuration file for codestriker.pl.
3
 
4
# Database to use for storing codestriker data.  Examples given are
5
# MySQL, Oracle, SQL Server, and PostgreSQL Refer to the
6
# documentation on how to create the Codestriker database.
7
 
8
# Example of a MySQL database URL residing on the same machine as the webserver.
9
#$db = 'DBI:mysql:dbname=codestrikerdb';
10
 
11
# Example of a MySQL database on host dbhost.  In this situation, you need to
12
# ensure that the webserver host has permission to connect to the database on
13
# dbhost.  Check the MySQL documentation for further details.
14
#$db = 'DBI:mysql:dbname=codestrikerdb;host=dbhost';
15
 
16
# Example of an oracle database URL.
17
#$db = 'DBI:Oracle:host=127.0.0.1;sid=local';
18
 
19
# Example of an SQL Server ODBC database URL.
20
$db = 'DBI:ODBC:CodestrikerSeattle';
21
 
22
# Example of a PostgreSQL database URL using the native Pg driver.
23
#$db = 'DBI:Pg:dbname=codestrikerdb';
24
 
25
# Example of a SQLite database URL.  Not fully supported yet.
26
#$db = 'DBI:SQLite:dbname=/var/www/codestrikerdb';
27
 
28
# Database user.
29
#$dbuser = 'system';
30
$dbuser = 'Codestriker';
31
 
32
# Database password.
33
#$dbpasswd = 'manager';
34
$dbpasswd = 'Codestriker';
35
 
36
# Location of the mailing host.  This is used when sending out codestriker
37
# comments.
38
$mailhost = 'auperadom10';
39
 
40
# Set the user and password parameters if $mailhost requires SMTP
41
# authentication.  If commented out, it is assumed authentication is 
42
# not required.
43
#$mailuser = 'smtpuser';
44
#$mailpasswd = 'smtppasswd';
45
 
46
# Indicate whether to try and compress output if the client browser
47
# supports it.  This can make a tremendous difference in bandwidth,
48
# especially over slow links.
49
$use_compression = 0;
50
 
51
# Location of gzip.  Gzip is used only if you don't have Compress::Zlib
52
# installed.  Note, if running with mod_perl, you _must_ have Compress:Zlib
53
# installed.  If gzip is not available, this can be set to "".
54
$gzip = '/bin/gzip';
55
 
56
# Location of the cvs binary.
57
#$cvs = 'c:/Program Files/GNU/WinCvs 1.3/CVSNT/cvs.exe';
58
$cvs = '/usr/bin/cvs';
59
 
60
# Location of the svn binary.
61
#$svn = 'c:/Program Files/SVN/svn.exe';
62
$svn = '/usr/bin/svn';
63
 
64
# Location of the ssh binary.  This is only required if a CVS :ext
65
# type repository is used.
66
$ssh = '/usr/local/bin/ssh';
67
 
68
# Location of the p4 (Perforce client) binary.  This does not need to be set
69
# if you are bot using any Perforce repositories.
70
$p4 = '/usr/local/bin/p4';
71
 
72
# Location of the vss binary.  This can be ignored for deployments which don't
73
# use VSS (Visual Source Safe).
74
$vss = 'C:/Program Files/Microsoft Visual Studio/VSS/win32/ss.exe';
75
 
76
# Temporary directory Codestriker can use.  For *NIX platforms, this will
77
# /tmp by default, for Windows 2000 c:\winnt\temp and for XP, c:\windows\temp.
78
# For Win32 deployments, these temp directories may not be accessible to
79
# the user running IIS or Apache, so explicitly specify an apprioriate
80
# directory here that exists on the system.  For *NIX platforms, there is
81
# usually no need to do anything here.
82
#$tmpdir = '/tmp/codestriker';
83
$tmpdir = 'f:/temp';
84
 
85
# If codestriker is installed differently to that described in the README file
86
# (for example on the sourceforge servers), it may be necessary to explicitly
87
# specify the location of the codestriker_css as a URL.
88
$codestriker_css = '';
89
 
90
# Valid repositories which may be selected at the create topic screen.
91
# The order shown here is the order presented in the option list.  Most
92
# deployments will only require a single repository to be specified.
93
# Comment out / modify entries appropriate for your deployment.
94
#
95
# If this list is empty it won't be possible to view the entire contents of a
96
# file before the proposed change and/or after. All of the places 
97
# in the application that ask for, or display repository information will
98
# be hidden and lastly, it will be impossible to make a diff review topic
99
# on files that already checked in.
100
#
101
# You also need to make sure that the user running your webserver has
102
# permission to run the client SCM program (eg, cvs, p4, svn), and to
103
# connect to the repository.
104
@valid_repositories =
105
    (
106
     # Example CVSROOT of a CVS repository on the same machine as the
107
     # codestriker server.
108
     #'/home/sits/cvs',
109
 
110
     # Example of a CVS repository which contains the URL to a viewcvs
111
     # installation (CVS web is also supported), followed by the
112
     # CVSROOT of the repository.
113
     #'http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi /cvsroot',
114
 
115
     # The next example is the syntax used for specifying a Subversion
116
     # repository, which is simply the subversion repository URL
117
     # prefixed # by svn:
118
     #'svn:http://svn.collab.net/repos/svn/trunk',
119
 
120
     # Subversion server with authentication.  The user name and
121
     # password should be added to the end and separated by
122
     # semicolons.
123
     #'svn:http://svn.collab.net/repos/svn/trunk;username;password',
124
 
125
     # Subversion server that uses the Subversion protocol.
126
     #'svn://my.subversion.server/repos/product/trunk',
127
 
128
     # Example CVS pserver config with username and password
129
     # specified.
130
     #':pserver:sits:password@cvs.sourceforge.net:/cvsroot',
131
 
132
     # Example CVS pserver config with proxy options.
133
     #':pserver;proxy=abc.com;proxyport=8080:sits:pwd@cvs.dev.net',
134
 
135
     # Example CVS pserver with empty password.
136
     #':pserver:anonymous:@cvs.sourceforge.net:/cvsroot',
137
 
138
     # Example CVS server which will be connected to with SSH.  This
139
     # assumes the appropriate ssh keys have been created so that the
140
     # process running the Codestriker application can connect to the
141
     # CVS server without requiring a password to be entered.
142
     #':ext:sits@localhost:/home/sits/cvs',
143
 
144
     # Visual SourceSafe repository on same machine at default
145
     # location.  Username "admin", password "password".
146
     #'vss:admin;password',
147
 
148
     # Visual SourceSafe repository on same machine, but with specific
149
     # repository location specified.
150
     #'vss:c:\\Program Files\\Microsoft Visual Studio\\VSS;admin;password',
151
 
152
     # Visual SourceSafe repository located on a network fileshare.
153
     #'vss:\\\\VisualSourceSafeMachineName\\SharedRepositoryPath;admin;password',
154
     # Example Win32 CVS repository on the same machine.
155
     #':local:c:\\cvsrep',
156
 
157
     # Another Win32 CVS repository on the same machine.
158
     #'c:/cvsrep2',
159
 
160
     # The next example is for a Perforce repository.  After the
161
     # leading :perforce identifier, the next two components are the
162
     # Perforce user and password parameters.  The last two parameters
163
     # after the '@' symbol represent the host and port number of
164
     # the Perforce server.
165
     #'perforce:sits:password@localhost:1666',
166
 
167
     # Same as previous example, but with no password specified.
168
     #'perforce:sits@localhost:1666',
169
 
170
     # The next example is a ClearCase repository, where the path is
171
     # the location of a shared snapshot view.  From this view, it
172
     # should be  possible to a file of any version can be 
173
     # retrieved from the vob using the "cleartool get" command.  It
174
     # is important that this snapshot view is accessible with the
175
     # same path specification for all developers.  This is because
176
     # a diff file created by a developer will refer to the snapshot
177
     # view, and will allow Codestriker to retrieve specific files
178
     # and versions mentioned in the review text, when necessary.
179
     # It is also important that the user account running the
180
     # webserver process has permission to access to the snapshot
181
     # view.
182
     #'clearcase:c:\\stuff\\view_name\\vob_name'
183
 
184
     # The next example is a repository based off a ClearCase dynamic view.
185
     # The clearcase identifier is followed by the dyn indicator,
186
     # followed by the view name, followed by the location where the
187
     # view is loaded.
188
     # 'clearcase:dyn:viewname:/vobs' 
189
     'clearcase:dyn:auperaweb08_techgp_latest_codestriker_view:O:\\auperaweb08_techgp_latest_codestriker_view'
190
    );
191
 
192
# A mapping of repository URLs to names.  In any screen where a
193
# repository is displayed, if there is a mapping for the repository
194
# defined here, then the symbolic name will be displayed instead of
195
# its raw URL.  This is useful when the URL contains sensitive
196
# username/password information, or the symbolic name is more
197
# meaningful to the end-user.  If there is no mapping defined for a
198
# specific repository, its URL will be displayed.
199
$repository_name_map =
200
{
201
'clearcase:dyn:auperaweb08_techgp_latest_codestriker_view:O:\\auperaweb08_techgp_latest_codestriker_view' => 'Technology Group Latest Codestriker ClearCase view profile'
202
};
203
 
204
# A mapping of repositories to filename viewers.  Examples of such systems
205
# would be CVSweb and ViewCVS, for local repositories.  Mappings are
206
# not required for remote CVSweb and ViewCVS repositories, as they are
207
# viewers themselves.  When viewing reviews, links from filenames will be
208
# mapped to these URLs, to obtain revision log information for that file.
209
$file_viewer =
210
{
211
    '/home/sits/cvs' => 'http://localhost/cgi-bin/cvsweb.cgi'
212
};
213
 
214
# Exclude these file types from review topics.   
215
# You will generally want to exclude any non-human-readable files.
216
@exclude_file_types = ('rtf', 'doc', 'gif', 'bmp', 'jpeg', 'jpg', 'mdb',
217
		       'ppt', 'vsd', 'xls', 'zip', 'tgz', 'tar', 'gz',
218
		       'opt', 'aps', 'ncb', 'a', 'so', 'dll', 'lib',
219
		       'exe', 'png', 'pdf', 'bin', 'out', 'ld', 'fm',
220
		       'indd', 'wav', 'o', 'obj', 'mpp', 'vsw', 'jfif',
221
		       'tif', 'tiff', 'xbm', 'fnt', 'ttf', 'pfm', 'pfb',
222
		       'eps', 'wpj', 'sxi');
223
 
224
# The number of problems found per line drops if the size of the 
225
# topic is too large. A common inspection pitfall is for authors to 
226
# attempt to review too much material and then miss problems. 
227
# These two options allow the Codestriker administrator to limit 
228
# the length of the topics. Topics that have more lines than 
229
# $maximum_topic_size_lines are rejected when they are created. 
230
# Topics that are larger than $suggested_topic_size_lines generate 
231
# a warning displayed in the topic page, but are accepted into the 
232
# system. Codestriker measures that length of the topic by counting 
233
# the number of lines in the topic text.
234
#
235
# The codestriker default of not enforcing any limits is specified by
236
# settings either option to an empty string. If you are not sure 
237
# what a reasonable limit would be, start with a suggested_topic_size_lines
238
# set to 350, and adjust with experience.
239
$maximum_topic_size_lines = '';
240
$suggested_topic_size_lines = '';
241
 
242
# The default viewing mode to use in the URL when creating a topic.  Can
243
# be either ($NORMAL_MODE, $COLOURED_MODE or $COLOURED_MONO_MODE).  These
244
# values should not be changed.
245
$NORMAL_MODE = 0;
246
$COLOURED_MODE = 1;
247
$COLOURED_MONO_MODE = 2;
248
 
249
$default_topic_create_mode = $COLOURED_MODE;
250
 
251
# The default line break viewing mode to use in the URL when viewing a
252
# topic.  Can be either $LINE_BREAK_NORMAL_MODE or $LINE_BREAK_ASSIST_MODE.
253
# Using $LINE_BREAK_ASSIST_MODE indicates that extra line breaks may be
254
# used in the topic display if the review has very long code lines.  Using
255
# $LINE_BREAK_NORMAL_MODE will ensure that the display matches the line
256
# breaks present in the code.  The line break mode can also be changed
257
# dynamically in the view topic screen.  There is usually no need to
258
# change this setting unless you regularly review code with very long
259
# lines.
260
$LINE_BREAK_NORMAL_MODE = 1;
261
$LINE_BREAK_ASSIST_MODE = 2;
262
 
263
$default_topic_br_mode = $LINE_BREAK_ASSIST_MODE;
264
 
265
# When displaying a topic, if this value is -1, then all files in the
266
# topic are displayed in the one page (default old Codestriker
267
# behaviour).  If the value is 0, then only the first file is shown,
268
# with links to display the other files.  This is useful for those
269
# deployments that review a large amount of code.
270
$default_file_to_view = 0;
271
 
272
# List of valid topic states.  Note these values are mapped to the database
273
# depending on their position in the list.  ie, Open -> 0, Closed -> 1, etc.
274
# There is no problem added new states dynamically, or changing the textual
275
# names.  Note, the initial topic state must be the first element.  If
276
# the 'Obsoleted' state is removed, then it will not be possible to obsolete
277
# topics.  If the 'Deleted' state is removed, then it will not be possible
278
# to delete topics.
279
@topic_states = ('Open', 'Closed', 'Reviewed', 'Actioned', 'Obsoleted', 'Deleted');
280
 
281
# Which states (in topic_states, above) will be displayed on the default
282
# project page
283
@default_topic_states = ('Open', 'Reviewed', 'Actioned');
284
 
285
# Which states (in topic_states, above) represent a 'readonly' state.
286
# If a topic is in a readonly state, then certain activities are disabled, such
287
# as adding new comments, editing the metrics of existing comments, etc.
288
@readonly_states = ('Closed', 'Obsoleted', 'Deleted');
289
 
290
# Indicate if topics can be listed/searched.  Turning this to false can be
291
# useful for "anonymous" installations of codestriker.
292
$allow_searchlist = 1;
293
 
294
# The following controls project configuration.  Each Codestriker topic is
295
# a member of a specific project.  Uncomment the option you want
296
# below.  Note the textual state names below cannot be changed.
297
 
298
# Default option, projects are enabled, but they have no state
299
# changing operations (ie, projects are always in state 'Open').
300
@project_states = ('Open');
301
 
302
# Don't use projects at all.  Effectively, an implicit "default
303
# project" is created and associated with all topics behind the scenes.
304
# @project_states = ();
305
#
306
# Allow for projects to be closed.  Closing a project will
307
# not allow new topics to be created in that project.
308
# @project_states = ('Open', 'Closed');
309
#
310
# Allow for projects to be deleted.  This is potentially a dangerous
311
# option to allow, as deleting a project will delete all of its member
312
# topics as well.  Use with caution.
313
# @project_states = ('Open', 'Deleted');
314
#
315
# Allow for projects to be closed and deleted.  Use with caution.
316
# @project_states = ('Open', 'Closed', 'Deleted');
317
 
318
# If true, don't display any email addresses in their true form, but
319
# truncate them, to beat SPAM harvesters.
320
$antispam_email = 0;
321
 
322
 
323
# If comments_sent_to_topic_author is true, codestriker will send 
324
# out email to the topic owner and when a comment is added. If this 
325
# option is false, no email will be sent the topic owner. 
326
#
327
# If comments_sent_to_commenter is set to true, codestriker will
328
# blind cc (bcc) the comment author on all comments. The preceding
329
# comments_sent_to_topic_author must be true in order for the blind
330
# cc of emails to be enabled.
331
#
332
# If topic_state_change_sent_to_reviewers is set to true, codestriker
333
# will send email to the reviewer list when a topic state is changed.
334
#
335
# Emails about each comment may not be needed if a meeting
336
# is planned to discuss the topic. If the comment submitter specifies
337
# a cc user, an email is always sent out, regardless of any email
338
# settings.
339
$email_send_options = 
340
    {
341
    comments_sent_to_topic_author => 1,
342
    comments_sent_to_commenter => 0,
343
    topic_state_change_sent_to_reviewers => 1 
344
    };
345
 
346
# Default width of tabs.  Most developers expect this to be 8, but
347
# some expect to see 4.  This is also stored in the user's cookie, and
348
# can be changed dynamically on the view topic screen.
349
$default_tabwidth = 4;
350
 
351
# Bug database to update.  Currently, Bugzilla and Flyspray are
352
# supported, but it is straight-forward to support other bug
353
# databases.  To enable Bugzilla, set $bug_db to "bugzilla", and set
354
# the following parameters to your setup.  To enable Flysprat, set
355
# $bug_db to "flyspray", and set the relevant parameters.
356
# if the $bug_db is an empty string, all bug-tracking related
357
# features will be disabled.
358
 
359
$bug_db = '';
360
#$bug_db = 'bugzilla';
361
#$bug_db = 'flyspray';
362
 
363
# Bugzilla database connection details.
364
#$bug_db_host = 'localhost';
365
#$bug_db_name = 'bugs';
366
#$bug_db_password = 'bugs_password';
367
#$bug_db_dbname = 'bugs';
368
#$bug_db_user_id = '2';
369
 
370
# Flyspray database connection details
371
#$flyspray_db_host = 'localhost';
372
#$flyspray_db_name = 'flyspray';
373
#$flyspray_db_password = 'flyspray_password';
374
#$flyspray_db_dbname = 'flyspray_dev';
375
#$flyspray_db_user_id = 50;
376
 
377
# The URL to the bug tracking system.  The bug number is appended to the
378
# end of this string when URLs are generated.  This can be left blank if
379
# there is no need for bug-tracking integration.  Below are some example
380
# URLs for Bugzilla and Flyspray.
381
$bugtracker = '';
382
#$bugtracker = 'http://localhost.localdomain/bugzilla/show_bug.cgi?id=';
383
#$bugtracker = '/flyspray_dev/?do=details&id=';
384
 
385
# LXR database.  Each repository can be optionally mapped to a
386
# different LXR deployment.  If a repository has an associated LXR
387
# mapping, then create a new entry where the repository string is the
388
# key, and the value is another map, where "db" is the LXR database
389
# URL, "user" is the database user, "password" is the data password,
390
# and "url" is the base LXR URL for viewing where an identifier is
391
# defined/used.
392
$lxr_map = 
393
{
394
#    '/home/sits/cvs' => { db => 'DBI:Pg:dbname=lxr',
395
#			  user => 'lxr',
396
#			  password => '',
397
#			  url => 'http://localhost.localdomain/lxr/ident?i='
398
#			},
399
#
400
#     'svn:http://svn.collab.net/repos/svn/trunk' =>
401
#                        { db => 'DBI:Pg:dbname=lxr2',
402
#			  user => 'lxr',
403
#			  password => '',
404
#			  url => 'http://localhost.localdomain/lxr2/ident?i='
405
#			}
406
};
407
 
408
# Character encoding to use when reading topic text.  Default is utf8
409
# (compatible with ASCII) if not set, but this can be over-ridden here.
410
# List of example encoding names can be retrieved from the following
411
# URL: http://perldoc.perl.org/Encode/Supported.html.
412
#$topic_text_encoding = 'utf8';
413
#$topic_text_encoding = 'gb2312';
414
 
415
# Each comment thread (or issue) that is created against a specific
416
# code line in Codestriker can have a configurable number of
417
# user-defined metrics recorded against it.
418
#
419
# Every site has their own requirements, below are a number of example
420
# configurations.  The "name" attribute refers to the name of the
421
# metric being recorded.  The "values" attribute is a list of values
422
# that this metric can be assigned to.  The "default_value" attribute
423
# is optional, and indicates what the default value of the metric is
424
# assigned to.  If this attribute is not specified, then the user will
425
# be required to specify a value for a metric when creating a new
426
# comment thread.  This is recommended, so that users think about what
427
# these values should be, rather than blindly accepting default
428
# values.  For the "Status" metric below however, it is recording the
429
# "state" of the thread, so an initial state of "Submitted" is reasonable.
430
# For the other metrics below, an initial value makes no sense.
431
# Metric items can have an optional show_on_main_page list that will
432
# force the numbers of comments with the metric settings to be reported
433
# on the main page of codestriker. 
434
#$comment_state_metrics =
435
#    [ 
436
#      { name             => 'Status', 
437
#	values           => ['Submitted', 'Invalid', 'Completed'],
438
#	default_value    => 'Submitted',
439
#	show_on_mainpage => ['Submitted' ] 
440
#      }
441
#    ];
442
 
443
# Two metrics defined: Status and Type.
444
#$comment_state_metrics =
445
#    [
446
#      { name=>'Status', values=>['Submitted', 'Invalid', 'Completed'],
447
#	                default_value=>'Submitted' },
448
#      { name=>'Type', values=>['Style', 'Minor', 'Major', 'Severe'] }
449
#    ];
450
 
451
# Four metrics defined: Status, Level, Mode and Type.
452
$comment_state_metrics =
453
    [
454
      { name=>'Status', values=>['Submitted', 'Completed', 'Verified'],
455
	                default_value=>'Submitted', show_on_mainpage=>['Submitted'] },
456
      { name=>'Level', values=>['Minor', 'Major', 'Investigate', 'Rejected'] },
457
#      { name=>'Mode', values=>['Missing', 'Wrong', 'Unclear', 'Suggestion'] },
458
#      { name=>'Type', values=>['Logic', 'Data Handling', 'Interface',
459
#			       'Error Handling', 'Performance', 'Comments',
460
#			       'Standards'] },
461
      { name=>'Target', values=>['Code', 'Requirement','Design', 'Build', 'Document/UserGuide'] }
462
    ];
463
#
464
# Case where no comment thread metrics are to be used.
465
#$comment_state_metrics = [];
466
 
467
 
468
# Allows you to override the default title of "Codestriker %version%".
469
$title = "Seattle Codestriker $Codestriker::VERSION";
470
 
471
# This options configures the metric support in codestriker. You have
472
# the following options:
473
#
474
# $metric_config = "none", "basic", "all", "metric name, metric name, etc"
475
#
476
# "none" - turns off all extra metric support in the application. The
477
# metric page will only display and manage data that is strictly
478
# required to perform the review.  Codestriker will not require any
479
# addition data input from the reviewers and authors.  This is the
480
# default. However, you still get basic data like how many topics are
481
# being created and how problems are being found.
482
#
483
# "basic" - Turns on the metrics that are considered to be essential
484
# for a metric program. It will require that reviewers and authors
485
# enter the time spent reviewing the topic, the time spent in the
486
# review meeting, and the time spent preparing for the review. The
487
# metric selection assumes that you are following a formal review
488
# process with a preparation meeting, and a defect review meeting.
489
#   
490
#   kickoff time - time spent preparing for the review
491
#   checking time - time spent actually reviewing the topic.
492
#   logging meeting duration - the time spent in the logging meeting.
493
#
494
# "all" - Turns on all of the metrics that one could possibly want to
495
# track. The list of metrics is from the book "Software Inspection" by
496
# Gilb and Graham.  You should probably not use this unless you are
497
# using a formal process that is well established. You may want to
498
# enable this temporally to get a idea of the types of metrics that
499
# are supported.
500
#
501
# "name,name" - Lastly, you can pick and chose what metrics you would
502
# like to enable.  just list the metric names in a comma separated
503
# list. You can see all of the build in metrics in the
504
# lib/Codestriker.pm file. For example, if you don't hold a kick off
505
# meeting, and but do hold a logging meeting, the basic option will not
506
# quit fit. You should set the $metric_config as:
507
# $metric_config = "checking time,logging meeting duration".
508
#
509
# If you don't like our choices of metrics, the names, descriptions,
510
# etc feel free to edit the lib/Codestriker.pm. It contains
511
# documentations on how to add your own metrics into codestriker. It
512
# is easy to do, and does not require any coding.
513
 
514
$metric_config = "basic";
515
 
516