version 1.23, 2011/01/09 19:01:23
|
version 1.24, 2011/03/01 03:43:32
|
Line 11
|
Line 11
|
<h1>LON-CAPA Software Developer Guide</h1> |
<h1>LON-CAPA Software Developer Guide</h1> |
<p> |
<p> |
Created: <i>January 17, 2001</i> |
Created: <i>January 17, 2001</i> |
<br />Last updated: <i>January 9, 2011</i> |
<br />Last updated: <i>February 28, 2011</i> |
</p> |
</p> |
<ol> |
<ol> |
<li><a href="#Using_CVS">Using CVS</a> |
<li><a href="#Using_CVS">Using CVS</a> |
Line 28 Created: <i>January 17, 2001</i>
|
Line 28 Created: <i>January 17, 2001</i>
|
<li><a href="#makebuild">Compiling the software (make build)</a></li> |
<li><a href="#makebuild">Compiling the software (make build)</a></li> |
<li><a href="#loncapafiles">Adding/removing files from the LON-CAPA |
<li><a href="#loncapafiles">Adding/removing files from the LON-CAPA |
installation (doc/loncapafiles/loncapafiles.lpml)</a></li> |
installation (doc/loncapafiles/loncapafiles.lpml)</a></li> |
|
<li><a href="#makeaboutVERSION">Updating the LON-CAPA Version number</a></li> |
<li><a href="#configversusnonconfig">Configurable files versus |
<li><a href="#configversusnonconfig">Configurable files versus |
non-configurable files</a></li> |
non-configurable files</a></li> |
<li><a href="#makeinstall">Updating the non-configurable files on your |
<li><a href="#makeinstall">Updating the non-configurable files on your |
Line 467 well.
|
Line 468 well.
|
The <tt>lpml_parse.pl</tt>-<tt>loncapafiles.lpml</tt> |
The <tt>lpml_parse.pl</tt>-<tt>loncapafiles.lpml</tt> |
combination has been highly efficient and error-free. |
combination has been highly efficient and error-free. |
</p> |
</p> |
</li><li><a name="configversusnonconfig" /> |
</li> |
|
<li><a name="makeaboutVERSION" /> |
|
<h2>Updating files containing version number on your machine (make aboutVERSION)</h2> |
|
<strong>Commands</strong> |
|
<p><font color="#008800"><tt> |
|
cd loncom/build |
|
<br />make aboutVERSION |
|
</tt></font></p> |
|
<p> |
|
<strong>General description of what happens</strong> |
|
</p> |
|
<p> |
|
This is the actual make target code. |
|
</p> |
|
<pre> |
|
<!-- LONCAPA MAKETARGET=aboutVERSION START --> |
|
aboutVERSION: |
|
cat $(SOURCE)/loncom/license/about.html | \ |
|
perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/(\<\!\-\- VERSION \-\-\>|\d+\.\d+\.CVS_HEAD\-\d{10})/$(SHOWVERSION)-$$d/; print;}' > \ |
|
$(SOURCE)/loncom/license/about.html.new |
|
mv -v $(SOURCE)/loncom/license/about.html.new \ |
|
$(SOURCE)/loncom/license/about.html |
|
cat $(SOURCE)/loncom/loncapa_apache.conf | \ |
|
perl -e '$$d=`date +"%Y%m%d%H"`;chomp($$d);while(<>){s/(\<\!\-\- VERSION \-\-\>|\d+\.\d+\.CVS_HEAD\-\d{10})/$(SHOWVERSION)-$$d/; print;}' > \ |
|
$(SOURCE)/loncom/loncapa_apache.conf.new |
|
mv -v $(SOURCE)/loncom/loncapa_apache.conf.new \ |
|
$(SOURCE)/loncom/loncapa_apache.conf |
|
<!-- LONCAPA MAKETARGET=aboutVERSION END --> |
|
</pre> |
|
<p> |
|
The LON-CAPA Version number is updated in the following files: |
|
<ul> |
|
<li><tt>loncom/license/about.html</tt></li> |
|
<li><tt>loncom/loncapa_apache.conf</tt></li> |
|
</ul> |
|
</p> |
|
<p> |
|
Updating the version information in these files means that visitors to the static HTML page: "About LON-CAPA" on your server will see which version of LON-CAPA you are running. The same information is also displayed on the dynamic log-in page generated by <tt>lonlogin.pm</tt>. Furthermore, the version of LON-CAPA running on your server can determine which course roles may be selectable on that server, if a course contains resource(s) and/or parameter(s) which require a specific version (or newer) of LON-CAPA. It is also possible for Domain Coordinators in another domain to configure their domain to limit hosting of sessions for users from their own domain to LON-CAPA servers in other domains which are running a specific LON-CAPA version (or newer). |
|
</p> |
|
<p> On a development server, i.e., one where LON-CAPA is built and installed from a CVS checkout, running make aboutVERSION will cause the version number to be set to something of the form: M.N.CVS_HEAD-YYYYMMDDHH, where M.N will be the version number of the next stable (major) release (e.g., if the current stable release is 3.1; the next release would be 3.2), and YYYYMMDDHH is the datestamp when make aboutVERSION was last run. Note: make aboutVERSION will update the about.html and loncapa_apache.conf in the installation directory tree; it is not until <tt>make install</tt> is run that files served directly by the web server (or used for configuration) are updated with the versions in that tree. |
|
</p> |
|
</li> |
|
<li><a name="configversusnonconfig" /> |
<h2>Configurable files versus non-configurable files</h2> |
<h2>Configurable files versus non-configurable files</h2> |
<p> |
<p> |
<strong>Machine-specific information is the difference</strong> |
<strong>Machine-specific information is the difference</strong> |