System Support Functions and Infrastructure

Overview of Support Functions and Infrastructure

This section covers the various Support functions and infrastructure that are recommended to keep the system functioning correctly. These procedures include the day to day functions for preventative maintenance and also functions that relate to corrective measures in the case of malfunctions or catastrophic events.

Hardware requirements


A typical set of hardware requirements for jLogBook is described below as an example for a large system. (More than 20 users) The actual set of requirements will depend on the number of users expected to be logged in at any one time.

Since the software is required to simultaneously connect to a large number of users simultaneously, it must be sufficiently fast to carry out the functions discussed in this document. Additional loading of the machine by other programs running in the same machine should also be taken into account to ensure the overall performance of the system is satisfactory. Typically, the database will reside in a different machine that has been tuned to give optimum performance for the database. Typical specifications of the server include:

CPU: Intel 1.6Ghz Core duo processor.

Memory: 2 GB Ram or higher.

Hard Drive: 100GB

LAN: 100 MHz

For the printing of configuration information etc. a network printer should also be made available.

System Software requirements

Server Software Requirements


The server will need to have the following software installed:

Client Requirements

Client machines will be required to have the following software loaded:

Security definition

The security of the application is handled by the application itself. Users of the application are defined and are given a variety of authorizations such as Add Ability, Modify Ability, View Scope etc. These authorizations are set by the System Administrator and are maintained in the userconf table in the database. Generally, only one user (the Admin User) will have access to this table. For more information on the security of the system, please see the section User Configuration. )

Error Handling

If an error occurs in the system, an appropriate error message will be sent to the console of the machine that would have been affected by the error. The error will consist of a stack trace defining exactly where in the code the problem has occurred. The users will be advised to send this information through to the system administrator who may contact St James Software according to the license and maintenance support agreement.

Additionally, the same message will be stored in the Apache Log file. (e.g. c:\temp\error.log)

Failure recovery

The system is a stateless system so recovery is by definition automatic for the normal operation of the system. For the system management, we propose:

Disaster Recovery Procedures

These procedures should be carried out in the event of a catastrophic failure of the computer running the jLogBook web server.

  1. If the database has gone down, restore the database associated with the jLogBook to the condition before the failure. This should be done using the standard site procedures and the normal system support staff. Please see the section below Backup Procedure ) for details on regular backups that should have been made.

  2. Restore the backed up files from your backup system. I.e.
    The c:\python22\Lib\site-packages\jLogbook directory. (This is the version 4 system.)
    The c:\program files\Apache Group\Apache2\httpd.conf file. (This is your Apache server configuration.)

  3. From the jLogBook 4 CD or from the St James Software Download Site, unzip the install files into the c:\install directory. Install Apache, Python, the Windows modules for Python and Mod Python as described in the installation section.

  4. If you have had to go to a new machine, you will need a new license. You can get this from St James Software or you can get an emergency Version 4 license off the web at www.sjsoft.com\try\index.htm. You will need to copy the license to the directory pointed at in the config.py configuration file by the licensefile variable. (I.e. go into the config.py program and get the licensefile variable to see where you have previously stored the license file.)

  5. Check out the system by setting the URL to the jLogBook server.

Application Maintenance

Like any mission critical application in a process environment, the maintenance of the system requires the following tasks to be performed regularly:

In order to carry out these functions, there must be sufficiently skilled and trained staff to these kinds of checks.

Backing Up the System:

The following strategy should be included in your normal backup procedure:

Ensure that the following files are backed up regularly: (They include licenses and configuration files that you may have edited.)
The c:\python23\Lib\site-packages\jLogbook directory. (This is the version 4 system.)
The c:\program files\Apache Group\Apache2\httpd.conf file. (This is your Apache server configuration file.)

Data Archiving

Need:

As the size of the log information database increases in size, there is a danger that there will be a degradation in performance. It may then be necessary to archive older records into an archival system.


Functionality:


Description:

This functionality is provided to the administrator via two simple command line functions. (One for archiving and one for restoring the information.) The arguments for the functions are entered via an interactive process giving the format as an example.


Using the archive and restore functions

These functions are started off from the jLogbook\python directory. (Usually the c:\python23\lib\site-packages\jLogbook\python directory)

Backing up:

format: archive.pyc instance filename [ todate deleteafter backupconfig customwhereclause ]

where:

instance: The application or instance name (e.g.logs, orders, shiftrep etc.) If you get it wrong, the application will list the available instances.

filename: Name of the file you wish to store the data into. (Usually a txt file)

todate: All records prior to this date are archived

Optional. Format - yyyymmddhhmmss

deleteafter: Delete records after archiving them

Default: False

backupconfig: Add config tables to archive as well

Default: True

customwhereclause: Allows a custom filter if required. Optional.


Example 1:

archive.pyc logs logs.txt

Will archive everything into the logs.txt file.

 

Example 2:

archive.pyc logs arc20030101.txt 20030101000000 true true "username='ptech'"

Makes an archive of all records prior to 1st Jan, 2003 with config data.

Only records where the username was ptech. Deletes records after archive.


Restoring:

format: restore.pyc instance filename [ overwritelogtable restoreconfig ]

where:

instance: The application or instance name (e.g.logs, orders, shiftrep etc.)

filename: Name of the file you wish to restore the data from

overwritelogtable: Overwrite existing logtable (remove all existing data)

Default: False

restoreconfig: Restore config tables (removes all current config data)

Default: False


Example:

restore.pyc logs arc20030101.txt

Restores logtable data from file arc20030101.txt

Does not overwrite existing logtable or config data.

Using jLogbookserver to archive and restore

You can also use the arguments in the jLogbook server to archive and restore data. Here is an example of an archive command:

jLogbookserver --instance=Demo --exportdata c:\temp\demo.txt

This will archive the Demo instance to c:\temp.txt

Likewise, the command:

jLogbookserver --instance=Demo --importdata --restoreconfig c:\temp\demo.txt

will import the data (including the configuration data)


Upgrades and Enhancements

Like any evolving product, upgrades to the product become available from the manufacturer during the course of the product life. The upgrades address bug fixes and enhancements to the product. Upgrades may be divided into:

Upgrades that involve changes in the executables

Here, changes are made to the underlying code to provide new functionality or to correct a bug. The procedure to install the new upgrade will be defined in the readme file that will be issued with the upgrade code. (Generally a download from the web site.) You should follow the instructions in the readme file to install the new upgrade. Typically, this procedure will involve:

Upgrades that involve changes to the configuration

Upgrades requiring changes in the configuration will also often require executable changes as well. As for the executable changes, the instructions for the upgrade will be provided in the readme file. With the changes in the configuration, additional procedures may be required such as:

Documentation

There are various resources that make up the documentation portfolio for the jLogBook application as follows:

  1. Documentation that exists on-line at the St James Software web site at http://www.sjsoft.com. To get to the documentation, go to the rectangle devoted to jLogBook and click on the "Complete Documentation" link. You may also get background information by clicking on the Application Notes" link.

  2. On-line documentation from the jLogBook application. Once you have started jLogBook and logged on, just click on the Help link in the toolbar. This will take you to the on-line help information.

  3. The jLogBook User Manual. This is a Word document and it addresses the requirements of the end users of the application.

  4. The jLogBook System Administrator Manual. (This document). This is an html document that addresses the various issues needed by a System Administrator to manage the jLogBook application. It covers the Configuration, Installation, and Maintenance of the application.