Subversion Repositories wimsdev

Rev

Rev 17228 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 17228 Rev 17238
Line 1... Line 1...
1
!read tabletheme
1
!read tabletheme
2
The central piece of a wims server is a cgi program, usually in the name of
2
The central piece of a WIMS server is a cgi program, usually in the name of
3
wims.cgi. It takes all the http calls to the server, then does the following
3
wims.cgi. It takes all the http calls to the server, then does the following
4
work:
4
work:
5
<ol>
5
<ol>
6
<li>Call the module asked by the user, and process parameters and variables
6
<li>Call the module asked by the user, and process parameters and variables
7
according to what is defined in the module.
7
according to what is defined in the module.
8
</li><li>Session management.
8
</li><li>Session management.
9
</li><li>Send the result of the process to the user.
9
</li><li>Send the result of the process to the user.
10
</li><li>Write to different log files.
10
</li><li>Write to different log files.
11
</li></ol>
11
</li></ol>
12
 
12
 
13
<h4> Modules of wims</h4>
13
<h4> Modules of WIMS</h4>
14
<p>
14
<p>
15
A wims server is a modular system, with different applications as modules.
15
A WIMS server is a modular system, with different applications as modules.
16
At each new call to wims, the user has to specify which module he wants to
16
At each new call to WIMS, the user has to specify which module he wants to
17
access.
17
access.
18
</p><p>
18
</p><p>
19
A wims module may be an interactive course or interactive exercise (of any
19
A WIMS module may be an interactive course or interactive exercise (of any
20
level), a computational tool, a dictionary, a mathematical game, a database,
20
level), a computational tool, a dictionary, a mathematical game, a database,
21
or a mixture of the above.
21
or a mixture of the above.
22
</p><p>
22
</p><p>
23
Wims modules are independent from each other. Each module has its own
23
WIMS modules are independent from each other. Each module has its own
24
directory, which serves as its address, and contains all the files of this
24
directory, which serves as its address, and contains all the files of this
25
module. Different modules have different authors and different maintainers,
25
module. Different modules have different authors and different maintainers,
26
and may follow different copyright policies.
26
and may follow different copyright policies.
27
</p><p>
27
</p><p>
28
There is no relation between modules in a same wims site, except hypertext
28
There is no relation between modules in a same WIMS site, except hypertext
29
links which allows one module to access another in various ways.
29
links which allows one module to access another in various ways.
30
</p>
30
</p>
31
<h4>How to access a wims server</h4>
31
<h4>How to access a WIMS server</h4>
32
 
32
 
33
Wims is accessed by a request to the main cgi program, for example
33
WIMS is accessed by a request to the main cgi program, for example
34
<pre>
34
<pre>
35
https://wims.univ-cotedazur.fr/wims/wims.cgi
35
https://wims.univ-cotedazur.fr/wims/wims.cgi
36
</pre>
36
</pre>
37
<p>
37
<p>
38
which usually should be followed by parameters. A call to the main wims.cgi
38
which usually should be followed by parameters. A call to the main wims.cgi
39
program without parameter will bring up the wims homepage of the site.
39
program without parameter will bring up the WIMS homepage of the site.
40
</p><p>
40
</p><p>
41
Parameters of wims.cgi is a usual http $emph name=value$emphend pair, where the
41
Parameters of wims.cgi is a usual http $emph name=value$emphend pair, where the
42
$emph name$emphend field may be one of the following:
42
$emph name$emphend field may be one of the following:
43
</p>
43
</p>
44
<ul>
44
<ul>
Line 53... Line 53...
53
$table_tr<td>cmd=next</td><td>get next exercise (in a working session)</td></tr>
53
$table_tr<td>cmd=next</td><td>get next exercise (in a working session)</td></tr>
54
$table_tr<td>cmd=config</td><td>set preferences</td></tr>
54
$table_tr<td>cmd=config</td><td>set preferences</td></tr>
55
$table_tr<td>cmd=help</td><td>get contextual help</td></tr>
55
$table_tr<td>cmd=help</td><td>get contextual help</td></tr>
56
$table_tr<td>cmd=hint</td><td>get contextual hint</td></tr>
56
$table_tr<td>cmd=hint</td><td>get contextual hint</td></tr>
57
$table_tr<td>cmd=resume</td><td>resume work (e.g. after help)</td></tr>
57
$table_tr<td>cmd=resume</td><td>resume work (e.g. after help)</td></tr>
58
$table_tr<td>cmd=getins</td><td>get dynamic insertions: internal use<br>
58
$table_tr<td>cmd=getins</td><td>get dynamic insertions: internal use
59
by the server. Not to be used by modules.</td></tr>
59
by the server. Not to be used by modules.</td></tr>
60
$table_end
60
$table_end
61
</li><li><span class="wims_emph">module</span>. the value is the name of the module
61
</li><li><span class="wims_emph">module</span>. the value is the name of the module
62
which the user wants to access. <br>
62
which the user wants to access.
63
</li><li><span class="wims_emph">session</span>: the value is the number of the current
63
</li><li><span class="wims_emph">session</span>: the value is the number of the current
64
session of the user. <br>
64
session of the user. <br>
65
The session number is automatically generated by wims.cgi, and is usually
65
The session number is automatically generated by wims.cgi, and is usually
66
automatically contained in the pages sent by the server. Tampering with this
66
automatically contained in the pages sent by the server. Tampering with this
67
parameter by the user (e.g. in order to spy into others' work) is not
67
parameter by the user (e.g. in order to spy into others' work) is not
Line 82... Line 82...
82
 
82
 
83
Example:
83
Example:
84
<pre>
84
<pre>
85
https://wims.univ-cotedazur.fr/~wims/wims.cgi?cmd=new&+module=tool/algebra/factor.en
85
https://wims.univ-cotedazur.fr/~wims/wims.cgi?cmd=new&+module=tool/algebra/factor.en
86
</pre>
86
</pre>
87
calls the wims server at wims.univ-cotedazur.fr, with `new' as the value of `cmd',
87
calls the WIMS server at wims.univ-cotedazur.fr, with `new' as the value of `cmd',
88
`tool/algebra/factor.en' as the module name.
88
`tool/algebra/factor.en' as the module name.
89
 
89
 
90
 
90
 
91
<h4>How to use the supervisor-side interface</h4>
91
<h4>How to use the supervisor-side interface</h4>
92
 
92