Skip to content
Snippets Groups Projects
Commit 9f21a62c1055 authored by Jean-Francois Pieronne's avatar Jean-Francois Pieronne
Browse files

Documentation update

parent 0709d360b7af
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,8 @@
<style type="text/css">
body {
font-family:arial,helvetica,sans-serif;
font-size:11pt;
font-size: 12pt;
line-height: 1.2em;
background-color:#ffffff; color:#000000;
margin:1.5em; padding:0;
}
......@@ -28,9 +29,15 @@
a:link { color:#0000cc; }
a:visited { color:#0000cc; }
@media print {
a { text-decoration: none; }
a:link { color:#000000; }
a:visited { color:#000000; }
}
@media screen { a[target=_blank]::after { font-size:80%; content:"\2924"; } }
tt { font-family:courier,monospace; padding:0 4px 0 4px; }
hr { color:#888888; background-color:#888888; height:1px; border:0; }
......@@ -31,9 +38,17 @@
@media screen { a[target=_blank]::after { font-size:80%; content:"\2924"; } }
tt { font-family:courier,monospace; padding:0 4px 0 4px; }
hr { color:#888888; background-color:#888888; height:1px; border:0; }
.pyrte
{
font-family: arial, impact, sans;
font-style: normal;
font-size: 110%;
letter-spacing: 0.02em;
}
.code
{
font-family:courier,monospace;
......@@ -73,5 +88,5 @@
<center>
<h1>Python Run-Time Environment</h1>
<h3>Version 1.1.11, 23rd June 2013</h3>
<h3 style="margin-bottom:0;">Version 1.1.12, 30th July 2017</h3>
......@@ -77,5 +92,5 @@
<p><b>Copyright &copy; 2007-2016 Mark G. Daniel</b>
<p><b>Copyright &copy; 2007-2017 Mark G. Daniel</b>
<br>This program, comes with ABSOLUTELY NO WARRANTY.
<br>This is free software, and you are welcome to redistribute it under the
<br>conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
......@@ -79,7 +94,7 @@
<br>This program, comes with ABSOLUTELY NO WARRANTY.
<br>This is free software, and you are welcome to redistribute it under the
<br>conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
<br><a target="_blank" href="http://www.gnu.org/licenses/gpl.txt">http://www.gnu.org/licenses/gpl.txt</a>
<br><a target="_blank" href="https://www.gnu.org/licenses/gpl.txt">https://www.gnu.org/licenses/gpl.txt</a>
</center>
......@@ -92,8 +107,9 @@
<li><a href="#wsgi">Web Server Gateway Interface</a>
<li><a href="#lever">Leveraging PyRTE</a>
<li><a href="#problems">Problems</a>
<li><a href="#releases">Releases</a>
<li><a href="#ackn">Acknowlegements</a>
</ul>
<br><hr align="left" size="1" noshade><br>
......@@ -95,15 +111,15 @@
<li><a href="#ackn">Acknowlegements</a>
</ul>
<br><hr align="left" size="1" noshade><br>
<p> PyRTE is an interface to a <a target="_blank" href="http://www.python.org/">Python</a>
interpreter engine and environment for the WASD VMS Web server. It is designed
to be able to be used in standard CGI and CGIplus/RTE persistent scripting
modes. The persistent modes (default) provide a ~35x (yes, an approximate
thirty-five times) improvement in script activation times (compared to
CGI/command-line) and comparably reduced load on both server and system. Note
that this package does not contain the Python interpreter or kit, that has to
be obtained and installed separately (a simple matter as it is provided via a
PCSI package).
<p> <span class="pyrte">PyRTE</span> is an interface to a
<a target="_blank" href="https://www.python.org/">Python</a> interpreter engine
and environment for the WASD VMS Web server. It is designed to be able to be
used in standard CGI and CGIplus/RTE persistent scripting modes. The
persistent modes (default) provide a ~35x (yes, an approximate thirty-five
times) improvement in script activation times (compared to CGI/command-line)
and comparably reduced load on both server and system. Note that this package
does not contain the Python interpreter or kit, that has to be obtained and
installed separately (a simple matter as it is provided via a PCSI package).
......@@ -109,6 +125,6 @@
<p> PyRTE is linked against the Python interpreter shareable image and so
shares a set of Python capabilities in common with command-line OpenVMS Python.
Alpha (AXP) and Itanium object modules are provided for the VMS platforms
available for Python.
<p> <span class="pyrte">PyRTE</span> is linked against the Python interpreter
shareable image and so shares a set of Python capabilities in common with
command-line OpenVMS Python. Alpha (AXP) and Itanium object modules are
provided for the VMS platforms available for Python.
......@@ -114,8 +130,8 @@
<p> PyRTE has been developed and tested on VMS V8.3 and V8.4, Alpha and
Itanium, using WASD v10.<i>n</i> and v11.<i>n</i> and VMS Python kits PYTHON272
and PYTHON278 available from and documented at
<a target="_blank" href="http://www.vmspython.org/">http://www.vmspython.org/</a>. JFP's
<p> <span class="pyrte">PyRTE</span> has been developed and tested on VMS V8.3
and V8.4, Alpha and Itanium, using WASD v10.<i>n</i> and v11.<i>n</i> and VMS
Python kits PYTHON272 and PYTHON278 available from and documented at
<a target="_blank" href="https://www.vmspython.org/">https://www.vmspython.org/</a>. JFP's
Python kits are kept very up-to-date as Python updates or implementation
problems arise.
......@@ -119,17 +135,6 @@
Python kits are kept very up-to-date as Python updates or implementation
problems arise.
<blockquote>
<center><b>&copy; 2016 Kit</b></center>
<hr size="1" width="70%" align="center" noshade>
This &copy; 2016 kit contains exactly the same Python RTE as the &copy; 2013
kit of the same version number. Only this documentation and the build
procedure have been updated to use the v10.<i>n</i> and later WASD_EXE logical
name rather than HT_EXE. No upgrade is required if the original is working for
your site. This kit will not build on WASD v9.<i>n</i> without modification.
<hr size="1" width="70%" align="center" noshade>
</blockquote>
<a name="install">
<h2>Installation</h2>
</a>
......@@ -140,8 +145,8 @@
up-to-date, obtain the latest kit from
<blockquote>
<a target="_blank" href="http://www.vmspython.org/">http://www.vmspython.org/</a>
<a target="_blank" href="https://www.vmspython.org/">https://www.vmspython.org/</a>
</blockquote>
and install according to the instructions available.
......@@ -144,9 +149,10 @@
</blockquote>
and install according to the instructions available.
<p><li> When updating it is suggested that any exisiting PyRTE kit be renamed
<p><li> When updating it is suggested that any existing
<span class="pyrte">PyRTE</span> kit be renamed
out of the way before installing this kit. After successful installation and
testing the old kit may be deleted.
<pre class="code">
......@@ -149,7 +155,7 @@
out of the way before installing this kit. After successful installation and
testing the old kit may be deleted.
<pre class="code">
$ RENAME HT_ROOT:[SRC]PYTHON.DIR HT_ROOT:[SRC]PYTHON_nnn.DIR
$ RENAME WASD_ROOT:[SRC]PYTHON.DIR WASD_ROOT:[SRC]PYTHON_nnn.DIR
</pre>
......@@ -154,5 +160,5 @@
</pre>
<li> Obtain the PyRTE kit from (or one of the mirror sites)
<li> Obtain the <span class="pyrte">PyRTE</span> kit from
<blockquote>
......@@ -157,8 +163,8 @@
<blockquote>
<a target="_blank" href="http://wasd.vsm.com.au/wasd/">http://wasd.vsm.com.au/wasd/</a>
<a target="_blank" href="https://wasd.vsm.com.au/wasd/">https://wasd.vsm.com.au/wasd/</a>
</blockquote>
<li> UNZIP the kit
<pre class="code">
......@@ -160,9 +166,9 @@
</blockquote>
<li> UNZIP the kit
<pre class="code">
$ SET DEFAULT HT_ROOT:[000000]
$ SET DEFAULT WASD_ROOT:[000000]
$ UNZIP "-V" location:PYRTEnnn.ZIP
</pre>
......@@ -170,7 +176,7 @@
modules. Compilation is also available.
<pre class="code">
$ SET DEFAULT HT_ROOT:[SRC.PYTHON]
$ SET DEFAULT WASD_ROOT:[SRC.PYTHON]
$ @BUILD_PYRTE LINK
</pre>
......@@ -174,7 +180,7 @@
$ @BUILD_PYRTE LINK
</pre>
<li> Copy the PyRTE engine to the script executable location.
<li> Copy the <span class="pyrte">PyRTE</span> engine to the script executable location.
<pre class="code">
$ COPY WASD_EXE:PYRTE.EXE CGI_EXE:
......@@ -191,7 +197,7 @@
<h2>Configure WASD</h2>
</a>
<p> Although there are experimentation modes built into PyRTE basically it will
<p> Although there are experimentation modes built into <span class="pyrte">PyRTE</span> basically it will
be used as a WASD Run-Time Environment providing persistent Python
interpreter(s) and environment(s) for Python scripts and applications.
Benchmarking indicates the CGIplus/RTE use reduces activation time to 3% of CGI
......@@ -265,7 +271,7 @@
<pre class="code">
# HTTPD$MAP
exec /py-bin/* (cgi_exe:pyrte)/ht_root/src/python/scripts/* \
exec /py-bin/* (cgi_exe:pyrte)/wasd_root/src/python/scripts/* \
script=syntax=unix script=query=none map=once ods=5
</pre>
......@@ -304,10 +310,10 @@
directory:
<blockquote>
<a target="_blank" href="/ht_root/src/python/scripts/">/ht_root/src/python/scripts/</a>
<a target="_blank" href="/wasd_root/src/python/scripts/">/wasd_root/src/python/scripts/</a>
</blockquote>
<a name="wsgi">
<h2>Web Server Gateway Interface</h2>
</a>
......@@ -308,10 +314,10 @@
</blockquote>
<a name="wsgi">
<h2>Web Server Gateway Interface</h2>
</a>
<p> PyRTE contains a Web Server Gateway Interface v1.0 (WSGI). This is a
<p> <span class="pyrte">PyRTE</span> contains a Web Server Gateway Interface v1.0 (WSGI). This is a
Python standard specification for web servers and application servers to
communicate with web applications (though it can also be used for more than
that).
......@@ -330,7 +336,7 @@
and generously made available to the wider WASD community.
<p> The following is an example of a simple (and classic) WSGI application
being activated using the PyRTE <tt>wasd.wsgi_run()</tt> function.
being activated using the <span class="pyrte">PyRTE</span> <tt>wasd.wsgi_run()</tt> function.
<pre class="code">
def hello_world (environ, start_response):
......@@ -345,11 +351,11 @@
<h3>WSGI Output Buffering</h3>
<p> PEP 333 specifies that WSGI should not buffer output and pyRTE complies but
some tools (like Mercurial) don't buffer internally themselves and end up
sending many very small records. This is obviously inefficient. If buffered
the throughput boost for Mercurial is about x4. Well worth having for
specific Web applications.
<p> PEP 333 specifies that WSGI should not buffer output and
<span class="pyrte">PyRTE</span> complies but some tools (like Mercurial) don't
buffer internally themselves and end up sending many very small records. This
is obviously inefficient. If buffered the throughput boost for Mercurial is
about x4. Well worth having for specific Web applications.
<p> This forced buffering may be enabled on a per-application basis using a
mapping rule, for example
......@@ -381,7 +387,7 @@
<p> The Python code in the script may be inspected from the source directory:
<blockquote>
<a target="_blank" href="/ht_root/src/python/scripts/">/ht_root/src/python/scripts/</a>
<a target="_blank" href="/wasd_root/src/python/scripts/">/wasd_root/src/python/scripts/</a>
</blockquote>
<p> There are also equivalent <tt>wsgiref</tt> (the Python reference
......@@ -394,7 +400,7 @@
<p> Python scripts activated using the default persistent engine generally have
low-latency, low-system-impact characteristics and seem to perform reliably and
efficiently. The PyRTE generally handles all the WASD server interaction
efficiently. The <span class="pyrte">PyRTE</span> generally handles all the WASD server interaction
requirements. However there may be occasions where the application itself
benefits from being persistent (many Python Web application are written with
this in mind) or where more control needs to be exercised by the application
......@@ -398,5 +404,5 @@
requirements. However there may be occasions where the application itself
benefits from being persistent (many Python Web application are written with
this in mind) or where more control needs to be exercised by the application
designer. The WASD PyRTE provides a WASD Python module that provides an API
designer. The WASD <span class="pyrte">PyRTE</span> provides a WASD Python module that provides an API
for some of these aspects. Rather than clutter this document with such arcane
......@@ -402,4 +408,4 @@
for some of these aspects. Rather than clutter this document with such arcane
detail the description may be found in the prologue to the PyRTE source code:
detail the description may be found in the prologue to the <span class="pyrte">PyRTE</span> source code:
<blockquote>
......@@ -404,9 +410,9 @@
<blockquote>
<a target="_blank" href="/ht_root/src/python/pyrte.c">/ht_root/src/python/pyrte.c</a>
<a target="_blank" href="/wasd_root/src/python/pyrte.c">/wasd_root/src/python/pyrte.c</a>
</blockquote>
<p> An example of where an application benefits from an explicitly CGIplus
activation is MoinMoin:
<ul>
......@@ -407,12 +413,11 @@
</blockquote>
<p> An example of where an application benefits from an explicitly CGIplus
activation is MoinMoin:
<ul>
<li><a target="_blank" href="http://moinmoin.wikiwikiweb.de/">http://moinmoin.wikiwikiweb.de/</a>
<li><a target="_blank" href="http://www.vmspython.org/MoinMoin">http://www.vmspython.org/MoinMoin</a>
<li><a target="_blank" href="http://www.vmspython.org/DownloadAndInstallationMoinMoin">http://www.vmspython.org/DownloadAndInstallationMoinMoin</a>
<li><a target="_blank" href="https://moinmo.in">https://moinmo.in</a>
<li><a target="_blank" href="https://www.vmspython.org/DownloadAndInstallationMoinMoin">https://www.vmspython.org/DownloadAndInstallationMoinMoin</a>
</ul>
<p> MoinMoin is generally run independently to a system's primary Web server
......@@ -427,8 +432,8 @@
package).
<blockquote>
<a target="_blank" href="/ht_root/src/python/moincgiplus.com">/ht_root/src/python/moincgiplus.com</a>
<a target="_blank" href="/wasd_root/src/python/moincgiplus.com">/wasd_root/src/python/moincgiplus.com</a>
</blockquote>
<p> The same principles may be applied to any application environment
(third-party or in-house) with similar characteristics. Python applications
......@@ -431,8 +436,8 @@
</blockquote>
<p> The same principles may be applied to any application environment
(third-party or in-house) with similar characteristics. Python applications
running as CGIplus scripts using the PyRTE must be activated via DCL wrappers
running as CGIplus scripts using the <span class="pyrte">PyRTE</span> must be activated via DCL wrappers
as illustrated above (in part due to mapping requirements).
<p> With CGIplus persistent applications configuration or code changes will in
......@@ -448,8 +453,8 @@
</a>
<ul>
<li> With the PyRTE kit ... Mark.Daniel@wasd.vsm.com.au
<li> With the <span class="pyrte">PyRTE</span> kit ... Mark.Daniel@wasd.vsm.com.au
<li> With the VMS Python kit ... jf.pieronne@gmail.com
<li> The info-WASD mailing list
</ul>
......@@ -452,9 +457,9 @@
<li> With the VMS Python kit ... jf.pieronne@gmail.com
<li> The info-WASD mailing list
</ul>
<p> Unfortunately the author of the PyRTE interface is such a Python novice he
<p> Unfortunately the author of the <span class="pyrte">PyRTE</span> interface is such a Python novice he
is not in any position to answer queries about Python "programming" or usage.
There is the VMS Python Wiki
<blockquote>
......@@ -457,10 +462,10 @@
is not in any position to answer queries about Python "programming" or usage.
There is the VMS Python Wiki
<blockquote>
<a target="_blank" href="http://www.vmspython.org/">http://www.vmspython.org/</a>
<a target="_blank" href="https://www.vmspython.org/">https://www.vmspython.org/</a>
</blockquote>
<p> and support forum
<blockquote>
......@@ -462,9 +467,9 @@
</blockquote>
<p> and support forum
<blockquote>
<a target="_blank" href="http://www.vmspython.org/piforum/index.py">http://www.vmspython.org/piforum/index.py</a>
<a target="_blank" href="https://forum.vmspython.org/">https://forum.vmspython.org/</a>
</blockquote>
<p> for VMS Python issues. If there's an obvious behavioural problem with
......@@ -468,9 +473,75 @@
</blockquote>
<p> for VMS Python issues. If there's an obvious behavioural problem with
PyRTE then contact the author or use the info-WASD mailing list.
<span class="pyrte">PyRTE</span> then contact the author or use the info-WASD mailing list.
<a name="releases">
<h2>Releases</h2>
</a>
<dl>
<dt>v1.1.12&nbsp; 30-JUL-2017</dt>
<dd>&bull;&nbsp; wasd.cgi_callout()
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.11&nbsp; 20-JUN-2013</dt>
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.10&nbsp; 05-NOV-2011</dt>
<dd>&bull;&nbsp; Python 2.7.2, see changes to includes
</dd>
<dt>v1.1.9&nbsp; 27-FEB-2011</dt>
<dd>&bull;&nbsp; /CLI= to allow a command-line script activation
<dd>&bull;&nbsp; logical PYRTE_METRICS enables "?$metrics$" report
</dd>
<dt>v1.1.8&nbsp; 20-JUL-2010</dt>
<dd>&bull;&nbsp; WASD v10.1 proctor detect
</dd>
<dt>v1.1.7&nbsp; 17-MAY-2010</dt>
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.6&nbsp; 30-APR-2010</dt>
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.5&nbsp; 29-APR-2010</dt>
<dd>&bull;&nbsp; PYRTE_HEAD_CVT_GET and script=param=PYRTE=/HEAD=GET
</dd>
<dt>v1.1.4&nbsp; 08-DEC-2009</dt>
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.3&nbsp; 07-DEC-2009</dt>
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.2&nbsp; 19-APR-2008</dt>
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.1&nbsp; 17-JAN-2008</dt>
<dd>&bull;&nbsp; bugfix
</dd>
<dt>v1.1.0&nbsp; 05-JAN-2008</dt>
<dd>&bull;&nbsp; WSGI support</dd>
</dd>
<dt>v1.0.0&nbsp; 22-APR-2007</dt>
<dd>&bull;&nbsp; initial</dd>
</dd>
</dl>
<a name="ackn">
<h2>Acknowlegements</h2>
</a>
......@@ -472,8 +543,8 @@
<a name="ackn">
<h2>Acknowlegements</h2>
</a>
<p> Many thanks to Jean-François Piéronne for his initial port of Python to VMS
and his energetic, ongoing maintenance of the product.
<p> Many thanks to Jean-Fran&ccedil;ois Pi&eacute;ronne for his initial port of
Python to VMS and his energetic, ongoing maintenance of the product.
......@@ -479,5 +550,5 @@
<br><hr align="left" size="1" noshade><br>
<p><hr align="left" size="1" noshade><br>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment