File: faq.html

package info (click to toggle)
gforge 3.1-31sarge5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 9,148 kB
  • ctags: 11,865
  • sloc: sql: 27,860; php: 25,574; perl: 7,124; xml: 3,152; sh: 2,586; ansic: 315; makefile: 143
file content (371 lines) | stat: -rw-r--r-- 16,191 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<html>
<head>
<title>GForge 3.0 FAQ</title>
</head>
<body>

<h2><center>GForge 3.0 FAQ</center></h2>
<h3><center>Updated 6/20/2003</center></h3>
<h3><center>Suggestions are <a href="http://gforge.org/forum/forum.php?forum_id=6">welcome</a>.</center></h3>

<br/><a href="#users">Users FAQ</a>
<br/><a href="#administrators">Administrators FAQ</a>
<br/><a href="#developers">Developers FAQ</a>

<a name="users"></a>
<h2>Users</h2>

<ol>
<li>
<b>I've submitted a new project request to <a href="http://gforge.org/">GForge</a> but it's not up yet.  What gives?</b>
<p>http://gforge.org/ isn't a hosting site - it's the home of the GForge project itself. If you want a project hosted somewhere, you might want to submit it to <a href="http://sf.net/">Sourceforge</a> or <a href="http://savannah.gnu.org/">Savannah</a>.
</li>

<li>
<b>How do I move an item from the bug tracker to the feature request tracker?  Or from any tracker to any other tracker?</b>
<p>First, give yourself admin rights on both trackers by clicking on the Tracker tab, clicking on the Admin link, clicking on the Bug tracker, click on "Add/Update Users & Permissions", and add yourself to the tracker.  Do the same for the feature request tracker.  Now click on the Tracker tab, click on the Bug tracker, click on the bug you want to move, and then select the Feature Request tracker from the "Data Type" dropdown box.  Hit Submit and voila!  It's moved.
</li>
</ol>

<a name="administrators"></a>
<h2>Administrators</h2>

<ol>
<li>
<b>I installed GForge, but when I point my browser to http://mygforgesite/, I think I'm getting an infinite redirection-loop since a dialog appears saying that the redirection limit has been exceeded.
</b>
<p>
Is it possible that your database does not allow connections from the webserver host? Verify your pg_hba.conf file is configured. Also verify that you started postgres with the -i option.

If that doesn't work, go into common/include/database.php and remove the @ sign from <code>$conn=@pg_pconnect</code> in db_connect() function call. This will print debug output for you.
<p>If that's not the problem, ensure that your php.ini file contains the entry <code>register_globals=on</code>.
</li>
<br></br>
<li>

<b>
I'm just get a blank screen when going to the front page.

</b>
<p>
Be sure that php-pgsql is installed on your system.
</li>
<br></br>

<li>
<b>
 On my RH 8.0 server the downloads don't work
</b>
<p> 
This is because download.php uses the slash as parameter. To make it work, modify the
<pre>/etc/httpd/conf.d/php.conf:</pre>

<pre>
&lt;Files *.php&gt;
SetOutputFilter PHP
SetInputFilter PHP
AcceptPathInfo On
LimitRequestBody 5524288
&lt;/Files&gt;
</pre>

</li>

<li>
<b>
I installed GForge, but when connecting to the site, I receive the error message: cannot connect to database:
</b>
<p>

Be sure that postgres is running with the -i option:
<p>
To start the postmaster you should have something like the following in /etc/init.d/postgresql
<p>
<code>
su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D $PGDATA -o '-i' -p /usr/bin/postmaster start &gt; /var/log/pgsql_log 2&gt;&amp;1" &lt; /dev/null
</code>
<p>
Note that the -i is very important since it allows connections by TCP/IP on port 5432 by default.
<p>
If you're using Mandrake Linux, please read the database installation notes for that distribution here - http://gforge.org/docman/display_doc.php/8/installation.html.

</li>
<br></br>
<li>
<b>
On my RH 8.0, /projects and /users don't work.

</b>
<p>
Be sure that your <pre>/etc/httpd/conf.d/php.conf</pre> contains the following instructions:

<p>
<pre>
&lt;Files projects&gt;
    SetOutputFilter PHP
    SetInputFilter PHP
AcceptPathInfo on
&lt;/Files&gt;

