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