Naruto Developer Guide

Thomas Davis

09/08/2008


Table of Contents

1. Introduction
1. Purpose
2. Scope
3. Revision History
2. Project Overview
1. What is Naruto?
2. Where is it?
3. License
4. Bugs, features requests and support?
3. Installation
1. System Requirements
2. Single Machine and Client Installation
3. Web Service Installation
4. Core Architecture
1. Objectives
2. Transaction Flow
Local Transactions
Remote Transactions
3. Design Details
5. Authentication
1. Security
2. NarutoCredentials
Step 1: Enter Credentials
Step 2: Start Transport
Step 3: End Transport
Final Step: Validate User
6. Naruto Rest Protocol
1. Protocol Basics
Requests
Responses
Exception Responses
2. Methods
3. XML Elements
Ack
Attributes
Decimal
Exception
Forum
Forums
Id
Nak
Topic
Topics
User
7. Development
1. Checking out the Source
2. Coding Conventions
8. Writing Documentation
1. phpDocumentor
Writing PHP Docs
Installation
Building the Documentation
2. DocBook v5.0
Building the Documentation
3. UML Diagrams
9. Testing
1. The PHPUnit Test Tool
Installing PHPUnit
2. Running Tests
All Automated Tests
A Single Test Suite
All Automated Tests
REST On-Network Tests
A. Single Sign-On in PhpBB3
1. Overview
2. Configuring Cookies in PhpBB3
3. Who's logged into PhpBB3?
4. Getting PhpBB3 to return user after login
5. Algorithm for managing a remote session
Example Remote Session Class
Example Local Session Class
B. Resources
Bibliography

List of Figures

3.1. Rest Deployment
4.1. Local Transaction Flow Use Case
4.2. Remote Transaction Flow Use Case
4.3. Core API
5.1. NarutoCredentials State Machine

List of Tables

1.1. Revision History
6.1. Rest Method Quick List