Subversion Repositories wimsdev

Rev

Rev 15649 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1978 bpr 1
!read tabletheme
32 reyssat 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
4
work:
5
<ol>
6
<li>Call the module asked by the user, and process parameters and variables
7
according to what is defined in the module.
5798 bpr 8
</li><li>Session management.
9
</li><li>Send the result of the process to the user.
10
</li><li>Write to different log files.
11
</li></ol>
32 reyssat 12
 
1091 bpr 13
<h4> Modules of wims</h4>
5798 bpr 14
<p>
32 reyssat 15
A wims server is a modular system, with different applications as modules.
15649 reyssat 16
At each new call to wims, the user has to specify which module he wants to
9071 bpr 17
access.
18
</p><p>
32 reyssat 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,
9071 bpr 21
or a mixture of the above.
22
</p><p>
32 reyssat 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
25
module. Different modules have different authors and different maintainers,
9071 bpr 26
and may follow different copyright policies.
27
</p><p>
32 reyssat 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.
5798 bpr 30
</p>
5769 bpr 31
<h4>How to access a wims server</h4>
32 reyssat 32
 
9071 bpr 33
Wims is accessed by a request to the main cgi program, for example
32 reyssat 34
<pre>
15218 bpr 35
https://wims.univ-cotedazur.fr/wims/wims.cgi
32 reyssat 36
</pre>
11282 bpr 37
<p>
32 reyssat 38
which usually should be followed by parameters. A call to the main wims.cgi
11282 bpr 39
program without parameter will bring up the wims homepage of the site.
40
</p><p>
32 reyssat 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:
5798 bpr 43
</p>
32 reyssat 44
<ul>
11282 bpr 45
<li><span class="wims_emph">cmd</span>: the value is the command of the call.
32 reyssat 46
Valid commands:
1978 bpr 47
$table_header
5798 bpr 48
$table_tr<th>Parameter string</th><th>Meaning</th></tr>
49
$table_tr<td>cmd=intro</td><td>get introduction page of the module</td></tr>
50
$table_tr<td>cmd=new</td><td>open new working session</td></tr>
51
$table_tr<td>cmd=renew</td><td>restart working session</td></tr>
52
$table_tr<td>cmd=reply</td><td>send reply to the module</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>
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>
57
$table_tr<td>cmd=resume</td><td>resume work (e.g. after help)</td></tr>
17228 bpr 58
$table_tr<td>cmd=getins</td><td>get dynamic insertions: internal use<br>
5798 bpr 59
by the server. Not to be used by modules.</td></tr>
15649 reyssat 60
$table_end
11282 bpr 61
</li><li><span class="wims_emph">module</span>. the value is the name of the module
17228 bpr 62
which the user wants to access. <br>
11282 bpr 63
</li><li><span class="wims_emph">session</span>: the value is the number of the current
17228 bpr 64
session of the user. <br>
32 reyssat 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
67
parameter by the user (e.g. in order to spy into others' work) is not
68
allowed and has practically no chance to get through.
11282 bpr 69
</li><li><span class="wims_emph">lang</span>: the value defines the prefered language
32 reyssat 70
of the user.
11282 bpr 71
</li><li><span class="wims_emph">user</span>: the value is the user name (for
32 reyssat 72
registered users; reserved for internal use).
11282 bpr 73
</li><li><span class="wims_emph">useropts</span>: the value contains user options for the
15649 reyssat 74
server. The format is coded and may vary from version to version.
11282 bpr 75
</li><li><span class="wims_emph">worksheet</span>: reserved for internal use, for
32 reyssat 76
determining user works assigned by worksheets.
11282 bpr 77
</li><li><span class="wims_emph">special_parm</span>: this parameter is reserved for
32 reyssat 78
special requests (help, etc).
15649 reyssat 79
</li><li>Any variables accepted by the module the user is working on (or
32 reyssat 80
wants to work on).
5798 bpr 81
</li></ul>
32 reyssat 82
 
83
Example:
84
<pre>
15218 bpr 85
https://wims.univ-cotedazur.fr/~wims/wims.cgi?cmd=new&+module=tool/algebra/factor.en
32 reyssat 86
</pre>
15218 bpr 87
calls the wims server at wims.univ-cotedazur.fr, with `new' as the value of `cmd',
32 reyssat 88
`tool/algebra/factor.en' as the module name.
89
 
90
 
5769 bpr 91
<h4>How to use the supervisor-side interface</h4>
32 reyssat 92
 
93
Supervisors of registered classes can maintain their classes and consult
94
results of students via the same web address (the main cgi program), just
95
by logging in as supervisor. All the options are then available via html
96
links and buttons.