|
2 | 2 | Roundup FAQ |
3 | 3 | =========== |
4 | 4 |
|
5 | | -:Version: $Revision: 1.11 $ |
| 5 | +:Version: $Revision: 1.12 $ |
6 | 6 |
|
7 | 7 | NOTE: This is just a grabbag, most of this should go into documentation. |
8 | 8 |
|
@@ -32,6 +32,150 @@ Different jobs run under different users. |
32 | 32 | fetching via pop. |
33 | 33 |
|
34 | 34 |
|
| 35 | + |
| 36 | +The cgibin is very slow! |
| 37 | +~~~~~~~~~~~~~~~~~~~~~~~~ |
| 38 | +Yep, it sure is. It has to do database open/operation/close |
| 39 | +_every_ request. |
| 40 | + |
| 41 | +Solution: |
| 42 | +* use the built in server |
| 43 | +* place the built in server behind apache and link it into your web tree |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | +How do I put it behind apache |
| 48 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 49 | +We have a project (foo) running on foohost.com:8888. |
| 50 | +We want http://foohost.com/FooIssues to use the roundup server, so we |
| 51 | +set that up on port 8888 on foohost.com with the config.py line: |
| 52 | + |
| 53 | + TRACKER_WEB = 'http://foohost.com/FooIssues/' |
| 54 | + |
| 55 | +We have a foo_issues project/tracker configured on roundup and we run the |
| 56 | +server with: |
| 57 | + ~/bin/roundup-server -p 8888 foo_issues=/home/roundup/trackers/foo_issues |
| 58 | + |
| 59 | + |
| 60 | +Then, on the 'front end' host (redhat 7.3 with apache 1.3), in |
| 61 | +/etc/httpd/conf/httpd.conf uncomment: |
| 62 | + |
| 63 | + LoadModule proxy_module modules/libproxy.so |
| 64 | +and |
| 65 | + AddModule mod_proxy.c |
| 66 | + |
| 67 | +Then add: |
| 68 | + |
| 69 | + # roundup stuff (added manually) |
| 70 | + <IfModule mod_proxy.c> |
| 71 | + |
| 72 | + RewriteEngine on |
| 73 | + |
| 74 | + # General Roundup |
| 75 | + RewriteRule ^/Roundup$ Roundup/ [R] |
| 76 | + RewriteRule ^/Roundup/(.*) http://foohost.com:8888/$1 [P] |
| 77 | + |
| 78 | + # Redirect to Foo Issues |
| 79 | + RewriteRule ^/Roundup/foo_issues(.*) FooIssues$1 [R] |
| 80 | + |
| 81 | + # Handle Foo Issues |
| 82 | + RewriteRule ^/FooIssues$ FooIssues/ [R] |
| 83 | + RewriteRule ^/FooIssues/(.*) http://foohost.com:8888/foo_issues/$1 [P] |
| 84 | + |
| 85 | + </IfModule> |
| 86 | + |
| 87 | +Then restart apache. |
| 88 | + |
| 89 | +Now apache will proxy the request on to the roundup server. |
| 90 | + |
| 91 | +Obviously you need to add the last 3 RewriteRule lines for each |
| 92 | +project/tracker that you have. |
| 93 | + |
| 94 | +You can now firewall off port 8888 from the rest of the world. |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | + |
| 100 | + |
| 101 | +Templates |
| 102 | +--------- |
| 103 | + |
| 104 | +What is that stuff in ~/trackers/foo_issues/html/* |
| 105 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 106 | +This is the template code that roundup uses to display the various pages. |
| 107 | + |
| 108 | +This is bases upon the template markup language in zope. |
| 109 | + |
| 110 | +Have a look at: |
| 111 | + |
| 112 | + http://www.zope.org/Documentation/Books/ZopeBook/current/contents |
| 113 | + |
| 114 | +chapter 5 Using Zope Page Templates |
| 115 | +and chapter 9 Advanced Page Templates |
| 116 | + |
| 117 | + |
| 118 | +But I just want a select/option list for .... |
| 119 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 120 | +Really easy... |
| 121 | + |
| 122 | +Edit issue.item |
| 123 | + |
| 124 | +For 'nosy', change line 53 from: |
| 125 | + <span tal:replace="structure context/nosy/field" /> |
| 126 | +to |
| 127 | + <span tal:replace="structure context/nosy/menu" /> |
| 128 | + |
| 129 | +For 'assigned to', change line 61 from: |
| 130 | + <td tal:content="structure context/assignedto/field">assignedto menu</td> |
| 131 | +to: |
| 132 | + <td tal:content="structure context/assignedto/menu">assignedto menu</td> |
| 133 | + |
| 134 | +get the idea? |
| 135 | + |
| 136 | + |
| 137 | + |
| 138 | +Great! But now the select/option list is too big |
| 139 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 140 | +Thats a little harder (but only a little ;^) |
| 141 | + |
| 142 | +Edit issue.item |
| 143 | + |
| 144 | +For nosy, change line 53 from: |
| 145 | + (see above) |
| 146 | +to |
| 147 | + <span tal:replace="structure python:context.nosy.menu(height=3)" /> |
| 148 | + |
| 149 | +and then, like me, go and read about Zope templates. |
| 150 | + |
| 151 | + |
| 152 | + |
| 153 | + |
| 154 | + |
| 155 | +Using Roundup |
| 156 | +------------- |
| 157 | + |
| 158 | + |
| 159 | +I got an error and I cant reload it! |
| 160 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 161 | +If you're using netscape/mozilla, try holding shift and pressing reload. |
| 162 | +If you're using IE then install mozilla and try again ;^) |
| 163 | + |
| 164 | + |
| 165 | + |
| 166 | +I tried changing my password and I got 'invalid one time ticket' or something |
| 167 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 168 | +Ok, so I said to use mozilla, well apparently it 'double requests' pages |
| 169 | +from roundup. |
| 170 | + |
| 171 | +This means the first request worked (ie, your request was processed) then |
| 172 | +mozilla/galeon/children tried again and that request failed (ie, it tried to |
| 173 | +perform an operation using a no longer valid ticket). |
| 174 | + |
| 175 | +Dont worry, it worked. :^) |
| 176 | + |
| 177 | + |
| 178 | + |
35 | 179 | ----------------- |
36 | 180 |
|
37 | 181 | Back to `Table of Contents`_ |
|
0 commit comments