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.
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.
The server will need to have the following software installed:
Connection software to the Database.
For Oracle systems, (Net 8 or equivalent). Additionally, recommended is
a Query tool like TOAD or QTADO.
For Access, there is no specific software (other than what comes with windows)
that needs to be installed.
Windows Variants (2000, XP or 2003 Server) operating system or Linux operating System. (We support Red Hat and Fedora currently. Please check to make sure you have a compatible distribution.)
St James Software jLogBook Version 4 or Version 5(web version).
St James Software jLogBook floating licenses for the number of expected sessions wanting to connect to the application.
Client machines will be required to have the following software loaded:
Any standard web browser (Microsoft Internet Explorer version 6 or higher, Firefox or equivalent). The system has been extensively tested with Internet Explorer version 6 and Firefox.
Adobe Acrobat version 6 or higher. (If you have specified that you want the reports printed in pdf format).
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. )
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)
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:
To avoid configuration errors, we recommend that you keep a copy of the Last Good Configuration so that configuration changes may be rolled back in case of a problem with a new version. You can create this backup either using the standard database tools or using the archive facility described below.
These procedures should be carried out in the event of a catastrophic failure of the computer running the jLogBook web server.
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.
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.)
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.
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.)
Check out the system by setting the URL to the jLogBook server.
Like any mission critical application in a process environment, the maintenance of the system requires the following tasks to be performed regularly:
Monitoring the configuration tables. (Using the database standard tools)
Monitoring of the response time of the application. (Using the Windows Performance meter)
Monitoring of the size of the tables. (For Oracle, also the status of the rollback segments.) You can do this with the database standard tools. (For Oracle, Use DBA Studio)
Monitoring of the loading of the CPU and the disk usage. (Using the Windows Performance meter)
Monitoring of third party applications using the jLogBook tables. (Again using the Windows Performance meter)
In order to carry out these functions, there must be sufficiently skilled and trained staff to these kinds of checks.
The following strategy should be included in your normal backup procedure:
Please note that the backing up of the database tables should be included in the normal database backup procedure. I.e. The schema associated with the jLogBook should be included in the scheduled backup procedures. In the event of a failure, the database system should be restored to the condition immediately before the crash.
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.)
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:
The administrator can archive information into a safe place so as to reduce the size of the tables.
The administrator can restore the archived information into the database.
This feature can also be usable as a backup and restore facility or as a means of transporting information for diagnosis purposes.
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.
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.
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)
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,
Upgrades that require changes in the configuration structure.
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:
Backing up the existing executables,
Installing the new executables,
Informing the on-line users that they should log off as an upgrade will be taking place shortly,
Restarting the Apache server. (This will be different depending on how the Apache is installed. I.e. it could be a "net restart" command or it could be a restart from the tray icon.
Test the new functionality by adding a few test records probably as different users.
Informing the end users that they may now log back in as the system work is now complete.
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:
Backing up the configuration files,
Adding new items to the configuration etc.
There are various resources that make up the documentation portfolio for the jLogBook application as follows:
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.
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.
The jLogBook User Manual. This is a Word document and it addresses the requirements of the end users of the application.