Rev 11282 | 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. |
16 | At each new call to wims, the user has to specify which module he want 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> |
||
58 | $table_tr<td>cmd=getins</td><td>get dynamic insertions: internal use<br/> |
||
59 | by the server. Not to be used by modules.</td></tr> |
||
60 | </table> |
||
11282 | bpr | 61 | </li><li><span class="wims_emph">module</span>. the value is the name of the module |
5766 | 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 |
5766 | 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 |
32 | reyssat | 74 | server. The format is coded and may varie 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). |
5798 | bpr | 79 | </li><li>Any variables accepted by the module on which 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. |