Rev 5769 | Rev 9071 | 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. |
16 | At each new call to wims, the user has to specify which module he want to |
||
5798 | bpr | 17 | access. </p><p> |
32 | reyssat | 18 | |
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, |
||
5798 | bpr | 21 | or a mixture of the above. </p><p> |
32 | reyssat | 22 | |
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, |
||
5798 | bpr | 26 | and may follow different copyright policies. </p><p> |
32 | reyssat | 27 | |
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 | |
33 | Wims is accessed by a request to the main cgi program, for example |
||
34 | <pre> |
||
1111 | bpr | 35 | http://wims.unice.fr/wims/wims.cgi |
32 | reyssat | 36 | </pre> |
37 | which usually should be followed by parameters. A call to the main wims.cgi |
||
5798 | bpr | 38 | program without parameter will bring up the wims homepage of the site. </p><p> |
32 | reyssat | 39 | |
40 | Parameters of wims.cgi is a usual http $emph name=value$emphend pair, where the |
||
41 | $emph name$emphend field may be one of the following: |
||
5798 | bpr | 42 | </p> |
32 | reyssat | 43 | <ul> |
5798 | bpr | 44 | <li><span style="color:green;">cmd</span>: the value is the command of the call. |
32 | reyssat | 45 | Valid commands: |
1978 | bpr | 46 | $table_header |
5798 | bpr | 47 | $table_tr<th>Parameter string</th><th>Meaning</th></tr> |
48 | $table_tr<td>cmd=intro</td><td>get introduction page of the module</td></tr> |
||
49 | $table_tr<td>cmd=new</td><td>open new working session</td></tr> |
||
50 | $table_tr<td>cmd=renew</td><td>restart working session</td></tr> |
||
51 | $table_tr<td>cmd=reply</td><td>send reply to the module</td></tr> |
||
52 | $table_tr<td>cmd=next</td><td>get next exercise (in a working session)</td></tr> |
||
53 | $table_tr<td>cmd=config</td><td>set preferences</td></tr> |
||
54 | $table_tr<td>cmd=help</td><td>get contextual help</td></tr> |
||
55 | $table_tr<td>cmd=hint</td><td>get contextual hint</td></tr> |
||
56 | $table_tr<td>cmd=resume</td><td>resume work (e.g. after help)</td></tr> |
||
57 | $table_tr<td>cmd=getins</td><td>get dynamic insertions: internal use<br/> |
||
58 | by the server. Not to be used by modules.</td></tr> |
||
59 | </table> |
||
60 | </li><li><span style="color:green;">module</span>. the value is the name of the module |
||
5766 | bpr | 61 | which the user wants to access. <br/> |
5798 | bpr | 62 | </li><li><span style="color:green;">session</span>: the value is the number of the current |
5766 | bpr | 63 | session of the user. <br/> |
32 | reyssat | 64 | The session number is automatically generated by wims.cgi, and is usually |
65 | automatically contained in the pages sent by the server. Tampering with this |
||
66 | parameter by the user (e.g. in order to spy into others' work) is not |
||
67 | allowed and has practically no chance to get through. |
||
5798 | bpr | 68 | </li><li><span style="color:green;">lang</span>: the value defines the prefered language |
32 | reyssat | 69 | of the user. |
5798 | bpr | 70 | </li><li><span style="color:green;">user</span>: the value is the user name (for |
32 | reyssat | 71 | registered users; reserved for internal use). |
5798 | bpr | 72 | </li><li><span style="color:green;">useropts</span>: the value contains user options for the |
32 | reyssat | 73 | server. The format is coded and may varie from version to version. |
5798 | bpr | 74 | </li><li><span style="color:green;">worksheet</span>: reserved for internal use, for |
32 | reyssat | 75 | determining user works assigned by worksheets. |
5798 | bpr | 76 | </li><li><span style="color:green;">special_parm</span>: this parameter is reserved for |
32 | reyssat | 77 | special requests (help, etc). |
5798 | bpr | 78 | </li><li>Any variables accepted by the module on which the user is working on (or |
32 | reyssat | 79 | wants to work on). |
5798 | bpr | 80 | </li></ul> |
32 | reyssat | 81 | |
82 | Example: |
||
83 | <pre> |
||
1111 | bpr | 84 | http://wims.unice.fr/~wims/wims.cgi?cmd=new&+module=tool/algebra/factor.en |
32 | reyssat | 85 | </pre> |
86 | calls the wims server at wims.unice.fr, with `new' as the value of `cmd', |
||
87 | `tool/algebra/factor.en' as the module name. |
||
88 | |||
89 | |||
5769 | bpr | 90 | <h4>How to use the supervisor-side interface</h4> |
32 | reyssat | 91 | |
92 | Supervisors of registered classes can maintain their classes and consult |
||
93 | results of students via the same web address (the main cgi program), just |
||
94 | by logging in as supervisor. All the options are then available via html |
||
95 | links and buttons. |
||
96 | |||
97 |