Rev 5921 | Rev 17228 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5798 | bpr | 1 | <p> |
15246 | obado | 2 | Each wims module has a private home directory in which go all the files |
3 | of this module. |
||
4 | </p> |
||
32 | reyssat | 5 | |
6 | A module must have at least the following files: |
||
1091 | bpr | 7 | <ul> |
15246 | obado | 8 | <li> |
9 | $tit A variable definition file $emph var.def$emphend. $titend |
||
10 | This file defines $emph external$emphend variables of the module. A parameter given by the |
||
11 | user must have a name declared in this file, except parameter names reserved by |
||
12 | wims (cmd, session, module, ...). And exactly variables declared in this |
||
13 | file will be saved in the session directory (to be recalled at the next |
||
14 | request from the same session). |
||
15 | </li><li> |
||
16 | $tit A variable processing file $emph var.proc$emphend.$titend |
||
17 | This file is processed at EACH request of the module (except special |
||
18 | requests: when cmd=intro or getins). |
||
19 | </li><li> |
||
20 | $tit A main phtml file $emph main.phtml$emphend.$titend |
||
21 | This file will be processed at avery request to the module, except under |
||
22 | special commands (when cmd=intro or getins). |
||
23 | </li><li> |
||
24 | $tit An indexing file $emph INDEX$emphend, which defines the application's nature.$titend |
||
25 | This file will be used by wims database for searching available modules. |
||
26 | </li> |
||
1091 | bpr | 27 | </ul> |
32 | reyssat | 28 | |
15246 | obado | 29 | <p>And it may often contain the following (optional) files too:</p> |
32 | reyssat | 30 | <ul> |
15246 | obado | 31 | <li> |
32 | $tit A variable initialisation file $emph var.init$emphend.$titend |
||
33 | This file has the same syntax as the file $emph var.proc$emphend, and is processed |
||
34 | exactly at requests with cmd=new or cmd=renew. |
||
35 | </li><li> |
||
36 | $tit A introductory page $emph intro.phtml$emphend.$titend |
||
37 | This is a phtml file, which is processed when the module is |
||
38 | accessed with cmd=intro. It is usually used to introduce the content of the |
||
39 | module, and to let the user choose starting options. |
||
40 | </li> |
||
32 | reyssat | 41 | </ul> |
42 | |||
15246 | obado | 43 | <p> |
44 | There may be any number of other files, like a $emph README.md$emphend file, one or more |
||
45 | help pages, an $emph about$emphend page, one or more graphics files, files called by one |
||
46 | of the above mandatory or optional files, etc. |
||
5798 | bpr | 47 | </p> |
15246 | obado | 48 | |
5920 | bpr | 49 | <hr/><h4>Variable processing files</h4> |
5798 | bpr | 50 | <p> |
15246 | obado | 51 | The files $emph var.init$emphend and $emph var.proc$emphend, |
52 | as well as any files called by these two |
||
53 | files, are variable processing files. |
||
54 | </p><p> |
||
55 | A variable processing file is divided into lines, separated by |
||
56 | non-escaped new-line characters. A new-line character can be escaped by the |
||
57 | character $emph \$emphend, in which case it does not separate the two lines |
||
58 | before and after it. |
||
5798 | bpr | 59 | </p> |
32 | reyssat | 60 | Every line of a variable processing file must be one of the following: |
61 | <ol> |
||
15246 | obado | 62 | <li>A comment line, whose first non-space character is either the character |
63 | $emph #$emphend, or $emph!$emphend followed by another $emph!$emphend. |
||
64 | </li> |
||
65 | <li>A variable definition line, in the form of |
||
66 | $emph name$emphend=$(emph)value$emphend. The content of |
||
67 | $(emph)value$emphend may be a string (if this string contains a new-line |
||
68 | character, it must be escaped by the character $emph \$emphend), or a wims |
||
69 | variable command (which must then start with the character $emph!$emphend). |
||
70 | </li> |
||
71 | <li>A command line, whose first non-space character is the character |
||
72 | $emph!$emphend, followed by the command name and optional parameters. |
||
73 | <br/>If the command produces an output string, this output will be ignored. |
||
74 | </li> |
||
75 | <li>A label line, whose first non-space character is the character |
||
76 | $emph:$emphend, followed by the name of the label. Anything following the |
||
77 | label name will be considered as comment and ignored by the interpreter. |
||
78 | <br/>Label is used in conjunction with the jumping command |
||
79 | $emph!goto$emphend. |
||
80 | <br/>A label starting with the character '*' is catch-all, matching any |
||
81 | $emph!goto$emphend label. |
||
82 | </li> |
||
83 | <li> |
||
84 | Any line not fitting into one of the above 4 will generate a wims error |
||
85 | message. |
||
86 | </li> |
||
87 | </ol> |
||
32 | reyssat | 88 | |
5766 | bpr | 89 | <hr/><h4>Phtml files</h4> |
5798 | bpr | 90 | <p> |
15246 | obado | 91 | The files main.phtml and intro.phtml, as well as any files called by these |
92 | two files, are phtml files (programmable html). |
||
5798 | bpr | 93 | </p><p> |
15246 | obado | 94 | A phtml file is an ordinary html file, except for lines whose |
95 | first non-space character is a $emph!$emphend or a $emph:$emphend. |
||
5798 | bpr | 96 | </p><p> |
15246 | obado | 97 | Lines can be escaped by $emph\$emphend, just as in the case of a variable |
98 | processing file. |
||
5798 | bpr | 99 | </p><p> |
15246 | obado | 100 | A line starting with $emph:$emphend is a label line, as in the case of a |
101 | variable processing file. |
||
5798 | bpr | 102 | </p><p> |
15246 | obado | 103 | A line starting with $emph!$emphend is a command line, as in the case of a |
104 | variable processing file. To the difference that if the command produces an |
||
105 | output string, this output will be inserted into the html page, at the place |
||
106 | of the line. |
||
5798 | bpr | 107 | </p><p> |
15246 | obado | 108 | Lines not of the above two types will be sent to the http client, after |
109 | substitution of variables. |
||
5798 | bpr | 110 | </p> |