&lt;Files users&gt;
    SetOutputFilter PHP
    SetInputFilter PHP
AcceptPathInfo on
&lt;/Files&gt;
</pre>
</li>

<li>
<b>Approving a project results in a blank page with no errors</b>
<p>Disable the LDAP support - i.e., in local.inc, set <code>$sys_use_ldap=0</code>.
</li>

<br></br>

<li>
<b>What's the relationship between a GForge user account and a regular Unix user account?</b>
<p>A user creates a new account by filling out a form with a username, password, email address and so on.  An MD5 hash of the password gets put into the database tables and also used as a hyperlink with which the user can confirm the email address.  So, initially, there's no connection.  
<p>However, there are several scripts - like <a href="http://savannah.nongnu.org/cgi-bin/viewcvs/gforge/gforge/utils/new_parse.pl?rev=1.13&content-type=text/vnd.viewcvs-markup">new_parse.pl</a> - which can be used to create users and groups from the GForge projects and users.  new_parse.pl isn't working right now, so you'll have to either create Unix users by hand or fix the script.  If you do the latter, please share the fix via a <a href="http://gforge.org/tracker/?atid=106&group_id=1&func=browse">patch</a>.
<br></br>

<li>
<b>How do I get rid of "Code snippets" and "Project Tree" tabs on the main page?</b>
<p>You'll need to edit some code - specifically, <code>www/include/Layout.class</code>.  Open this file, scroll down until you get to the line <code>function outerTabs($params)</code>.  Now start editing - comment out the stuff that has to do with the things you want to remove.  So, for example, if you wanted to remove the "Code Snippets", you could change the function to look like this:
<pre>
	function outerTabs($params) {
		global $Language;
		$TABS_DIRS[]='/';
		$TABS_DIRS[]='/my/';
		$TABS_DIRS[]='/softwaremap/';
		//$TABS_DIRS[]='/snippet/';				<<<----- comment out this line
		$TABS_DIRS[]='/people/';
		$TABS_TITLES[]=$Language->getText('menu','home');
		$TABS_TITLES[]=$Language->getText('menu','mypage');
		$TABS_TITLES[]=$Language->getText('menu','projectree');
		//$TABS_TITLES[]=$Language->getText('menu','code_snippet');		<<<----- and this line
		$TABS_TITLES[]=$Language->getText('menu','project_help_wanted');

		if (user_ismember(1,'A')) {
			$TABS_DIRS[]='/admin/';
			$TABS_TITLES[]=$Language->getText('menu','admin');
		}
		if ($params['group']) {
			// get group info using the common result set
			$project =& group_get_object($params['group']);
			if ($project->isError()) {
		
			} elseif (!$project->isProject()) {
			
			} else {
				$TABS_DIRS[]='/projects/'.$project->getUnixName().'/';
				$TABS_TITLES[]=$project->getPublicName();
				$selected=count($TABS_DIRS)-1;
			}
		} elseif (strstr($GLOBALS['REQUEST_URI'],'/my/') || strstr($GLOBALS['REQUEST_URI'],'/account/')) {
			$selected=array_search("/my/", $TABS_DIRS);
		} elseif (strstr($GLOBALS['REQUEST_URI'],'softwaremap')) {
			$selected=array_search("/softwaremap/", $TABS_DIRS);
		//} elseif (strstr($GLOBALS['REQUEST_URI'],'/snippet/')) {		<<<----- and these 2 lines
		//	$selected=array_search("/snippet/", $TABS_DIRS);		<<<----- and these 2 lines
		} elseif (strstr($GLOBALS['REQUEST_URI'],'/people/')) {
			$selected=array_search("/people/", $TABS_DIRS);
		} elseif (strstr($GLOBALS['REQUEST_URI'],'/admin/') && user_ismember(1,'A')) {
			$selected=(count($TABS_DIRS)-1);
		} else {
			$selected=0;
		}
		echo $this->tabGenerator($TABS_DIRS,$TABS_TITLES,false,$selected,'#E0E0E0','100%');
	}
</pre>
</li>

<li>
<b>My Postgres database is getting pretty big - is there a way to make it smaller?</b>
<p>Sure, run <code>vacuumdb -f -z</code>, like this:</p>
<pre>
[root@hal data]# vacuumdb -f -z -U gforge gforge
VACUUM
[root@hal data]#
</pre>
<p>This does "full vacuuming" whatever that is, and also updates optimizer hints.</p>
<p>Another suggestion is to dump and restore the database.  If you've done so and would like to provide a step by step guide, please post to the forums, thanks!</p>
</li>

