Tigase Development Guide

Table of Contents

Basic Information
Tigase Architecture
Tigase Server Elements
Connector
Tigase Code Style
Introduction
Source file basics
Source file structure
Formatting
Naming
Programming Practices
Javadoc
Hack Tigase XMPP Server in Eclipse
Requirements
Installation
Setup
Server Compilation
Distribution Packages
Building Server and Generating Packages
Shortcut for building
Documentation
Running Server
Tigase Kernel
Basics
Lifecycle of a bean
Registration of a bean
Defining dependencies
Nested kernels and exported beans
Configuration
Data Source and Repositories
Data sources
User and authentication repositories
Other repositories
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
Component Implementation - Lesson 8 - Lifecycle of a component
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
Plugin Development
Writing Plugin Code
Plugin Configuration
How Packets are Processed by the SM and Plugins
SASL Custom Mechanisms and Configuration
Using Maven
Setting up Maven in Windows
A Very Short Maven Guide
Tests
Tests
Tigase Test Suite
Test Suite Scripting Language
Writing Tests for Plugins
Test Case Parameters Description
Experimental
Dynamic Rosters
Mobile Optimizations
Bosh Session Cache
Old Stuff
Tigase DB Schema Explained
Why the most recent JDK?
API Description for Virtual Domains Management in the Tigase Server
Stanza Limitations
API changes in the Tigase Server 5.x

Tigase Team <team@tigase.com> :toc: :numbered: :website: http://tigase.net