-
Installation
- Requirements
- Directory Structure
- Core Directories
- Addon Directories
- Application Directories
- Installing With Composer
- Installing Manually
- Starting A New Project
- Using The Agile Toolkit Installer
- Setting Up The Admin UI
- Integrating With Existing Projects
- Overview
- Integrating With CodeIgniter
- Integrating With Yii
- Integrating With Symfony
- Integrating With Joomla
- Integrating With Wordpress
- Securing Your Installation
- Upgrading Your Installation
- Advanced Configuration
- Troubleshooting
-
Overview
- Why Use Agile Toolkit?
- What Are The Key Design Principles?
- A Fresh Approach To MVC
- Anatomy Of An Application
- How To Learn Agile Toolkit
-
Tutorials
- Hello World ->>
- DVD Rental (Beginner) ->>
- School Enrollment (Intermediate) ->>
- See More Tutorials ->>
- How to Contribute Tutorials
-
Reference
- Request Flow Chart
- Agile Toolkit Cheat Sheet
- Coding Standards
-
Working With The Core
-
Working With Application APIs
- API Overview
- What Is An Agile Toolkit API?
- Selecting The Right API
- Security Considerations
- ApiCLI
- Features
- Command-Line Applications
- Cron Job Applications
- Queuing Applications
- ApiWeb
- Features
- Integrating With 3rd Party Frameworks
- ApiFrontend
- Features
- Using With Web Applications
- ApiInstaller
- The Agile Toolkit Installer
- ApiJSON
- REST APIs
- Other APIs
- Running Multiple APIs
- Overview
- Use Cases
- Extending API Classes
- Overview
- Use Cases
- API Overview
-
Working With Framework Objects
- The Class Hierarchy
- Application Structure
*APIs
- The Runtime Object Tree
- Adding Objects
- Object Naming
- Initializing Objects
- Cloning Objects
- Addons & Namespaces
-
Configuration
- Working With Config Files
- Default Settings
- Adding Your Own Settings
- Locale Settings
- Addon Settings
-
Class Loading
- The PathFinder Class
- Loading Addons
- Using Namspaces
- Using 3rd Party PHP Libraries
- Manual Integration
- Integration Using Composer
- Advanced Loading
-
Request Routing
- Overview
- Static pages
- Dynamic pages
- URL Generation
- Advanced Routing
-
Asset Management
- CSS
- JavaScript
- Images & Media
- Advanced Asset Management
- Uploaded files ((Link to filestore docs)
- Loading Assets From Other Domains
-
Event Hooks
- Overview
- Adding Hooks
- Passing Arguments
- Setting Priorities
- Breaking Hook Chains
- Best Practices
- Benefits And Risks
- Use Cases
- Testability
- Reusability
- List Of System Hooks
-
Authentication & Authorization
- Terminology
- The BasicAuth Class
- OAuth Open Authentication
- Login Forms
- Permissions
-
Error Handling
- Error Handling Overview
- Framework Errors
- Application Errors
- 404 Handling
- Best Practices
-
Testing
- Unit Testing
- Built-in Unit Testing
- Using 3rd Party Tools
- Functional Testing
- Selenium
- Behat
- Unit Testing
-
-
Working With Models
- DSQL Query Builder
- Overview
- Basic Usage
- Defining Queries
- Running Queries
- Advanced Usage
- Extending Queries
- Relational Models
- Overview
- Design Goals
- Comparison With Other ORMs
- Features
- Performance
- Concepts
- Data-set
- Loaded Record
- Field Meta-information
- Validation
- Caching
- Hooks
- Actions
- Binding Models To Views
- Actual Fields
- Aliases
- Defining Models
- Fields
- Expressions
- Relations
- Joins
- Using DSQL
- Data Filtering
- Basic Use
- Use with Expressions
- Use with Subselects
- Use with other Models
- Order
- Limit
- Data Summarizing
- Count and Sum
- Grouping
- Options
- Using Models
- Loading and Saving
- Iterating Result Sets
- Traversing Result Sets
- Examples
- Timestamps
- Cached Fields
- Flexible Data Components
- Extending Models
- Overriding Models
- Best Practices
- Defining Model Methods
- Extending Models With Controllers
- Overriding Default Methods
- Behaviour Hooks
- Loading & Saving
- Query Building
- Validation
- Extensions
- Database Builder - Create Schema From Model
- Model Builder - Created Models From Schema
- Database Migration
- Keeping The DB In Sync With The Models
- Visual Migration Tools
- Using With SQLite
- Overview
- NoSQL Models
- Overview
- Goals
- Features
- When Not To Use
- Defining ((What do you have in mind here??))
- Array Controller
- Session Controller
- JSON API & CURL
- Memcache Controller
- MongoDB Controller
- Redis Controller
- Creating A New NoSQL Controller
- Using A NoSQL Controller As A Cache
- Using A Single Cache
- Using Multiple Caches
- Database-independent Result Set Traversal
- Overview
- DSQL Query Builder
-
Working With Views
- Pages
- Overview
- Goals
- Features
- Best Practice
- Design Workflow
- Reusable Sub-pages
- Custom Page Patterns ((What goes here??))
- Overview
- Templates
- Overview
- Goals
- Features
- Creating Templates
- Using Templates
- Overview
- The CSS Framework
- Overview
- Goals
- Features
- Customizing The Default Skin
- Creating New View Templates
- Overview
- Views
- Overview
- Goals
- Features
- Initializing Views
- Binding Data
- Updating Views
- Developing New Views
- Overview
- Forms
- Overview
- Goals
- Features
- Creating Forms
- Handling Submissions
- Validating Inputs
- Displaying Error Messages
- Overview
- Pages
-
Working With jQuery
- The JavaScript API
- Overview of JavaScript and AJAX
- Goals
- Features
- Using The Bundled Widgets
- Overview
- List
- Grid
- CRUD
- etc...
- Creating Your Own Widgets
- Using 3rd Party JQuery Plugins
- Overview of JavaScript and AJAX
- Working With JavaScript Events
- Overview
- Goals
- Features
- Binding JavaScript Chains
- Enclosing Chains
- Using Multiple Chains
- Calling Your Own JavaScript
- Customizing Selectors And Triggers
- Overview
- The JavaScript API
-
Working With Addons
((RM: add-ons would be separate, but we need add-on development guide)) ((GC: Why woudn't we document the official addons here? What alternative are you suggesting?))
- Filestore
- Google Maps
- Localization
- Etc...
- How To Access Community Addons
- How To Create Your Own Addons
-
Developing With Agile Toolkit
- Structural Choices
- Agile Development
- Best Practices
- Security
- Performance & Scaling
- Concepts & Strategy
- Performance In Agile Development
- Profiling & Benchmarking
- Automated Speed tests
- Output caching
- Input caching
- Clustering
- Cloud Services
- Amazon AWS ((Others??))
- Deployment
-
Cookbook
- A useful example of a Cookbook entry ->>
- Another useful cookbook entry ->>
- A final useful cookbook entry -->>
- See more Cookbook Recipes ->>
- How to Contribute Recipes