<br></br>

<li>
<b>To quote from a user who saw this problem: &quot;I've been verifying the functions of my gforge installation. I've been able to create projects, add users, and get cvsweb working. I've successfully added to the Forums, Lists, Surveys, and News. I have not been able to make any additions to any of the Tracker categories, i.e. Bugs, Support Requests, etc. I'm able to fill out the template, but the information doesn't seem to make it into the database. Searches for bugs that I just created turn up no records.&quot;</b>
<p>Check your php.ini file - ensure file_uploads = On.
</li>

<li>
<b>Will GForge work with QMail?</b>
<p>Yup, it should, as long as <code>/usr/sbin/sendmail</code> is symbolically linked to <code>/var/qmail/bin/sendmail</code>, which is the way qmail is usually installed.</p>
</li>

<li>
<b>How do I add a new license?</b>
<p>Go to the site admin page and click on "Add to the Trove Map".  Then select "License" in the top drop-down box and type in the rest of the information on your license in the other boxes.  Then you can go to a project and select "Admin" and "Trove Categorization::Edit" to change the project to the new license.</p>
</li>

<li>
<b>When I update a task with a comment I get the following error:</b>
<pre>
<p>update():: AddMessage():: ERROR: pg_aclcheck: class "project_messa_project_messa_seq" not found.
</pre>
<p>In fact, poking around my database a bit, there seem to be a lot of sequences missing.  What gives?</b>
<p>Are you running an old version of Postgres - i.e. 7.1?  Since then, the maximum size of a sequence changed from an int to a long (when?) and the GForge database creation script is set up to use the newer limits.  So, edit <code>db/gforge3.sql</code> and do a search and replace of <code>9223372036854775807</code> with <code>2147483647</code>.  Then rerun <code>db/gforge3.sql</code> and see if the sequences get created and the problems go away.</p>
<p>Note that if there are already some entries in those tables you might need to reset the sequence like this:
<pre>
select setval('project_messa_project_messa_seq',max(project_message_id)) from project_messages;
</pre>
</li>

<li>
<b>How can I get xinetd to work with pserver when --allow-root will only work with one or two entries?</b>
<p>Change your <code>/etc/xinetd.d/cvspserver</code> to look like this:
<pre>
service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/mypserver.sh
server_args = -f
}
</pre>
<p>And then add this little gem in as <code>/usr/bin/mypserver.sh</code>:
<pre>
#!/bin/sh
/usr/bin/cvs -f `ls -d /cvsroot/* | sed -e '1,$s/.*/--allow-root=&/'` pserver
</pre>
</li>

<li>
<b>I've set up GForge on Apache behind a ProxyPass and now I'm getting infinite redirects!</b>
<p>Try setting the <code>ProxyPreserveHost</code> directive to <code>On</code>:
<pre>
&lt;VirtualHost *&gt;
ServerAdmin webmaster@myhost.com
ServerName forge.myhost.com
ErrorLog logs/forge.myhost.com.log
CustomLog logs/forge.myhost.com-access.log common
ProxyPass / http://192.168.1.13/
ProxyPassReverse / http://192.168.1.13/
ProxyPreserveHost On
&lt;/VirtualHost&gt;
</pre>
</li>

<li>
<b>When I try to upload large documents I get various PHP errors.  How can I increase the maximum file upload size?</b>
<p>Bump up the following parameters in <code>php.ini</code> as high as you want:
<pre>
; Maximum allowed size for uploaded files.
upload_max_filesize = 10M

; Maximum size of POST data that PHP will accept.
post_max_size = 10M

; Maximum amount of memory a script may consume
memory_limit = 10M
</pre>

<p>Note that if you have set the <code>LimitRequestBody</code> directive in your <code>httpd.conf</code> you'll also need to raise that to a correspondingly high number.

</li>

</ol>

