annotate doc/configuration.rst @ 69:c168aad7a731 draft

Fix template error reportage.
author David Barts <n5jrn@me.com>
date Mon, 15 Jul 2019 08:13:51 -0700
parents 55828c01e38f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
61
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
1 *************
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
2 Configuration
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
3 *************
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
4
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
5 Basically, there isn't very much configuration to contend with. It's all in the files you create in your webapp's directory tree. TinCan figures it out from them and takes it from there:
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
6
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
7 * A route is created for each ``.pspx`` file.
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
8 * By default, a ``.pspx`` file's code-behind is find in a ``.py`` file with the same base name.
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
9 * Header directives in the ``.pspx`` files can be used to alter the default behavior.
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
10 * The ``tincan.launch`` call accepts optional arguments which can be used to tailor how a webapp is launched and run.
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
11
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
12 ===============================================
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
13 Case-Sensitive and Case-Preserving File Systems
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
14 ===============================================
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
15
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
16 A word here is necessary about case-sensitive versus case-preserving files systems. Unix and Linux systems have case-sensitive file systems; ``file.pspx``, ``File.Pspx``, and ``FILE.PSPX`` are three completely different files. It is possible for all three files to coexist in the same directory. Windows and MacOS are case-preserving file systems; only one of the three is allowed to exist at any time, and a request for any one of those names will match the existing one.
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
17
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
18 TinCan knows about both kinds of file systems, and acts slightly differently depending on which kind the system it is being run under has. When run on a case-preserving system, ``FILE.PSPX``, ``File.Pspx``, ``file.pspx``, and even ``fIlE.pSpX`` will be recognized as having the correct sort of extension to define a route and template. On a case-sensitive system, only ``file.pspx`` will be so recognized.
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
19
55828c01e38f More documenting.
David Barts <n5jrn@me.com>
parents:
diff changeset
20 It is important to note, however, that while a file system might not be case sensitive, *routes are always case sensitive*. A TinCan webapp under Windows that contains ``FILE.PSPX`` will get a route created that matches *only* the capitalized version of the name that appears on the Windows file system. It is for this reason that it is probably best to stick to one capitalization strategy, even on non-case-sensitive systems.