Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

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