<a name="developers"></a>
<h2>Developers</h2>
<ol>
<li>
<b>How can I check out the GForge code?</b>
<p>You can check it out by typing:
<pre>
cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/gforge login 
</pre>
and hitting [enter] when prompted for a password.  Then type
<pre>
cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/gforge co gforge
</pre>
to actually check out the code.  You can browse the CVS repository <a href="http://savannah.nongnu.org/cgi-bin/viewcvs/gforge/">here</a> and read a bit more about how to do checkouts and such <a href="http://savannah.nongnu.org/cvs/?group=gforge">here</a>.
</li>
<br></br>

<li>
<b>Now that I've checked out the code, how do I initialize the database?</b>
<p>First apply <code>gforge3.sql</code>:
<pre>
psql -U gforge -f gforge3.sql gforge < gforge3.sql
</pre>
<p>Then apply any .sql files that have occurred since the most recent release.  For example, if you checked out GForge on 07 Jan 2003, you would apply gforge3.sql, and then, since pre8 was released on 30 Dec 2002, you'd also apply 20030102-drops.sql, 20030102.sql, 20030105.sql, and 20030107.sql.
<p>If you make some database changes and want to submit them back to the project, include a dated sql file in your patch.  If you want to, you can supply a new version of gforge3.sql by:
<ol>
<li>Creating a new DB and running all the recent SQL updates
<li>Add your changes
<li>Dump the DB using <code>pg_dump -s | grep ^-- > new_gforge3.sql</code> which should give you the database schema without comments.
</ol>
</li>

<br>
<li>
<b>How do I use diff to create a patch?</b>
<p>If you've checked out the code, go to the top of the CVS tree and type <code>cvs diff -u > mydiff.diff</code>.  Or, if you're diffing against a release, you can go to the directory above the original code and your modified code and type <code>diff -uNr original-gforge-3.0pre7/ modified-GForge-3.0pre7/</code>.  This will result in something like:
<pre>
[tom@shire foo]$ diff -Nur f1 f2
diff -Nur f1/foo.txt f2/foo.txt
--- f1/foo.txt  Fri Dec 20 16:21:07 2002
+++ f2/foo.txt  Fri Dec 20 16:21:19 2002
@@ -1 +1 @@
-helo
+helo workld
[tom@shire foo]$
</pre>
which you can then submit using the <a href="http://gforge.org/tracker/?atid=106&group_id=1&func=browse">patch manager</a>.
</li>

<br></br>
<li>
<b>Is there an IRC channel where developers hang out?</b>
<p>Yup, sure is, it's on irc.freenode.net:6667 on the channel #gforge.
</li>

<br></br>
<li>
<b>How do I create a new theme?</b>
<p>There's a separate HOWTO on this topic now - right <a href="http://gforge.org/docman/view.php/1/27/gforge-themes-HOWTO.html">here</a>.
</li>

<br></br>
<li>
<b>I've modified the documentation; how do I generate the PDF files?</b>
<p>GForge uses <a href="http://maven.apache.org/">Maven</a> to generate the documentation.  To use it:
<ol>
<li>Install the latest Maven release (b9 as of today).
<li>Set up an environmental variable <code>MAVEN_HOME</code> to whereever you checked out the Maven code
<li>Add <code>$MAVEN_HOME/bin</code> to your PATH
<li>Run the <code>build-bootstrap.xml</code> Ant build script, i.e., <code>ant -f build-bootstrap.xml</code>
<li>When that's done, run <code>gforge/docs/xdocs/generate_docs.sh</code>.
<li>Now you've got a PDF file and a zip file full of HTML in the <code>gforge/docs/xdocs/</code> directory.  Yay!
</ol>
</li>

<br></br>
<li>
<b>How can I get GForge to store its data in a MySQL database?</b>
<p>You could do it, but why bother?  To quote Tim Perdue - "GForge could not be made to run on the primitive MySQL database without serious hacking, and I won't accept those kinds of changes back into the system.  For the amount of work involved in such a project, you'd be better off taking an hour to learn postgres. It's a superior database in every way, with the only point of debate being speed on simple 'hello world' type applications".
<p>It'd be a lot of work because:
<ol>
<li>GForge uses Postgres stored procedures, so you'd have to convert those into PHP functions
<li>GForge uses Postgres functions like pg_connect, so you'd have to replace those with the MySQL equivalents
<li>GForge uses subselects, so you'd have to rewrite those to use temporary tables or whatever (MySQL 4.1 supports subselects, so once it becomes production-ready, this won't be a barrier anymore)
</ol>
</li>
</ol>
 
</body>
</html>