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