Only in OncourseHelpTool/: commandline
Only in ohtdev/: commandline.pl
Only in OncourseHelpTool/: CVS
Only in OncourseHelpTool/: .cvsignore
Only in OncourseHelpTool/: default_for_tool.xml
diff -ur ohtdev/FrontEnd.pm OncourseHelpTool/FrontEnd.pm
ohtdev/​FrontEnd.​pmOncourseHelpTool/​FrontEnd.​pm
27 »       ​»       ​·····​toc·​=>·​'toc',​27 »       ​»       ​·····​toc·​=>·​'toc',​
28 »       ​»       ​·····​)​;​28 »       ​»       ​·····​)​;​
29 ····​$self-​>start_mode('docs')​;​29 ····​$self-​>start_mode('docs')​;​
30 30 ····
31 ····​#·​configure·​using·​AppConfig31 ····​#·​configure·​using·​AppConfig
32 ····​my·​$config·​=·​AppConfig-​>new("required_fields​=s@")​;​32 ····​my·​$config·​=·​AppConfig-​>new("required_fields​=s@")​;​
33 ····​$config-​>file(LibConfig:​:​CONFIGFILE)​;​33 ····​$config-​>file(LibConfig:​:​CONFIGFILE)​;​
64 ····​#unless·​all·​the·​required·​parameters·​are·​present·​in·​query-​>params64 ····​#unless·​all·​the·​required·​parameters·​are·​present·​in·​query-​>params
65 ····​unless·​(scalar·​grep·​{·​$self-​>query-​>param($_)​·​}·​@$required_fields·​==·​scalar·​@$required_fields)​·​{65 ····​unless·​(scalar·​grep·​{·​$self-​>query-​>param($_)​·​}·​@$required_fields·​==·​scalar·​@$required_fields)​·​{
66 »       ​my·​$template·​=·​$self-​>_load_and_config_tmp​l('comment_form.​html')​;​66 »       ​my·​$template·​=·​$self-​>_load_and_config_tmp​l('comment_form.​html')​;​
67 »       ​$template-​>associate($self-​>query)​;​67 »       ​$template-​>associate($self-​>query)​;​····
68 »       ​$template-​>param(missing_fields​·​=>·​1)​;​68 »       ​$template-​>param(missing_fields​·​=>·​1)​;​
69 »       ​return·​$template-​>output;​69 »       ​return·​$template-​>output;​
70 ····​}70 ····​}
83 sub·​confirm_comment·​{83 sub·​confirm_comment·​{
84 ····​my·​$self·​=·​shift;​84 ····​my·​$self·​=·​shift;​
85 ····​my·​$template·​=·​$self-​>_load_and_config_tmp​l('confirm_comment.​html')​;​85 ····​my·​$template·​=·​$self-​>_load_and_config_tmp​l('confirm_comment.​html')​;​
86 ····​$template-​>associate($self-​>query)​;​86 ····​$template-​>associate($self-​>query)​;​····
87 ····​my·​$fields·​=·​$self-​>param('config')​-​>comment_fields;​87 ····​my·​$fields·​=·​$self-​>param('config')​-​>comment_fields;​
88 }88 }
89 89
127 127
128 128
129 sub·​search·​{129 sub·​search·​{
130 ····​#·​FIXME:​·​having·​search_form·​in·​WebInterface·​and·​all·​the·​other·​search·​methods·​here·​is·​confusing
130 ····​my·​$self·​=·​shift;​131 ····​my·​$self·​=·​shift;​
131 ····​my·​$template·​=·​$self-​>_load_and_config_tmp​l('search.​html')​;​132 ····​my·​$template·​=·​$self-​>_load_and_config_tmp​l('search.​html')​;​
132 ····​$template-​>param(search_form=>·​$self-​>search_form,​133 ····​$template-​>param(search_form=>·​$self-​>search_form,​
134 ····​return·​$template-​>output;​135 ····​return·​$template-​>output;​
135 }136 }
136 137
137 ·sub·​search_form·{138 #FIXME·​search_results·should·be·in·WebInterface
138 »       ​·····my·$self·=·shift;​
139 »       ​·····my·$template=$self-​>_load_and_config_tmp​l('search_form.​html')​;​
140 »       ​·····my·$query·=·$self-​>query-​>param('query')​;​
141 »       ​·····$template-​>param(·query·=>·$query,​
142 »       ​·······················)​;​
143 »       ​·····return·$template-​>output;​
144 »       ​·}
145
146 sub·​search_results·​{139 sub·​search_results·​{
147 ····​my·​$self·​=·​shift;​140 ····​my·​$self·​=·​shift;​
148 ····​my·​$query·​=·​$self-​>query-​>param('query')​;​141 ····​my·​$query·​=·​$self-​>query-​>param('query')​;​
149 ····​my·​$template=$self-​>_load_and_config_tmp​l('search_results.​html')​;​142 ····​my·​$template=$self-​>_load_and_config_tmp​l('search_results.​html')​;​
150 ····​my·​($results,​$docs,​$num_results)​·​=·​(undef,​[],​0)​;​143 ····​my·​($results,​$docs,​$num_results,​$no_exist)​·​=·​(undef,​[],​0,​'')​;​
151 ····​if·​($query)​·​{144 ····​if·​($query)​·​{·
152 »       ​$results·​=·​VirtualKB-​>do_search(query=>·​$query,​145 »       ​$results·​=·​VirtualKB-​>do_search(query=>·​$query,​
153 »       ​»       ​»       ​»       ​»       ​backend=>·​"Backend:​:​RestClient"146 »       ​»       ​»       ​»       ​»       ​backend=>·​"Backend:​:​RestClient",​
147 »       ​»       ​»       ​»       ​»       ​xml_simple_params=>·​{
148 »       ​»       ​»       ​»       ​»       ​····​SuppressEmpty=>·​1,​
149 »       ​»       ​»       ​»       ​»       ​····​GroupTags·​=>·​{results=>·​'result'},​
150 »       ​»       ​»       ​»       ​»       ​····​ForceArray·​=>·​["result"],​
151 »       ​»       ​»       ​»       ​»       ​}
154 »       ​»       ​»       ​»       ​»       ​)​;​152 »       ​»       ​»       ​»       ​»       ​)​;​
155 »       ​$docs·​=·​$results-​>get_output_hash-​>{'content'}{'pagedDo​cuments'}{'content'}·​||·​[];​153 »       ​$docs·​=·​$results-​>get_output_hash-​>{results}·​||·​[];​
156 ········​$self-​>set_archived_title_p​refixes($docs)​;​154 »       ​$num_results·=·​$results-​>get_output_hash-​>{resultsNum}·||·0;​
157 »       ​$num_results·​=·​$results-​>get_output_hash-​>{'content'}{'pagedDo​cuments'}{'totalEleme​nts'}·​||·0;​155 »       ​$no_exist·​=·​$results-​>get_output_hash-​>{noexist}·​||·'';​
158 ····​}156 ····​}
159 ····​$template-​>param(·​results=>·​$docs,​157 ····​$template-​>param(·​results=>·​$docs,​
160 »       ​»       ​······​target=>·​$docFrameName,​158 »       ​»       ​······​target=>·​$docFrameName,​
161 »       ​»       ​······​num_results=>·​$num_results,​159 »       ​»       ​······​num_results=>·​$num_results,​
160 »       ​»       ​······​no_exist=>·​$no_exist,​
162 »       ​»       ​······​query=>·​$query,​161 »       ​»       ​······​query=>·​$query,​
163 »       ​»       ​······​)​;​162 »       ​»       ​······​)​;​
164 ····​return·​$template-​>output;​163 ····​return·​$template-​>output;​
165 }164 }
166 165
167 sub·​set_archived_title_pr​efixes·​{
168 ····​my·​(·​$self,​·​$docs·​)​·​=·​@_;​
169 ····​for·​my·​$doc·​(@$docs)​·​{
170 ······​if·​($doc-​>{'visibility'}·​eq·​'archived')​·​{
171 ········​$doc-​>{'archived'}·​=·​1;​
172 ······​}
173 ····​}
174 }
175
176 sub·​toc·​{166 sub·​toc·​{
177 ····​my·​$self·​=·​shift;​167 ····​my·​$self·​=·​shift;​
178 ····​my·​$template=$self-​>_load_and_config_tmp​l('table_of_contents.​html')​;​168 ····​my·​$template=$self-​>_load_and_config_tmp​l('table_of_contents.​html')​;​
179 ····​my·​$tocDoc·​=·​VirtualKB-​>get_doc(·​docid·​=>·​'auob',​169 ····​my·​$tocDoc·​=·​VirtualKB-​>get_doc(·​docid·​=>·​'auob',​
180 »       ​»       ​»       ​»       ​·····​file_type·​=>·​'xml',​170 »       ​»       ​»       ​»       ​·····​file_type·​=>·​'xml',​
181 »       ​»       ​»       ​»       ​·····​xslt_params=>·​{171 »       ​»       ​»       ​»       ​·····​xslt_params=>·​{suppressDocinfo=>·1,​
182 ····························suppressBackForward=>​·1,​
183 ····························suppressDocinfo=>·1,​
184 »       ​»       ​»       ​»       ​»       ​»       ​····​suppressComment=>·​1}172 »       ​»       ​»       ​»       ​»       ​»       ​····​suppressComment=>·​1}
185 »       ​»       ​»       ​»       ​·····​)​;​173 »       ​»       ​»       ​»       ​·····​)​;​
186 ····​my·​$text·​=·​$tocDoc-​>get_output_string;​174 ····​my·​$text·​=·​$tocDoc-​>get_output_string;​
195 sub·​_translateToolNameToD​ocid·​{183 sub·​_translateToolNameToD​ocid·​{
196 ····​my·​($self,​$id)​·​=·​@_;​184 ····​my·​($self,​$id)​·​=·​@_;​
197 ····​if·​($id)​·​{185 ····​if·​($id)​·​{
198 »       ​if·​($id·​=~·​/​\.​/​)​·​{·​#·​if·​it·​is·a·toolname·it·will·have·​a·period·in·it,​·e.​g.​,​·​sakai.​blah,​·osp.​blah,​·oncourse.​blah186 »       ​if·​($id·​=~·​/​\.​/​)​·​{·​#·​if·​it·​is·​a·​sakai.​*·toolname
199 »       ​····​my·​$tool_name·​=·​$id;​187 »       ​····​my·​$tool_name·​=·​$id;​
200 »       ​····​my·​$docid·​=·​'';​188 »       ​····​my·​$docid·​=·​'';​
201 »       ​····​my·​$result·​=·​VirtualKB-​>get_doc(·​docid·​=>·​'avpe',​189 »       ​····​my·​$result·​=·​VirtualKB-​>get_doc(·​docid·​=>·​'avpe',​
210 »       ​····​#·​tool·​name·​in·​the·​<dt>·​array,​·​you·​can·​then·​find·​the·​docid198 »       ​····​#·​tool·​name·​in·​the·​<dt>·​array,​·​you·​can·​then·​find·​the·​docid
211 »       ​····​#·​at·​the·​same·​index·​in·​the·​<dd>·​array.​199 »       ​····​#·​at·​the·​same·​index·​in·​the·​<dd>·​array.​
212 200
213 »       ​····​my·​$tool_names·​=·​$result-​>get_output_hash-​>{body}{div}{div}{div​}{dl}{dt};​201 »       ​····​my·​$tool_names·​=·​$result-​>get_output_hash-​>{kbml}{body}{dl}{dt}​;​
214 »       ​····​my·​$docids·​=·​$result-​>get_output_hash-​>{body}{div}{div}{div​}{dl}{dd};​202 »       ​····​my·​$docids·​=·​$result-​>get_output_hash-​>{kbml}{body}{dl}{dd}​;​
215 203
216 »       ​····​LOOPTY:​for·​(my·​$i=0;​·​$i·​<·​@$tool_names;​·​$i++)​·​{204 »       ​····​LOOPTY:​for·​(my·​$i=0;​·​$i·​<·​@$tool_names;​·​$i++)​·​{
217 205
218 »       ​»       ​if·​($tool_name·​eq·​$tool_names-​>[$i]{content})​·​{206 »       ​»       ​if·​($tool_name·​eq·​$tool_names-​>[$i])​·​{
219 »       ​»       ​····​$docid·​=·​$docids-​>[$i]{content};​207 »       ​»       ​····​$docid·​=·​$docids-​>[$i];​
220 »       ​»       ​····​last·​LOOPTY;​208 »       ​»       ​····​last·​LOOPTY;​
221 »       ​»       ​}209 »       ​»       ​}
222 »       ​····​}210 »       ​····​}
233 221
234 #·​String·​_fixTocDoc(String·​$tocDoc)​222 #·​String·​_fixTocDoc(String·​$tocDoc)​
235 #223 #
236 #·​Takes·​the·​HTML·​of·​the·​KB·​document·​used·​as·​the·​table·​of·​contents·​and·​munges·​it·​with·​regex·​substitutions:​224 #·​Takes·​the·​HTML·​of·​the·​KB·​document·​used·​as·​the·​table·​of·​contents·​and·​munges·​it·​with·​regex·​substitutions·to·achieve·the·following:​
225 #·​1.​·​removes·​the·​title·​and·​its·​enclosing·​<h2>s
226 #·​2.​·​adds·​the·​class="aqtree3clickab​le"·​to·​the·​ordered·​list·​to·​work·​with·​http:​/​/​kryogenix.​org/​code/​browser/​aqlists
227 #·​3.​·​adds·​target·​attribute·​to·​all·​links·​to·​make·​them·​open·​in·​the·​main·​document·​view·​frame·
228 #·​4.​·​adds·​empty·​anchors·​to·​the·​top·​level·​<li>s,​·​required·​by·​aqtree3·​so·​they·​are·​clickable
229 #·​5.​·​sets·​the·​class·​of·​the·​first·​li,​·​"Getting·​Help"·​to·​"aq3open"·​so·​it·​will·​be·​open·​by·​default
237 sub·​_fixTocDoc·​{230 sub·​_fixTocDoc·​{
238 ····​my·​($self,​$tocDoc)​·​=·​@_;​231 ····​my·​($self,​$tocDoc)​·​=·​@_;​
239 ····​#FIXME:​·​add·​the·​notitle·​functionality·​so·​I·​won't·​have·​to·​strip·​it·​out,​·​and·​for·​Oncourse·​features·​etc·​on·​main·​page232 ····​#FIXME:​·​add·​the·​notitle·​functionality·​so·​I·​won't·​have·​to·​strip·​it·​out,​·​and·​for·​Oncourse·​features·​etc·​on·​main·​page
240 #·1.​·remove·the·title·and·its·enclosing·<h2>s233 ····$tocDoc·=~·s|<h2>.​*</​h2>||;​
241 ····$tocDoc·=~·s|<h1.​*</​h1>||;​
242 #·2.​·add·the·class="aqtree3clickab​le"·to·the·ordered·list·to·work·with·http:​/​/​kryogenix.​org/​code/​browser/​aqlists
243 ····​$tocDoc·​=~·​s|<ul>|<ul·​class="aqtree3clickab​le">|;​234 ····​$tocDoc·​=~·​s|<ul>|<ul·​class="aqtree3clickab​le">|;​
244 #·3.​·add·target·attribute·to·all·in-​tool·links·to·make·​them·open·in·the·main·document·view·frame,​·and·add·'doc/​'·to·urls,​·without·affecting·links·going·outside·the·tool235 ····$tocDoc·=~·s|<a·|<a·​target="$docFrameName​"·|g;​
245 ····$tocDoc·=~·s|<a·(.​*?)​href="([a-​z]{4})​"|<a·$1·href="doc/​$2"·target="$docFrameName​"·|g;​
246 #·5.​·add·empty·anchors·to·the·top·level·<li>s,​·required·by·aqtree3·so·they·are·clickable
247 ····​$tocDoc·​=~·​s|<li>([\w·​]+)​|<li>·​<a·​href="#">$1</​a>|g;​236 ····​$tocDoc·​=~·​s|<li>([\w·​]+)​|<li>·​<a·​href="#">$1</​a>|g;​
248 #·​6.​·​set·​the·​class·​of·​the·​first·​li,​·​"Getting·​Help"·​to·​"aq3open"·​so·​it·​will·​be·​open·​by·​default
249 ····​$tocDoc·​=~·​s|<li>|<li·​class="aq3open">|;​237 ····​$tocDoc·​=~·​s|<li>|<li·​class="aq3open">|;​
250 ····​return·​$tocDoc;​238 ····​return·​$tocDoc;​
251 }239 }
diff -ur ohtdev/LibConfig.pm OncourseHelpTool/LibConfig.pm
ohtdev/​LibConfig.​pmOncourseHelpTool/​LibConfig.​pm
1 package·​LibConfig;​1 package·​LibConfig;​
2 2
3 use·​constant·​TEMPLATE·​=>·​'/​ip/​sakaikb/​ohtdev/​template';​3 use·​constant·​TEMPLATE·​=>·​'/​ip/​sakaikb/​OncourseHelpTool/​template';​
4 use·​constant·​VKBLIB·​=>·​'/​ip/​sakaikb/​vkbdev';​4 use·​constant·​VKBLIB·​=>·​'/​ip/​sakaikb/​VirtualKB';​
5 use·​constant·​XMLCACHE·​=>·​'/​ip/​sakaikb/​ohtdev';​5 use·​constant·​XMLCACHE·​=>·​'/​ip/​sakaikb/​OncourseHelpTool';​
6 use·​constant·​CONFIGFILE·​=>·​'/​ip/​sakaikb/​ohtdev/​oht_default.​conf';​6 use·​constant·​CONFIGFILE·​=>·​'/​ip/​sakaikb/​OncourseHelpTool/​oht_default.​conf';​
7
8 1;​7 1;​
diff -ur ohtdev/README OncourseHelpTool/README
ohtdev/​READMEOncourseHelpTool/​README
1 ONCOURSE·​HELP·​TOOL·​DOCUMENTATION1 ONCOURSE·​HELP·​TOOL·​DOCUMENTATION
2 -​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​2 -​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
3 3
4 The·​Oncourse·​Help·​Tool·​is·​just·​a·​virtual·​kb·​like·​the·​Sakai·​KB·or·​the4 The·​Oncourse·​Help·​Tool·​is·​just·​a·​virtual·​kb·​like·​the·​Sakai·​KB,​·​the
5 Teragrid·​KB.​·The·only·difference·​in·the·code·structure·​here·​is5 Teragrid·​KB,​·the·Open·Science·Grid·KB,​·etc.​·The·difference·​here·​is
6 that·​I've·​tried·​to·​separate·​the·​backend·​document·​and·​search·​retrieval6 that·​I've·​tried·​to·​separate·​the·​backend·​document·​and·​search·​retrieval
7 and·​rendering·​from·​the·​frontend·​interface.​·​The·​two·​sides·​of·​the7 and·​rendering·​from·​the·​frontend·​interface.​·​The·​two·​sides·​of·​the
8 application·​are·​divided·​into·​the·​VirtualKB·​module·​that·​handles·​all·​the8 application·​are·​divided·​into·​the·​VirtualKB·​module·​that·​handles·​all·​the
24 DEVELOPMENT·​VS·​PRODUCTION·​ENVIRONMENTS24 DEVELOPMENT·​VS·​PRODUCTION·​ENVIRONMENTS
25 -​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​25 -​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
26 26
27 Both·​the·​development·​and·​production·​environments·​are·​on·webserve.​·​The27 Both·​the·​development·​and·​production·​environments·​are·​on·Veritas.​·​The
28 directory·​layouts·​for·​each·​are·​as·​follows:​28 directory·​layouts·​for·​each·​are·​as·​follows:​
29 29
30 »       ​»       ​»       ​Production»     ​»       ​Development30 »       ​»       ​»       ​Production»     ​»       ​Development
40 of·​differentiating·​wwws·​vs·​www·​as·​the·​root·​directory.​40 of·​differentiating·​wwws·​vs·​www·​as·​the·​root·​directory.​
41 41
42 42
43 Source·Control43 CVS
44 -​-​-​44 -​-​-​
45 45
46 These·modules·are·checked·into·the·kbdev·svn·​server·​on·poblano.​·​The·​module·​for46 I'm·using·the·regular·KB·CVS·​server·​on·cobincho.​·​The·cvs·​module·​for
47 this·​app·​is·​OncourseHelpTool,​·​and·​the·​one·​for·​the·​backend·​is47 this·​app·​is·​OncourseHelpTool,​·​and·​the·​one·​for·​the·​backend·​is
48 VirtualKB:​48 VirtualKB.​
49 49
50 svn+ssh:​/​/​poblano.​uits.​indiana.​edu/​srv/​svn/​kb-​support/​trunk/​OncourseHelpTool50 The·production·checkouts·commit·to·a·branch·called·stable-​1·(v1.​1)​,​·as
51 svn+ssh:​/​/​poblano.​uits.​indiana.​edu/​srv/​svn/​kb-​support/​trunk/​VirtualKB51 I·was·intending·to·continue·to·work·on·the·REST-​based·version·on·the
52 trunk.​
52 53
53 LOCALIZATION54 LOCALIZATION
54 -​-​-​-​-​-​-​-​-​-​-​-​55 -​-​-​-​-​-​-​-​-​-​-​-​
55 56
56 I·​would·​like·​to·​move·​to·​using·​the·​make·​system·​to·​handle·​localization·(i.​e.​,​·the·ability·of·the·program·to·find·its·various·files,​57 I·​would·​like·​to·​move·​to·​using·​the·​make·​system·​to·​handle·​localization,​
57 but·​haven't·​done·​so·​yet.​·​In·​the·​interim,​·​the·​system·​I'm·​using·​instead58 but·​haven't·​done·​so·​yet.​·​In·​the·​interim,​·​the·​system·​I'm·​using·​instead
58 consists·​of·​using·​the·​FindBin·​module·​to·​bootstrap·​the·​localization59 consists·​of·​using·​the·​FindBin·​module·​to·​bootstrap·​the·​localization
59 process·​combined·​with·​configuration·​modules·​that·​aren't·​checked·​into60 process·​combined·​with·​configuration·​modules·​that·​aren't·​checked·​into
60 source·control·​and·​that·​have·​hand-​coded·​differences·​in·​the·​development·​and61 CVS·​and·​that·​have·​hand-​coded·​differences·​in·​the·​development·​and
61 production·​environments.​62 production·​environments.​
62 63
63 The·​system·​works·​like·​this:​·​index.​cgi·​uses·​FindBin·​to·​locate·​itself,​64 The·​system·​works·​like·​this:​·​index.​cgi·​uses·​FindBin·​to·​locate·​itself,​
72 VirtualKB.​·​It·​also·​sets·​up·​the·​template·​directory.​73 VirtualKB.​·​It·​also·​sets·​up·​the·​template·​directory.​
73 74
74 The·​only·​localization·​left·​to·​do·​is·​for·​the·​location·​of·​the·​default75 The·​only·​localization·​left·​to·​do·​is·​for·​the·​location·​of·​the·​default
75 config·​file.​·​This·​path·​is·​stored·​in·​another·​non-​scm·​file·​that·​is76 config·​file.​·​This·​path·​is·​stored·​in·​another·​non-​CVS·​file·​that·​is
76 assumed·​to·​be·​locatable·​through·​PERL5LIB,​·​PathConfig·​(in·​the·​VirtualKB77 assumed·​to·​be·​locatable·​through·​PERL5LIB,​·​PathConfig·​(in·​the·​VirtualKB
77 root·​dir)​.​·​PathConfig·​defines·​the·​constant·​CONFIGFILE·​which·​is·​the78 root·​dir)​.​·​PathConfig·​defines·​the·​constant·​CONFIGFILE·​which·​is·​the
78 absolute·​path·​to·​the·​default·​configuration·​file·​(.​/​default.​conf)​,​79 absolute·​path·​to·​the·​default·​configuration·​file·​(.​/​default.​conf)​,​
81 frontend-​supplied·​config·​file,​·​a·​path·​which·​is·​localized·​in·​production82 frontend-​supplied·​config·​file,​·​a·​path·​which·​is·​localized·​in·​production
82 and·​development·​to·​the·​OncourseHelpTool·​module·​directory.​·​The·​frontend83 and·​development·​to·​the·​OncourseHelpTool·​module·​directory.​·​The·​frontend
83 config·​file·​is·​called·​oht_default.​conf·​in·​production·​and·​development,​84 config·​file·​is·​called·​oht_default.​conf·​in·​production·​and·​development,​
84 and·​is·​checked·​into·svn.​·​This·​config·​file·​contains·​parameters·​that·​are85 and·​is·​checked·​into·CVS.​·​This·​config·​file·​contains·​parameters·​that·​are
85 more·​specific·​to·​the·​frontend·​rather·​than·​the·​backend,​·​and·​that·​don't86 more·​specific·​to·​the·​frontend·​rather·​than·​the·​backend,​·​and·​that·​don't
86 need·​to·​be·​changed·​from·​dev·​to·​prod.​87 need·​to·​be·​changed·​from·​dev·​to·​prod.​
87 88
Only in ohtdev/: .svn
diff -ur ohtdev/template/comment_form.html OncourseHelpTool/template/comment_form.html
ohtdev/​template/​comment_form.​htmlOncourseHelpTool/​template/​comment_form.​html
1 <p><a·​name="maincontent"></​a>·​</​p>1 <p><a·​name="maincontent"></​a>·​</​p>
2 <h3>Ask·​a·​question·​or·​make·​a·​comment·​or·​suggestion</​h3>2 ··<h3>Ask·​a·​question·​or·​make·​a·​comment·​or·​suggestion</​h3>
3 <p>·​(Fields·​marked·​with·​*·​are·​required)​<TMPL_IF·​missing_fields>&nbsp;​<span·​class="error_notifica​tion">Please·​complete·​marked·​fields</​span></​TMPL_IF>3 ··<p>·​(Fields·​marked·​with·​*·​are·​required)​<TMPL_IF·NAME="missing_fields"​>&nbsp;​<span·​class="error_notifica​tion">Please·​complete·​marked·​fields</​span></​TMPL_IF>
4 <form·​method="post"·​enctype="application/​x-​www-​form-​urlencoded">4 ··<form·​method="post"·​enctype="application/​x-​www-​form-​urlencoded">
5 ····​<div·​class="comment_form">​5 ·····​<div·​class="comment_form">​
6 ········​<ul·​class="comment_input"​>6 ·······​<ul·​class="comment_input"​>
7 ············<li><label·<TMPL_UNLESS·firstname>·<TMPL_IF·missing_fields>class=​"error_notification"<​/​TMPL_IF></​TMPL_UNLESS>·>*·Your·first·name:​7
8 ····················<input·name="firstname"·type="text"·id="firstname"·value="<TMPL_VAR·firstname>"·/​></​label></​li>8 »       ​·<li><label·<TMPL_UNLESS·NAME="firstname">·<TMPL_IF·NAME="missing_fields"​>class="error_notific​ation"</​TMPL_IF></​TMPL_UNLESS>·>*·Your·first·name:​·
9 ············<li><label>Your·last·name:​9 »       ​·<input·name="firstname"·type="text"·id="firstname"·value="<TMPL_VAR·firstname>"·/​></​label></​li>
10 ····················<input·name="lastname"·type="text"·id="lastname"·value="<TMPL_VAR·lastname>"·/​></​label></​li>10
11 ············<label>Your·e-​mail·address:​<input·​name="email"·type="text"·id="email"·value="<TMPL_VAR·email>"·/​></​label></​li>11 »       ​·<li><label>Your·​last·​name:​·
12 ············<li><label·for="description"<TMP​L_UNLESS·description><TMPL_IF·missing_fields>style=​"color:​red"</​TMPL_IF></​TMPL_UNLESS>·>*·Your·comment:​<br·​/​></​label>12 »       ​·<input·name="lastname"·type="text"·​id="lastname"·value="<TMPL_VAR·lastname>"·​/​></​label></​li>
13 ················<textarea·​name="description"·cols="60"·rows="10"><TMPL_VAR·description></​textarea>&nbsp;​</​p>13 ·····<label>Your·e-​mail·address:​<input·​name="email"·type="text"·id="email"·value="<TMPL_VAR·​email>"·/​></​label></​li>
14 ················<p><input·type="submit"·name="formSubmit"·value="Submit"·​/​>14 ···<li><label·for="description"<TMP​L_UNLESS·NAME="description"><T​MPL_IF·NAME="missing_fields"​>style="color:​red"</​TMPL_IF></​TMPL_UNLESS>·>*·Your·comment:​<br·/​></​label>
15 ····················<input·type="reset"·name="Reset"·value="Reset"·/​>15 ····<textarea·name="description"·cols="60"·rows="10"><TMPL_VAR·NAME="description"></​textarea>&nbsp;​</​p>
16 ················</​p>16 ···<p><input·type="submit"·name="formSubmit"·value="Submit"·/​>
17 ················​<input·​type="hidden"·​name="referring_page"​·​value="<tmpl_var·referring_page>"·​/​>17 ····​<input·​type="reset"·​name="Reset"·​value="Reset"·​/​>
18 ················​<input·type="hidden"·name="rm"·value="check_comment"​·/​>18 ····​</​p>
19 ················</​form>19 ····<input·type="hidden"·name="referring_page"​·value="<tmpl_var·referring_page>"·/​>
20 ················</​body>20 ····<input·type="hidden"·name="rm"·value="check_comment"​·/​>
21 ················​</​html>21 ··​</​form>
22 ·​</​body>
23 </​html>
\ No newline at end of file
Only in OncourseHelpTool/template: CVS
diff -ur ohtdev/template/search_results.html OncourseHelpTool/template/search_results.html
ohtdev/​template/​search_results.​htmlOncourseHelpTool/​template/​search_results.​html
1 <div·​id="search_results">1 <div·​id="search_results">
2 ··​<TMPL_IF·​results>2 ··​<tmpl_if·​results>
3 ····<p><TMPL_VAR·num_results>·results</​p>
4 ····​<ul·​id="search_results_ul​">3 ····​<ul·​id="search_results_ul​">
5 ······​<TMPL_LOOP·​results>4 ······​<tmpl_loop·​results>
6 ········​<li><a·​href="/​helptool/​doc/​<TMPL_VAR·​docid>"5 ········​<li><a·​href="/​helptool/​doc/​<tmpl_var·​docid>"·
7 »       ​····​<TMPL_IF·​target>6 »       ​····​<tmpl_if·​target>
8 ··············​target="<TMPL_VAR·​target>"7 ··············​target="<tmpl_var·​target>"
9 ············​</​TMPL_IF>8 ············​</​tmpl_if>
10 ···············​><TMPL_IF·archived>ARCHIVED:​·</​TMPL_IF><TMPL_VAR·​title></​a>9 ············​><tmpl_var·​title></​a>
11 ······​</​TMPL_LOOP>10 ······​</​tmpl_loop>···
12 ··​<TMPL_ELSE>11 ··​<tmpl_else>
13 ····​<TMPL_IF·​query>12 ····​<tmpl_if·​query>
14 ······​<p>No·​results</​p>13 ······​<p>No·​results.​
15 »       ​<p><a·href="/​helptool/​doc/​azgv"<TMPL_IF·target>·target="<TMPL_VAR·target>"</​TMPL_IF>>Why·did·my·search·not·find·any·documents?</​a></​p>14 ······<tmpl_if·​no_exist>
16 ····​</​TMPL_IF>15 ········These·terms·aren't·in·the·Oncourse·KB:​·<span·class='noexist'><tmpl​_var·no_exist></​span>.​
17 ··​</​TMPL_IF>16 ······​</​tmpl_if></​p>
17 »       ​<p><a·​href="/​helptool/​doc/​azgv"<tmpl_if·​target>·​target="<tmpl_var·​target>"</​tmpl_if>>Why·​did·​my·​search·​not·​find·​any·​documents?</​a></​p>
18 ····​</​tmpl_if>
19 ··​</​tmpl_if>
18 </​div>20 </​div>
Only in ohtdev/www: comments.cgi
Only in ohtdev/www: _commentTemplates
Only in OncourseHelpTool/www/css: CVS
diff -ur ohtdev/www/css/default.css OncourseHelpTool/www/css/default.css
ohtdev/​www/​css/​default.​cssOncourseHelpTool/​www/​css/​default.​css
1 body,​1 body,​
2 html2 html·
3 {3 ··{
4 ····​font-​family:​·​arial;​4 ····​font-​family:​·​arial;​
5 ····​margin:​·​0;​5 ····​margin:​·​0;​
6 ····​padding:​·​5px·​20px·​5px·​10px;​6 ····​padding:​·​5px·​20px·​5px·​10px;​
7 }7 ····}
8 /​*body··​{····​min-​width:​·​820px;​····​}*/​8 /​*body··​{····​min-​width:​·​820px;​····​}*/​
9 #wrap9 #wrap·
10 {10 ··{·
11 ····​margin:​·​10px·​20px·​10px·​10px;​11 ····​margin:​·​10px·​20px·​10px·​10px;​
12 }12 ····}
13 div#framelessDoc13 div#framelessDoc·
14 {14 ··{
15 ····​padding-​left:​·​200px;​15 ····​padding-​left:​·​200px;​
16 ····​max-​width:​·​550px;​16 ····​max-​width:​·​550px;​
17 ····​text-​align:​·​left;​17 ····​text-​align:​·​left;​
18 }18 ····}
19 div#framelessSidebar19 div#framelessSidebar
20 {20 ··{·
21 ····​float:​·​left;​21 ····​float:​·​left;​
22 ····​border-​right:​·​2px·​groove·​grey;​22 ····​border-​right:​·​2px·​groove·​grey;​
23 ····​margin:​·​0·​10px·​0·​0;​23 ····​margin:​·​0·​10px·​0·​0;​
24 ····​padding:​·​0·​10px·​0·​0;​24 ····​padding:​·​0·​10px·​0·​0;​
25 ····​width:​·​190px;​25 ····​width:​·​190px;​
26 }26 ····}
27 div#framelessSearch27 div#framelessSearch
28 {28 ··{
29 ····​overflow:​·​auto;​29 ····​overflow:​·​auto;​
30 ····​height:​·​300px;​30 ····​height:​·​300px;​
31 }31 ····}
32 div#framelessToc32 div#framelessToc
33 {33 ··{·
34 ····​border-​top:​·​2px·​groove·​grey;​34 ····​border-​top:​·​2px·​groove·​grey;​
35 ····​padding:​·​10px·​0·​0·​0;​35 ····​padding:​·​10px·​0·​0·​0;​
36 }36 ····}
37 .​noexist37 .​noexist
38 {38 ··{·
39 ····​font-​style:​·​italic;​39 ····​font-​style:​·​italic;​
40 }40 ····}
41 strong·​code41 strong·​code
42 {42 ··{
43 ····​font-​size:​·​1.​1em;​43 ····​font-​size:​·​1.​1em;​
44 }44 ····}
45 ul#search_results_ul45 ul#search_results_ul
46 {46 ··{
47 ····​padding-​left:​·​10px;​47 ····​padding-​left:​·​10px;​
48 }48 ····}
49
50 span.​example·​{49 span.​example·​{
51 ····​display:​·​block;​50 ·····​display:​·​block;​
52 ····​font-​family:​·​monospace;​51 ·····​font-​family:​·​monospace;​
53 ····​white-​space:​·​pre;​52 ·····​white-​space:​·​pre;​
54 ····​margin:​·​1em·​0;​53 ·····​margin:​·​1em·​0;​
55 ····​font-​size:​·​1.​1em;​54 ·····​font-​size:​·​1.​1em;​
56 }55 ·····}
57
58 div.​list-​group·{
59 ····padding-​bottom:​·1em;​
60 }
61
62 a.​list-​group-​item·{
63 ····padding-​left:​·2em;​
64 ····display:​block;​
65 }
\ No newline at end of file
Only in OncourseHelpTool/www: CVS
Only in OncourseHelpTool/www: hello.cgi
Only in OncourseHelpTool/www/images: CVS
Only in OncourseHelpTool/www/js: CVS
Only in OncourseHelpTool/www/js: prototype.js