Tigase Development Guide

Tigase Team


Table of Contents

1. Basic Information
Tigase Server Elements
Components
Plug-ins
Connector
Data, Stanzas, Packets - Data Flow and Processing
2. Hack Tigase XMPP Server in Eclipse
Requirements
Installation
Linux
Windows
Setup
API changes in the Tigase Server 5.x
3. Server Compilation
Tigase XMPP Server 5.2.0 and later - Compilation and Generating Distribution Packages
Distribution Packages
Building Server and Generating Packages
Running Server
Tigase Packages Dependency Change - Server Compilation Version 4.x or Later
4. Component Development
Component Implementation - Lesson 1 - Basics
Component Implementation - Lesson 2 - Configuration
Component Implementation - Lesson 3 - Multi-Threading
Component Implementation - Lesson 4 - Service Discovery
Component Implementation - Lesson 5 - Statistics
Component Implementation - Lesson 6 - Scripting Support
Component Implementation - Lesson 7 - Data Repository
ConfigRepository
RepositoryFactory
Component Implementation - Lesson 8 - Startup Time
Configuration API
Introduction
Component Startup Sequence
Configuration API
getDefaults()
setProperties()
Useful Presets
Global Configuration Settings
Packet Filtering in Components
The Packet Filter API
Configuration
EventBus API in Tigase
EventBus API
Distributed EventBus
Local EventBus
Cluster Map Interface
Requirements
Map creation
Map Changes
Map Destruction
5. Plugin Development
Writing Plugin Code
Using annotation support
Using older non-annotation based implementation
Implementation of processing method
Plugin Configuration
How Packets are Processed by the SM and Plugins
Introduction
SASL Custom Mechanisms and Configuration
Basic SASL Configuration
Logging/Authentication
Built-in Mechanisms
Custom Mechanisms Development
6. Using Maven
Setting up Maven in Windows
Requirements
Setting up Environment Variables
Testing Maven
A Very Short Maven Guide
Snapshot Compilation and Snapshot Package Generation
Release Compilation, Generation
Generating tar.gz, tar.bz2 File With Sources Only
Maven 2.x Support
7. Tests
Tests
Functional Tests
Performance Tests
Stability Tests
Tigase Test Suite
Running Tigase Test Suite (TTS)
Test Suite Scripting Language
Writing Tests for Plugins
Test Case Parameters Description
Test Report Configuration
Basic Test Parameters
Test Case Parameters
8. Experimental
Dynamic Rosters
Problem Description
Syntax and Semantics
Retrieving Contact Data
Updating/Saving Extra Information About the Contact
Configuration
Mobile Optimizations
Problem Description
Solution
Queuing Algorithms
Configuration
Bosh Session Cache
Problem Description
Bosh Session Cache Description
Cache Protocol
9. Old Stuff
10. Tigase DB Schema Explained
11. Why the most recent JDK?
12. Generating Tigase Installer
13. API Description for Virtual Domains Management in the Tigase Server
14. Stanza Limitations
Escape Characters