diff --git a/src/python/readmore.html b/src/python/readmore.html old mode 100755 new mode 100644 index 0709d360b7afcf3738f762f144208f89cf3c1227_c3JjL3B5dGhvbi9yZWFkbW9yZS5odG1s..9f21a62c1055b5b818c32c9850f57633a0ec207d_c3JjL3B5dGhvbi9yZWFkbW9yZS5odG1s --- a/src/python/readmore.html +++ b/src/python/readmore.html @@ -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 © 2007-2016 Mark G. Daniel</b> +<p><b>Copyright © 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>© 2016 Kit</b></center> -<hr size="1" width="70%" align="center" noshade> -This © 2016 kit contains exactly the same Python RTE as the © 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 30-JUL-2017</dt> +<dd>• wasd.cgi_callout() +<dd>• bugfix +</dd> + +<dt>v1.1.11 20-JUN-2013</dt> +<dd>• bugfix +</dd> + +<dt>v1.1.10 05-NOV-2011</dt> +<dd>• Python 2.7.2, see changes to includes +</dd> + +<dt>v1.1.9 27-FEB-2011</dt> +<dd>• /CLI= to allow a command-line script activation +<dd>• logical PYRTE_METRICS enables "?$metrics$" report +</dd> + +<dt>v1.1.8 20-JUL-2010</dt> +<dd>• WASD v10.1 proctor detect +</dd> + +<dt>v1.1.7 17-MAY-2010</dt> +<dd>• bugfix +</dd> + +<dt>v1.1.6 30-APR-2010</dt> +<dd>• bugfix +</dd> + +<dt>v1.1.5 29-APR-2010</dt> +<dd>• PYRTE_HEAD_CVT_GET and script=param=PYRTE=/HEAD=GET +</dd> + +<dt>v1.1.4 08-DEC-2009</dt> +<dd>• bugfix +</dd> + +<dt>v1.1.3 07-DEC-2009</dt> +<dd>• bugfix +</dd> + +<dt>v1.1.2 19-APR-2008</dt> +<dd>• bugfix +</dd> + +<dt>v1.1.1 17-JAN-2008</dt> +<dd>• bugfix +</dd> + +<dt>v1.1.0 05-JAN-2008</dt> +<dd>• WSGI support</dd> +</dd> + +<dt>v1.0.0 22-APR-2007</dt> +<dd>• 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çois Pié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>