Updated with information about the 3.0 release
authorAnders Henja <anders@baltrad.eu>
Fri, 31 May 2019 13:12:35 +0000 (15:12 +0200)
committerAnders Henja <anders@baltrad.eu>
Fri, 31 May 2019 13:12:35 +0000 (15:12 +0200)
14 files changed:
doc/config.dox
doc/distr.dox
doc/faq.dox
doc/help.dox
doc/install.dox
doc/intro.dox
doc/maintenance.dox
doc/pgf.dox
doc/reqs.dox
doc/secure.dox
doc/subscribe.dox
doc/supervisor.dox
doc/toolbox.dox
doc/ug.dox

index de2fa04..bdb9b7f 100644 (file)
@@ -1,6 +1,6 @@
 /** \page config Configuration
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 Congratulations! If you've come this far, it means you've succesfully
 followed the instructions in \ref install and you have a node that is up and
index 42f26cf..73c685f 100644 (file)
@@ -1,6 +1,6 @@
 /** \page dist Distribution
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 We've installed and configured a BALTRAD node, injected our own data into
 it, exchanged data with other nodes, generated products with all the data,
index ac6b582..d77d68a 100644 (file)
@@ -1,6 +1,6 @@
 /** \page faq Frequently Asked Questions
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 \htmlonly<hr>\endhtmlonly
 
@@ -177,9 +177,12 @@ developers scattered throughout the region couldn't agree on a single
 language to use. So we let ourselves be inspired by Google who use three
 languages. The ones we have chosen are C/C++, <a
 href="http://java.com/" target="_blank">Java</a>, and
-<a href="http://python.org/" target="_blank">Python</a>. The amount of C++
-code has dropped recently after we migrated one of our core subsystems to
-Python and Java, so C++ is no longer part of the core system. 
+<a href="http://python.org/" target="_blank">Python</a>. At one stage of the project
+C++ dropped in favour for Python and Java in one of our core subsystems, 
+so C++ is no longer part of the core system. 
+
+From revision 3.0 we have dropped Python 2.7 support in favour for Python 3.6 since
+Python 2.7 soon will reach it's end of line. 
 
 We also use some other scripting tools for specific purposes. For
 example, <a href="http://groovy.codehaus.org/" target="_blank">Groovy
@@ -386,34 +389,7 @@ As mentioned above, we don't reinvent wheels unnecessarily and we have
 developed our software using C/C++, Java, and Python. We therefore have a
 set of dependencies that is probably larger than you are accustomed
 to. Note, however, that you do not have to download and install these
-yourself. Our installer does it for you. Here is a table containing these
-dependencies.
-\htmlonly
-<table border="1">
-<tr><th>Package</th> <th>Version</th> <th>Description</th></tr>
-<tr><td>Apache ant</td> <td>1.8.0</td> <td>Java build tool</td></tr>
-<tr><td>Apache tomcat</td> <td>6.0.33</td> <td>Web servlet container</td></tr>
-<tr><td>cURL</td> <td>7.19.0</td> <td>Network communications functionality</td></tr>
-<tr><td>expat</td> <td>2.0.1</td> <td>XML library</td></tr>
-<tr><td>HDF5</td> <td>1.8.5-patch1</td> <td>Hierarchical Data Format
-version 5</td></tr>
-<tr><td>HDF-Java</td> <td>2.6.1</td> <td>Java API to HDF5</td></tr>
-<tr><td>HL-HDF</td> <td>0.7</td> <td>SMHI's high-level C and Python APIs to HDF5</td></tr>
-<tr><td>keyCzar</td> <td>0.7b</td> <td>Google's cryptographic toolkit for
-both Java and Python, used to manage private and public keys</td></tr>
-<tr><td>NumPy</td> <td>1.3.0</td> <td>Package for powerful manipulation of
-numerical arrays and scientific computing in Python</td></tr>
-<tr><td>PROJ.4</td> <td>4.7.0</td> <td>Cartographic projections library</td></tr>
-<tr><td>PyASN1</td> <td>0.1.2</td> <td>Library for working with ASN.1-based
-protocols in Python</td></tr>
-<tr><td>PyCrypto</td> <td>2.4.1</td> <td>Python Cryptography Toolkit</td></tr>
-<tr><td>PycURL</td> <td>7.19.0</td> <td>Python interface to cURL</td></tr>
-<tr><td>Python</td> <td>2.6.4</td> <td>Python programming language and interpreter</td></tr>
-<tr><td>Python Imaging Library</td> <td>1.1.7</td> <td>Manipulation of
-generic image objects in Python</td></tr>
-<tr><td>ZLIB</td> <td>1.2.4</td> <td>Compression library</td></tr>
-</table>
-\endhtmlonly
+yourself. Our installer does it for you.
 
 Some of the BALTRAD software packages written in Java have included
 third-party dependencies and are managed by these packages. An example of
@@ -467,8 +443,6 @@ can be considered to be in the pipeline. These are currently:
 classifier and attenuation correction</td></tr>
 <tr><td>bRack</td> <td>C++, Python</td> <td>Anomaly detection and removal,
 product generation including injective compositing</td></tr>
-<tr><td>RADVOL-QC</td> <td>C</td> <td>Suite of quality-control and
-characterization algorithms for polar data.</td></tr>
 </table>
 \endhtmlonly
 These packages are found in our 
@@ -478,8 +452,67 @@ together with stand-alone packages like the BALTRAD WMS package.
 \htmlonly<hr>\endhtmlonly
 
 \section faq_inst How do you install the system?
-The node-installer pakage will install those parts of the system that you
-want to use. This is done by downloading the node-installer package itself
+There are two ways to install the system. Either using the node installer \ref faq_inst_node_installer 
+or as packages \ref faq_inst_packages.
+
+\subsection faq_inst_packages How do you install rpm packages
+As of BALTRAD 3.0 we have started the work to allow the system to be installed
+using traditional package managers like rpm or debian packages. Currently we
+only have full support for installing BALTRAD as rpm:s. We also provide a yum
+repository that can be used to simplify the installation even further since yum
+will ensure that the necessary third party packages are installed. In the future
+we also hope that we will be able to provide the system as debian packages.
+
+There are two basic approaches to install the software from the rpms. Either you
+download the rpm:s manually (from http://git.baltrad.eu/baltrad-packages/CentOS/7/5/) and install them with yum or 
+you can add the baltrad-package.repo to your yum installation catalogue and install them that way.
+
+The recommended approach is to use the yum-repository since that will provide information about updates.
+
+To setup the yum-repo, you will have to login as root and do a number of steps. After that the installation and
+updates will hopefully be quite painless.
+
+However, before we even atempt to install the baltrad packages, several dependencies has to be installed. The first thing
+you will have to do is to install the latest epel-release rpm which you can find here 
+  - http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/
+  
+Then you install the epel release rpm by typing
+\verbatim
+%> rpm -Uvh epel-release*.rpm
+\endverbatim
+
+After that you should install postgres and the python 3.6 distributables available from the epel above.
+\verbatim
+%> yum install postgresql postgresql-devel postgresql-contrib postgresql-server
+%> yum install python36 python36-devel python36-libs python36-setuptools
+\endverbatim
+
+As a final step you should update the yum repository with the repo file pointing at the baltrad packages.
+
+\verbatim
+%> cd /etc/yum.repos.d
+%> wget http://git.baltrad.eu/baltrad-packages/CentOS/7/5/current/baltrad-package.repo
+%> yum update
+%> (install epel, see howtos)
+%> yum install python36 python36-devel python36-libs python36-setuptools
+%> yum install `yum list | grep baltrad-repo | awk '{print $1;}'`
+\endverbatim
+
+In some cases you will have to expire the cache to be notified that new packages are available and
+that can be done by
+\verbatim
+%> yum clean expire-cache
+%> yum update
+\endverbatim
+
+
+\subsection faq_inst_node_installer
+The node-installer package will install those parts of the system that you
+want to use. The node-installer should work on most linux-based operating systems. It
+can be used in the situations where there are no pre-built packages for your
+operating system.
+
+This installation is done by downloading the node-installer package itself
 from http://git.baltrad.eu/git and downloading a snapshot, or the tarball
 from http://git.baltrad.eu/manual/releases.html. This is a small package. 
 \verbatim
index 39894d7..92c9df3 100644 (file)
@@ -1,6 +1,6 @@
 /** \page help Getting post-installation help
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 The various subsystems' built-in documentation will be generated
 automatically during \ref install. This is detailed technical documentation
index 1e9e214..09582e9 100644 (file)
@@ -1,10 +1,9 @@
 /** \page install Installation
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 Welcome to the installation chapter of the user guide. BALTRAD software has
-been built and installed in seven countries already, and at least three
-more are doing it soon. If it works for us, it can work for you.
+been built and installed in several countries. If it works for us, it can work for you.
 
 The golden rule when it comes to installation in BALTRAD is that
 instructions should always be provided in a text file called INSTALL. This
@@ -20,8 +19,10 @@ subsystems. If you want to install any of these individual subsystems
 alone, please consult that package's INSTALL file.
 
 \li \ref in_prep
-\li \ref in_repo
 \li \ref in_ps
+\li \ref in_rpm
+\li \ref in_prep_node_installer
+\li \ref in_repo
 \li \ref in_in
 \li \ref in_fw
 \li \ref in_up
@@ -32,7 +33,106 @@ Double-check \ref req_sw to make sure you have installed a 64-bit
 Linux. Make sure all the required software is installed and at least the
 versions given in the table.
 
-The software installation process will make heavy use of Python to fetch
+There are two different ways to install the software. Either by using the
+pre-built rpms that are available at http://git.baltrad.eu/baltrad-packages/CentOS/7/5/ or
+else by using the node-installer. The installation from rpm is the recommended approach
+but obviously this isn't possible in all situations and then the node installer
+is there to help out.
+
+The node-installer tries to provide a generic way to install the software on most
+linux distributions. The rpms on the other hand make the installation process simple
+and is also provided as a yum-repository.
+
+\section in_ps Preparing a database
+We use a Postgre SQL server. It doesn't have to be physically located on
+the same machine that you're using to install your BALTRAD node. Start by
+checking how secure your Postgre server is. Optionally you can raise its
+security level a bit by editing the
+<tt>/var/lib/pgsql/data/pg_hba.conf</tt> file. Towards the bottom, the
+entries should appear as here:
+\verbatim
+# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
+
+# "local" is for Unix domain socket connections only
+local   all         all                               md5
+# IPv4 local connections:
+host    all         all         127.0.0.1/32          md5
+# IPv6 local connections:
+host    all         all         ::1/128               md5
+\endverbatim
+If you did this, then you have to restart the server:
+\verbatim
+root# service postgresql restart
+\endverbatim
+This was an optional step. Next, we create the database and database user
+for the node. As user \c postgres:
+\verbatim
+# su - postgres
+$ psql
+psql (version)
+Type "help" for help.
+postgres=# CREATE USER baltrad with PASSWORD 'baltrad';
+postgres=# CREATE DATABASE baltrad with OWNER baltrad;
+\endverbatim
+You can choose other names for your database and user, and you should
+probably use another password, but please keep track of them; for the
+purposes of this documentation, we'll continue using these ones. If your
+database is on another machine, then keep track of that machine's IP number!
+
+\section in_rpm Installing pre-built rpms
+All pre-built rpms can be found here: http://git.baltrad.eu/baltrad-packages/CentOS/7/5/ and you can also
+find the yum repository file here.
+
+The recommended way to install the baltrad node is to setup the server to use the baltrad node yum repository. To do that you will have to login as root and do a number of steps. 
+After that the installation and updates will hopefully be quite painless.
+
+However, before we even atempt to install the baltrad packages, several dependencies has to be installed. One in particular is that
+you will have to install the latest epel-release rpm since you need to get hold of pre-built python 3.6 binaries. This epel rpm can be found here 
+  - http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/
+  
+Then you install the epel release rpm by typing
+\verbatim
+%> rpm -Uvh epel-release*.rpm
+\endverbatim
+
+After that you should install the python 3.6 distributables available from the epel above.
+\verbatim
+%> yum install python36 python36-devel python36-libs python36-setuptools
+\endverbatim
+
+As a final step you should update the yum repository with the repo file pointing at the baltrad packages.
+
+\verbatim
+%> cd /etc/yum.repos.d
+%> wget http://git.baltrad.eu/baltrad-packages/CentOS/7/5/current/baltrad-package.repo
+%> yum update
+%> (install epel, see howtos)
+%> yum install python36 python36-devel python36-libs python36-setuptools
+%> yum install `yum list | grep baltrad-repo | awk '{print $1;}'`
+\endverbatim
+
+As can be seen in the description above, the install is installing all available packages from the baltrad-repo
+since there currently are no top-level packages available for installation.
+
+\subsection in_update_rpm Updating pre-built rpms
+Usually, if the baltrad node repo file has been added to the yum.repos.d folder, the baltrad node will automatically
+be notified when new updates are available. In some situations it might be necessary to first invoke
+
+\verbatim
+%> yum clean all
+\endverbatim
+
+and then 
+
+\verbatim
+%> yum update `yum list installed | grep baltrad-repo | awk '{print $1;}'`
+\endverbatim
+
+\section in_prep_node_installer Node installer
+The node installer can be used if you have decided to use a different operating system
+than CentOS/RedHat or for some other reason want to control the installation process.
+This software installation process will make heavy use of Python to fetch
 software and install it. The first thing that will be done is that the
 installer will determine if you have a Python installation that can be used
 for its purposes. If it can't find one, then it will bootstrap a Python for
@@ -85,42 +185,6 @@ tarball.
 BALTRAD lab software and stand-alone packages that don't communicate with
 the \e node are also available for direct download at http://git.baltrad.eu/lab
 
-\section in_ps Preparing a database
-We use a Postgre SQL server. It doesn't have to be physically located on
-the same machine that you're using to install your BALTRAD node. Start by
-checking how secure your Postgre server is. Optionally you can raise its
-security level a bit by editing the
-<tt>/var/lib/pgsql/data/pg_hba.conf</tt> file. Towards the bottom, the
-entries should appear as here:
-\verbatim
-# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
-
-# "local" is for Unix domain socket connections only
-local   all         all                               md5
-# IPv4 local connections:
-host    all         all         127.0.0.1/32          md5
-# IPv6 local connections:
-host    all         all         ::1/128               md5
-\endverbatim
-If you did this, then you have to restart the server:
-\verbatim
-root# service postgresql restart
-\endverbatim
-This was an optional step. Next, we create the database and database user
-for the node. As user \c postgres:
-\verbatim
-# su - postgres
-$ psql
-psql (version)
-Type "help" for help.
-postgres=# CREATE USER baltrad with PASSWORD 'baltrad';
-postgres=# CREATE DATABASE baltrad with OWNER baltrad;
-\endverbatim
-You can choose other names for your database and user, and you should
-probably use another password, but please keep track of them; for the
-purposes of this documentation, we'll continue using these ones. If your
-database is on another machine, then keep track of that machine's IP number!
-
 \section in_in Installing the software
 Installation is a one-liner! The command to use is \c setup.
 
index a090687..6126136 100644 (file)
@@ -1,6 +1,6 @@
 /** \mainpage Community-based weather radar networking
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 \par Copyright 
 &copy; 2015 Swedish Meteorological and Hydrological Institute (SMHI), Norrk&ouml;ping, Sweden <br> on behalf of the BALTRAD partnership
 
index 0b9b83c..96d7265 100644 (file)
@@ -1,6 +1,6 @@
 /** \page maintenance Maintenance
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 There are so many different ways to maintain a computer system so we will just focus on some 
 specific parts related to the baltrad software. Other than that, you will have to refer to
index 96c35e0..de557e3 100644 (file)
@@ -1,6 +1,6 @@
 /** \page pgf Processing data
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 Your node should now be receiving data from your own radar(s), and
 exchanging data safely and smoothly with other nodes. This is where you can
index 0722d9e..b48fcc8 100644 (file)
@@ -1,6 +1,6 @@
 /** \page req Requirements
-\date December 2015
-\version 2.1
+\date May 2019
+\version 3.0
 
 \li \ref req_hw
 \li \ref req_nw
@@ -134,6 +134,10 @@ process data off line.
 Other required software can be managed with your distro's preferred package
 manager, e.g. RPM, yum, apt-get, etc.
 
+If you are using the baltrad yum repository, the dependencies will be defined
+in the rpms so there will be indiciations on which dependencies are missing. 
+Otherwise, if using the node installer, the following requirements are a minimum.
+
 \li An installed Java SDK, currently OpenJDK or SUN JDK (> 1.6)
 \li gcc/g++/gcc-c++ (version 4.1 or higher)
 \li Gnu make (version 3.8 or higher)
index 722e236..bf8058e 100644 (file)
@@ -1,6 +1,6 @@
 /** \page secure Security in BALTRAD
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 The BALTRAD system communicates with other nodes securely, and the
 web-based user interface is also secure - sensitive data is encrypted before
index b3fdd4f..1f37fbb 100644 (file)
@@ -1,6 +1,6 @@
 /** \page subscribe Exchanging data
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 In BALTRAD, you control \b who is allowed access to \b what. We recognize
 that we live in an international world where we benefit from exchanging
index 033ee38..7e50384 100644 (file)
@@ -1,6 +1,6 @@
 /** \page supervisor Supervisor
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 \page supervisor Supervisor
 
index b6dc181..1eb11d7 100644 (file)
@@ -1,6 +1,6 @@
 /** \page toolbox How to get your tools into the BALTRAD toolbox
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 This page contains a step-by-step tutorial on how to get your tools into
 the BALTRAD toolbox. It will focus on the Python Product Generation
index b429262..2fee907 100644 (file)
@@ -1,6 +1,6 @@
 /** \page ug User Guide
-\date December 2015
-\version 2.2
+\date May 2019
+\version 3.0
 
 Welcome to the BALTRAD User Guide. This documentation is designed
 to assist you with the most common tasks you undertake with BALTRAD