NAME
OpenInteract2::Manual - User Guide and Reference Manual for OpenInteract
DESCRIPTION
This is the manual for OpenInteract2. It includes information about how to setup OpenInteract2 (including databases, web servers, etc.), how to develop modules in OpenInteract and how to extend it for your own purposes. It is also a reference for the features OpenInteract2 has with pointers to the relevant module documentation for details.
This manual provides an overview of the framework along with examples, directions, etc. If you need implementation-specific information, please see the documentation for the appropriate module. (All modules are listed below.)
The manual is broken down into:
-
An introduction to the capabilities and architecture of OpenInteract2 -- a good starting point.
-
OpenInteract2::Manual::QuickStart
A quick start guide for setting up a website.
-
OpenInteract2::Manual::Tutorial
Create a new package and modify an existing one. Developers should read this first.
-
OpenInteract2::Manual::TutorialAdvanced
Add advanced features to an application.
-
OpenInteract2::Manual::Architecture
More in-depth discussion of the major areas of OpenInteract and a walk-through for a request.
-
OpenInteract2::Manual::Conversion
Read this if you're upgrading an existing OpenInteract 1.x site to OpenInteract 2, particularly if you're going to be migrating custom packages you've developed.
-
OpenInteract2::Manual::Changes
Listing of the changes between OI versions. The major architectural changes between 1.x and 2.x are also listed here.
-
OpenInteract2::Manual::Templates
Using templates, focusing on the Template Toolkit.
-
OpenInteract2::Manual::Widgets
Using template widgets in the Template Toolkit.
-
OpenInteract2::Manual::Packages
Learn about a package: how we create distributable OpenInteract2 applications.
-
Internationalization and localization issues in OpenInteract2.
-
OpenInteract2::Manual::Caching
How to setup and use content caching.
-
OpenInteract2::Manual::Logging
How to use and configure logging.
-
OpenInteract2::Manual::Authentication
How to setup authentication and related actions.
-
OpenInteract2::Manual::Security
How task and object security works and how you can change it.
-
OpenInteract2::Manual::Management
Managing OpenInteract2 using
oi2_manageand the OpenInteract2::Manage framework. -
OpenInteract2::Manual::AdminDatabase
Setup databases.
-
OpenInteract2::Manual::AdminApache
Setup Apache/mod_perl.
-
OpenInteract2::Manual::Datasource
How to setup and use datasources.
-
OpenInteract2::Manual::DataImport
Importing data into OpenInteract datasources.
-
How OpenInteract2 enhances SPOPS objects and makes them easier for you to configure.
-
OpenInteract2::Manual::SearchResults
Serializing and retrieving search results.
-
How to setup and use LDAP support.
MODULES
-
Apache::OpenInteract2: OpenInteract2 Content handler for Apache 1.x
-
Apache::OpenInteract2::HttpAuth: Use HTTP authentication to check logins against OpenInteract2 users
-
Apache2::OpenInteract2: OpenInteract2 Content handler for Apache 2.x
-
HTTP::Daemon::OpenInteract2: Standalone HTTP daemon for OpenInteract 2
-
OpenInteract2::Action: Represent and dispatch actions
-
OpenInteract2::Action::Common: Base class for common functionality
-
OpenInteract2::Action::CommonAdd: Tasks to display empty form and create an object
-
OpenInteract2::Action::CommonDisplay: Task to display an object
-
OpenInteract2::Action::CommonRemove: Task to remove an object
-
OpenInteract2::Action::CommonSearch: Implement searching functionality for SPOPS::DBI-based objects
-
OpenInteract2::Action::CommonUpdate: Task to update an object
-
OpenInteract2::Action::TemplateOnly: Base class for template-only actions
-
OpenInteract2::ActionResolver: Small classes and chain of responsibility to resolve URLs to action objects
-
OpenInteract2::ActionResolver::NameAndTask: Create an action from the URL's initial path and optional task
-
OpenInteract2::ActionResolver::NotFoundOrEmpty: Use the 'not_found' or 'empty' actions
-
OpenInteract2::ActionResolver::UserDir: Be able to create action from user directory request
-
OpenInteract2::App: Base class for CPAN-distributable OpenInteract application bundles
-
OpenInteract2::Auth: Base class for logging in OpenInteract users
-
OpenInteract2::Auth::AdminCheck: See whether user is admin
-
OpenInteract2::Auth::Group: Retreive groups into OpenInteract
-
OpenInteract2::Auth::User: Base class for creating OpenInteract users
-
OpenInteract2::Brick: [% brick_summary %]
-
OpenInteract2::Brick::Apache: All resources used for creating Apache 1.x configurations in a new website
-
OpenInteract2::Brick::Apache2: All resources used for creating Apache 2.x configurations in a new website
-
OpenInteract2::Brick::Base: Base-64 encoded OI2 package 'base-2.15.zip' shipped with distribution
-
OpenInteract2::Brick::BaseBox: Base-64 encoded OI2 package 'base_box-2.21.zip' shipped with distribution
-
OpenInteract2::Brick::BaseError: Base-64 encoded OI2 package 'base_error-3.02.zip' shipped with distribution
-
OpenInteract2::Brick::BaseGroup: Base-64 encoded OI2 package 'base_group-2.20.zip' shipped with distribution
-
OpenInteract2::Brick::BasePage: Base-64 encoded OI2 package 'base_page-2.32.zip' shipped with distribution
-
OpenInteract2::Brick::BaseSecurity: Base-64 encoded OI2 package 'base_security-2.22.zip' shipped with distribution
-
OpenInteract2::Brick::BaseTemplate: Base-64 encoded OI2 package 'base_template-3.17.zip' shipped with distribution
-
OpenInteract2::Brick::BaseTheme: Base-64 encoded OI2 package 'base_theme-2.13.zip' shipped with distribution
-
OpenInteract2::Brick::BaseUser: Base-64 encoded OI2 package 'base_user-2.41.zip' shipped with distribution
-
OpenInteract2::Brick::CGI: Script for running OI2 as a CGI
-
OpenInteract2::Brick::Comments: Base-64 encoded OI2 package 'comments-1.23.zip' shipped with distribution
-
OpenInteract2::Brick::Daemon: Configuration used for creating the standalone webserver
-
OpenInteract2::Brick::FullText: Base-64 encoded OI2 package 'full_text-2.61.zip' shipped with distribution
-
OpenInteract2::Brick::Lookup: Base-64 encoded OI2 package 'lookup-2.09.zip' shipped with distribution
-
OpenInteract2::Brick::Messages: All global localization messages
-
OpenInteract2::Brick::News: Base-64 encoded OI2 package 'news-2.25.zip' shipped with distribution
-
OpenInteract2::Brick::ObjectActivity: Base-64 encoded OI2 package 'object_activity-2.13.zip' shipped with distribution
-
OpenInteract2::Brick::Package: All resources used for creating a package
-
OpenInteract2::Brick::PackageCPAN: All resources used for creating a CPAN distribution from a package
-
OpenInteract2::Brick::PackageFromTable: All resources used for creating a package based on a table
-
OpenInteract2::Brick::SystemDoc: Base-64 encoded OI2 package 'system_doc-2.10.zip' shipped with distribution
-
OpenInteract2::Brick::WebsiteConfig: Various non-server-specific configuration files for OI2 website
-
OpenInteract2::Brick::WhatsNew: Base-64 encoded OI2 package 'whats_new-2.12.zip' shipped with distribution
-
OpenInteract2::Brick::Widgets: All global TT2 template files
-
OpenInteract2::Cache: - Caches objects to avoid database hits and content to avoid template processing
-
OpenInteract2::Cache::File: - Implement caching in the filesystem
-
OpenInteract2::Config: - Centralized configuration information
-
OpenInteract2::Config::Bootstrap: Represents a server bootstrap configuration
-
OpenInteract2::Config::GlobalOverride: - Process global override settings for a set of configuration directives
-
OpenInteract2::Config::Ini: Read/write INI-style (++) configuration files
-
OpenInteract2::Config::IniFile: OI configuration using INI files
-
OpenInteract2::Config::Initializer: Observable configuration initialization events
-
OpenInteract2::Config::Package: Read, write and check package config files
-
OpenInteract2::Config::PackageChanges: Represent entries from a package Changes file
-
OpenInteract2::Config::PerlFile: Subclass OpenInteract2::Config to read/write information from/to a perl file
-
OpenInteract2::Config::Readonly: Simple read/write for readonly files
-
OpenInteract2::Constants: Define codes used throughout OpenInteract
-
OpenInteract2::ContentGenerator: Coordinator for classes generating content
-
OpenInteract2::ContentGenerator::HtmlTemplate: Content generator using HTML::Template
-
OpenInteract2::ContentGenerator::TT2Process: Process Template Toolkit templates in OpenInteract
-
OpenInteract2::ContentGenerator::TemplateSource: Common routines for loading content from OI2 templates
-
OpenInteract2::ContentGenerator::TextTemplate: Content generator using Text::Template
-
OpenInteract2::Context: Provides the environment for a server
-
OpenInteract2::Controller: Top-level controller to generate and place content
-
OpenInteract2::Controller::MainTemplate: Controller for content to be placed in a main template
-
OpenInteract2::Controller::ManageBoxes: Mixin methods for managing boxes
-
OpenInteract2::Controller::ManageTemplates: Mixin methods for managing templates
-
OpenInteract2::Controller::Raw: Basic controller just outputting action content
-
OpenInteract2::Conversion::ActionConfig: Convert old action.perl files into INI configurations
-
OpenInteract2::Conversion::IniConfig: Parent class for converting perl configurations to INI format
-
OpenInteract2::Conversion::SPOPSConfig: Convert old spops.perl files into INI configurations
-
OpenInteract2::Cookie: Generic cookie methods
-
OpenInteract2::CreateSecurity: Batch create security for one or more objects or classes
-
OpenInteract2::Datasource::DBI: Create DBI database handles
-
OpenInteract2::Datasource::LDAP: Centralized connection location to LDAP directories
-
OpenInteract2::DatasourceManager: Base class for datasource connection managers
-
OpenInteract2::Error: Simple property object that knows how to un/serialize from/to a file
-
OpenInteract2::ErrorStorage: Serialize serious errors to the filesystem
-
OpenInteract2::Exception: Base class for exceptions in OpenInteract
-
OpenInteract2::Exception::Parameter: Parameter exceptions
-
OpenInteract2::Exception::Security: Security exceptions
-
OpenInteract2::File: Safe filesystem operations for OpenInteract
-
OpenInteract2::Filter::AllCaps: Sample filter to translate content into all caps.
-
OpenInteract2::FullTextIndexer: Base class for OI2 indexers
-
OpenInteract2::FullTextIterator: Iterator to scroll through search results
-
OpenInteract2::FullTextRules: Rules for automatically indexing SPOPS objects
-
OpenInteract2::I18N: Base class for localized messages
-
OpenInteract2::I18N::Initializer: Read in localization messages and generate maketext classes
-
OpenInteract2::Log: Initialization for log4p logger
-
OpenInteract2::Log::OIAppender: Appender to put error message in OI error log
-
OpenInteract2::Manage: Provide common functions and factory for management tasks
-
OpenInteract2::Manage::Package: Parent for all package management tasks
-
OpenInteract2::Manage::Package::Check: Check validity of a package
-
OpenInteract2::Manage::Package::CreateCPAN: Create a CPAN distribution from a package
-
OpenInteract2::Manage::Package::CreatePackage: Create a sample package
-
OpenInteract2::Manage::Package::CreatePackageFromTable: Create a package with full CRUDS capability based on a database table
-
OpenInteract2::Manage::Package::Export: Export a package into a portable format
-
OpenInteract2::Manage::Website: Parent for website management tasks
-
OpenInteract2::Manage::Website::CleanExpiredSessions: Remove expired and empty sessions
-
OpenInteract2::Manage::Website::CleanOrphanedUsers: Remove users who created an account but never logged in
-
OpenInteract2::Manage::Website::Create: Create a new website
-
OpenInteract2::Manage::Website::CreateSecurity: Create security for multiple SPOPS objects
-
OpenInteract2::Manage::Website::CreateSecurityForAction: Create security for an OI2 action
-
OpenInteract2::Manage::Website::CreateSecurityForSPOPS: Create security for multiple SPOPS objects
-
OpenInteract2::Manage::Website::CreateSuperuserPassword: Change password for superuser
-
OpenInteract2::Manage::Website::InstallPackage: Install a package distribution to a website
-
OpenInteract2::Manage::Website::InstallPackageData: Install object/table data from packages
-
OpenInteract2::Manage::Website::InstallPackageSecurity: Managment task
-
OpenInteract2::Manage::Website::InstallPackageSql: Install SQL structures, object/SQL data and security objects
-
OpenInteract2::Manage::Website::InstallPackageStructure: Managment task
-
OpenInteract2::Manage::Website::ListActions: List all actions in a website
-
OpenInteract2::Manage::Website::ListObjects: Task to list all SPOPS objects in a website
-
OpenInteract2::Manage::Website::ListPackages: List packages installed to a website
-
OpenInteract2::Manage::Website::PackageCheckExportInstall: Check, export and install a package in one fell swoop
-
OpenInteract2::Manage::Website::ReindexObjects: Index objects for a particular class
-
OpenInteract2::Manage::Website::RemovePackage: Remove a package from a website
-
OpenInteract2::Manage::Website::TestDB: Managment task
-
OpenInteract2::Manage::Website::TestLDAP: Task to test configured LDAP connections
-
OpenInteract2::Manage::Website::ThemeDump: Dump a theme to a themeball
-
OpenInteract2::Manage::Website::ThemeInstall: Install a theme from a themeball
-
OpenInteract2::Manage::Website::UpdatePackageFromWebsite: Managment task
-
OpenInteract2::Manage::Website::Upgrade: Upgrade website from a new OpenInteract distribution
-
OpenInteract2::Manage::Website::ViewSession: View contents of a session
-
OpenInteract2::Observer: Initialize and manage observers to OpenInteract components
-
OpenInteract2::Observer::Controller::GetFiltersFromRequest: Scan parameters for filtering directives
-
OpenInteract2::Package: Perform actions on individual packages
-
OpenInteract2::ParamContainer: Base for classes that want to hold parameters
-
OpenInteract2::Repository: Operations to manipulate package repositories.
-
OpenInteract2::Request: Represent a single request
-
OpenInteract2::Request::Apache: Read parameters, uploaded files and headers
-
OpenInteract2::Request::Apache2: Read parameters, uploaded files and headers from Apache2/mod_perl2
-
OpenInteract2::Request::CGI: Read parameters, uploaded files and headers
-
OpenInteract2::Request::LWP: Read parameters, uploaded files and headers
-
OpenInteract2::Request::Standalone: Manually create a request object
-
OpenInteract2::Response: Information about and actions on an HTTP response
-
OpenInteract2::Response::Apache: Response handler using Apache/mod_perl 1.x
-
OpenInteract2::Response::Apache2: Response handler using Apache/mod_perl 2.x
-
OpenInteract2::Response::CGI: Response handler using CGI
-
OpenInteract2::Response::LWP: Response handler using LWP
-
OpenInteract2::Response::Standalone: Standalone response handler, mostly for testing
-
OpenInteract2::ResultsIterator: Iterator to scroll through search results that are objects of different classes.
-
OpenInteract2::ResultsManage: Save and retrieve generic search results
-
OpenInteract2::SPOPS: Define common behaviors for all SPOPS objects in the OpenInteract Framework
-
OpenInteract2::SPOPS::DBI: Common SPOPS::DBI-specific methods for objects
-
OpenInteract2::SPOPS::LDAP: Common SPOPS::LDAP-specific methods for objects
-
OpenInteract2::SQLInstall: - Dispatcher for installing various SQL data from packages to database
-
OpenInteract2::SessionManager: Implement session management for OpenInteract
-
OpenInteract2::SessionManager::DBI: Create sessions within a DBI data source
-
OpenInteract2::SessionManager::File: Create sessions within a filesystem
-
OpenInteract2::SessionManager::SQLite: Create sessions within a SQLite data source
-
OpenInteract2::Setup: Base/Factory class for setup actions in OpenInteract2
-
OpenInteract2::Setup::CheckDatasources: Ensure datasource configurations are correct
-
OpenInteract2::Setup::CreateTemporaryLibraryDirectory: Copy package modules to a single directory tree
-
OpenInteract2::Setup::DependencySource: Provide dependency information for Algorithm::Dependency
-
OpenInteract2::Setup::InitializeActions: Include and initialize all OpenInteract2 actions
-
OpenInteract2::Setup::InitializeCache: Initialize the cache
-
OpenInteract2::Setup::InitializeContentGenerators: Initialize content generator objects
-
OpenInteract2::Setup::InitializeControllers: Initialize all controller classes
-
OpenInteract2::Setup::InitializeObservers: Initialize action and configuration observers
-
OpenInteract2::Setup::InitializeSPOPS: Initialize SPOPS classes
-
OpenInteract2::Setup::InitializeTimezone: Create the global timezone object
-
OpenInteract2::Setup::ReadActionTable: Reads actions from all packages and stores them in context
-
OpenInteract2::Setup::ReadLocalizedMessages: Find and read all localization data and create lookup tables
-
OpenInteract2::Setup::ReadPackages: Read all packages from the repository and register with the context
-
OpenInteract2::Setup::ReadRepository: Reads the package repository and stores in context
-
OpenInteract2::Setup::ReadSPOPSConfig: Read SPOPS object declarations from all packages
-
OpenInteract2::Setup::ReadServerConfig: Read the server configuration
-
OpenInteract2::Setup::RegisterActionTypes: Find action types and register them
-
OpenInteract2::Setup::RegisterRequestAndResponse: Register all request and response implementations declared in server configuration
-
OpenInteract2::Setup::RequireClasses: Bring in one or a set of classes
-
OpenInteract2::Setup::RequireIndexers: Bring in all indexer classes
-
OpenInteract2::Setup::RequireSessionClasses: Bring in all session implementation classes
-
OpenInteract2::Setup::RequireSystemClasses: Bring in declared 'system_classes'
-
OpenInteract2::TT2::Context: Provide a custom context for templates in OpenInteract
-
OpenInteract2::TT2::Plugin: Custom OpenInteract functionality in templates
-
OpenInteract2::TT2::Provider: Retrieve templates for the Template Toolkit
-
OpenInteract2::URL: Create URLs, parse URLs and generate action mappings
-
OpenInteract2::Upload: Represent a file upload
-
OpenInteract2::Util: Package of routines that do not really fit anywhere else
COPYRIGHT
Copyright (c) 2001-2004 Chris Winters. All rights reserved.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the file titled "COPYING-DOCS".
AUTHORS
Chris Winters <chris@cwinters.com>
The following people have offered patches, advice, development funds, etc. to OpenInteract and OpenInteract2:
-
Salve Nilsen and his team at the Norwegian Meteorological Institute (http://met.no/) have provided ideas, use cases, bug reports and invaluable advice throughout the OpenInteract2 beta process.
-
Teemu Arina and his team at Dicole (http://www.dicole.com/) have created a substantial and innovative groupware product called MimerDesk. They've also been very active in submitting patches, bug reports and ideas for development, particularly i18n support, based on their day-to-day usage.
-
John Sequeira and HappyCool (running the National Auto Sport Association) donated money toward the OpenInteract server which runs the website, wiki site, demo sites and JIRA issue tracking.
-
Greg Fenton and the folks at iAnywhere contributed a fully-licensed version of SQL Anywhere Studio version 9 at YAPC 2004.
-
intes.net (http://www.intes.net/) funded and supported OpenInteract development through its 1.x versions.
-
Andreas Nolte <andreas.nolte@bertelsmann.de> and his team have contributed lots of great ideas and have been super for bouncing ideas around.
-
Christian Lemburg <lemburg@aixonix.de>, Rusty Foster <rusty@kuro5hin.org>, Christopher Proto, and many other folks have helped out. (Please email me if I've forgotten you!)
Generated from the OpenInteract 1.99_06 source.
