Lire Developer's Manual

Joost van Baal

Egon L. Willighagen

Francis J. Lacoste

This manual is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this manual (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html or write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.

Revision History
Revision 1.1 $Date: 2002/08/18 23:37:45 $
$Id: dev-manual.dbx,v 1.55 2002/08/18 23:37:45 flacoste Exp $

Table of Contents

Preface
What This Book Contains
How Is This Book Organized?
Conventions Used
If You Don't Find Something In This Manual
I. Lire Architecture
1. Architecture Overview
Lire's Design Patterns
Log File Normalisation
Log Analysis
Report Generation
Report Formatting and Other Post-Processing
Going Further
II. Using the Lire Framework
2. Writing a New Superservice
DLF Design
The DLF Schema
3. Writing New Service
Writing a Log File to DLF Converter
API for 2DLF Scripts
4. Writing a New Report
Report Information
Report's Display Specification
Filter Specification
Calculation Specification
5. Writing Advanced Reports
Using a Derived Schema
Writing Extension Reports
III. Developer's Reference
6. Schemas Reference
Schemas for the database Superservice
DLF Schema for Database service
Extended Schemas for the database Superservice
Schemas for the dialup Superservice
DLF Schema for Dialup service
Schemas for the dns Superservice
DLF Schema for DNS service
Schemas for the dnszone Superservice
DLF Schema for DNS Zone service
Schemas for the email Superservice
DLF Schema for Email service
Extended Schemas for the email Superservice
Schemas for the firewall Superservice
DLF Schema for Firewall service
Schemas for the ftp Superservice
DLF Schema for FTP service
Schemas for the msgstore Superservice
DLF Schema for Message Store service
Schemas for the print Superservice
DLF Schema for Print service
Extended Schemas for the print Superservice
Schemas for the proxy Superservice
DLF Schema for Proxy superservice
Schemas for the syslog Superservice
DLF Schema for Syslog superservice
Schemas for the www Superservice
DLF Schema for WWW service
Extended Schemas for the www Superservice
Derived Schemas for the www Superservice
IV. Lire Developers' Conventions
7. Contributing Code to Lire
8. Developers' Toolbox
Required Tools To Build From CVS
Accessing Lire's CVS
CVS primer
SourceForge
Mailing Lists
9. Coding Standards
Shell Coding Standards
Perl Coding Standards
10. Commit Policy
CVS Branches
Hands-on example
Naming, what it looks like
Creating a Branch
Accessing a Branch
Merging Branches on the Trunk
11. Testing
12. Making a Release
Setting version in NEWS file
Tagging the CVS
Building The "Standard" Tarball
Building The "Full" Tarball
Building The Debian Package
Building The RPM Package
Uploading The Release
The LogReport Webserver
Advertising The Release
SourceForge
Freshmeat.net
13. Website Maintenance
Documentation on the LogReport Website
Publishing the DTD's
14. Writing Documentation
Plain Text
Perl's Plain Old Documentation: maintaining manpages
Docbook XML: Reference Books and Extensive User Manuals
UML Diagrams
UML Editing
Diagram Types
V. Implementation Details
15. Issues with Report Merging
16. Overview of Lire scripts
17. Source Tree Layout
Glossary

List of Figures

1.1. Log Processing in the Lire's Framework
1.2. The Log Normalisation Process
1.3. The Log Analysis Process
1.4. Report Generation Process
1.5. XSLT Processing of the XML Report
1.6. Processing of the XML Report Using The APIs

List of Examples

1. DNS DLF Excerpts