Index
A
- Accept* header / REST Controller
- ACCEPT_CONTEXT method / Request context inside the model
- accessor method / Configuration files
- access_denied method / Adding authentication and authorization to the address book
- ACL plugin / REST authentication
- action, methods / CatalystX declare
- ActionClass / Some technical details
- AddressBook**Model**AddressDB / Extending a DBIx::Class model
- address book, application
- environment, setting up / Environment setup
- command lines, for creation / Environment setup
- CPAN modules, installing / Environment setup
- environment setup / Environment setup
- database design / Database design
- database, linking to Catalyst model / Database design
- schema files / Understanding the interface to the database
- relations, specifying / Understanding the interface to the database
- TTSite / TTSite
- people, viewing / Viewing people
- People controller, creating / Viewing people
- CRUD / Basic CRUD
- forms / Forms
- forms, adding / Forms
- address editing Controller, adding / Finishing up
- configuration files / Configuration files
- configuration files, using / Configuration files
- configuring / Configuring the address book
- sessions / Sessions
- sessions, modules / Sessions
- session engine, parts / Sessions
- sessions, adding / Adding sessions to the address book
- database, sessions / Sessions in the database
- data, searching / Searching and paging
- results, paging / Searching and paging
- data, paging / Searching and paging
- cross subroutine / Searching and paging
- GET method / Searching and paging
- address_fragment.tt2 template / Searching and paging
- authentication / Authentication and authorization, Authentication
- authorization / Authentication and authorization, Authorization
- authentication, adding / Adding authentication and authorization to the address book
- authorization, adding / Adding authentication and authorization to the address book
- AddressBook application
- REST, adding / Getting some REST
- address book application, testing
- about / Testing the AddressBook
- logging in / Logging in
- forms, testing / Testing forms
- JavaScript, testing / Testing JavaScript, Summaryaddress book application, testingJavaScript, testing
- addressbook_create.pl script / Mechanics
- address objects / Adding an entity
- address_fragment code / Implementing AJAX
- after method / Controller
- AJAX
- about / AJAX
- implementing / Implementing AJAX
- all_things method / Putting the data on the Web
- Apache, web server
- about / Apache
- FastCGI / FastCGI
- static content / Static content
- mod_perl / mod_perl
- mod_perl, performance enhancing / Performance considerations
- mod_perl, Catalyst application serving / Performance considerations
- API (Application Programming Interface) / REST
- API key
- about / REST authentication
- application
- deploying / Basics
- Args. CaptureArgs / Putting the data on the Web
- authentication
- about / Authentication
- tables, creating in database / Adding authentication and authorization to the address book
- schema files, creating / Adding authentication and authorization to the address book
- application, configuring / Adding authentication and authorization to the address book
- guts, implementing / Adding authentication and authorization to the address book
- Authentication**Store**Htpasswd / Authentication
- authorization
- plugin / Authorization
- generate_reports() command / Authorization
- Authorization**Roles, authorization plugin / Authorization
B
- begin method / REST authentication
- Belongs_to relationship / Adding authentication and authorization to the address book
- belongs_to relationship / Creating the database
- Blog**Backend**Filesystem object / Maintainable models
- Blog**Model**Filesystem
- -Post class / Maintainable models
- BUILD method / Instantiating objects
C
- #channel / Background
- $c->flash method / Sessions
- $c->model() / Request context inside the model
- $c->session method / Sessions
- $col->sum / Extracting the data
- $ctx / CatalystX declare
- ($c->config / Putting the data on the Web
- cancel_address_edit function / Implementing AJAX
- CaptureArgs / Putting the data on the Web
- Catalyst
- application architecture / Catalyst application architecture
- Model / Catalyst application architecture
- View / Catalyst application architecture
- components / Extensibility
- Moose / Extensibility
- reusability / ReusabilityCatalyst application architectureextensibility
- flexibility / Flexibility
- reliability / Reliability
- installing / Installing Catalyst
- installing, via operating system's package manager / Installing Catalyst
- installing, from CPAN / CPAN
- installation, testing / Testing the installationinstallation, Catalystfrom CPAN
- help / Where to go for help?, SummaryCatalysthelp
- application skeleton, creating / Creating the application skeleton
- helper scripts / Latest helper scripts
- URL requests, handling / Handling URL requests, Adding a ViewCatalystURL requests, handling
- View, adding / Adding a ViewCatalystURL requests, handling
- CPAN modules, installing / Environment setup
- model, creating / Database design
- outside components, using / Using components from outside Catalyst
- ChatStat application / The application
- application, deploying / Basics
- PAR, deploying / PAR deployment
- configuration management / Configuration management
- web server, configuring / Configuring a web server
- mechanics / Mechanics
- ChatStat application, testing / Testing ChatStat
- address book application, testing / Testing the AddressBook
- Catalyst**Controller**REST / Getting some REST, REST Controller
- Catalyst**Model**DBI / Creating a database model from scratch
- Catalyst**Model**Factory**PerRequest module / Maintainable models
- Catalyst**Plugin**Authentication / Authentication
- Catalyst**Plugin**Cache**Store**FastMmap / Jemplate
- Catalyst**Plugin**ConfigLoader**Environment extension / Configuration management
- Catalyst**Plugin**Session**Store** FastMmap / Sessions
- Catalyst**Test / Testing the web interface
- Catalyst**View**Jemplate / Jemplate
- Catalyst, Moose
- about / Moose in Catalyst
- controller / Controller
- CatalystX declare / CatalystX declare
- CatalystX / CatalystX
- roles / Roles
- data types / Types
- types / Types
- model / Model
- immutable / Immutable
- Catalyst application architecture
- about / Catalyst application architecture
- extensibility / Extensibility, ReusabilityCatalyst application architectureextensibility
- reusability / ReusabilityCatalyst application architectureextensibility
- flexibility / Flexibility
- reliability / Reliability
- CatalystX
- CatalystX**Declare / CatalystX declare
- CatalystX**Traits / CatalystX
- CatalystX-declare / CatalystX declare
- CatalystX declare / CatalystX declare
- CatalystX SimpleLogin trait
- URL / CatalystX
- Changes file
- about / Files in the MyApp directory
- ChatStat**Robot**Action / Testing a database
- ChatStat**Robot**Parser module / Testing ChatStat
- ChatStat**Robot namespace / Populating the database
- ChatStat**Schema**People object / Creating the database
- ChatStat** Schema**Things / Putting the data on the Web
- ChatStat**Test**Database / Testing a database
- Chatstat**Test**Database**Live / Testing the web interface
- ChatStat application
- about / The application
- background / Background
- database, creating / Creating the database
- tables, creating in SQLite / Creating the database
- opinions table / Creating the database
- DBIx**Class schema, creating / Creating the database
- ChatStat**Schema**Nickname objects / Creating the database
- SQL**Abstract syntax / Creating the database
- Nicknames.pm / Creating the database
- has_many relationship / Creating the database
- belongs_to relationship / Creating the database
- ChatStat**Schema**People object / Creating the database
- Things.pm file / Creating the database
- opinions accessor / Creating the database
- Opinions.pm, editing / Creating the database
- database, populating / Populating the database
- Regexp**Common used / Populating the database
- _get_nickname subroutine / Populating the database
- data, extracting / Extracting the data
- DBIx**Class, features / Extracting the data
- karma_for subroutine / Extracting the data
- DBIx**Class, chained ResultSets / Chained resultsets
- DBIx**Class, custom ResultSets / Custom resultsets
- data, putting on web / Putting the data on the Web
- testing / Testing ChatStat
- ChatStat application, testing
- about / Testing ChatStat
- database, testing / Testing a database
- web interface, testing / Testing the web interface
- COMPONENT method / Tweaking the model
- components
- Model / Extensibility
- Controllers / Extensibility
- View / Extensibility
- config method / Configuration files
- configuration management / Configuration management
- Content-type* header / REST Controller
- controller / Controller
- Controller class / Catalyst application architecture
- COUNT function / Extracting the data
- count_users function / Creating a database model from scratch
- CPAN
- about / Extensibility
- Catalyst, installing from / CPAN
- disadvantages / CPAN
- modules, installing / Environment setup
- CRUD / Basic CRUD
D
- $dir / Extracting the data
- Data**Page object / Searching and paging
- database
- installing / Database
- database, accessing ways
- Object-relational mapper (ORM) / Adding a database
- database, skeleton application
- SQLite, installing / Installing SQLite
- database schema, installing / Creating a database schema
- database model, creating / Creating a database model for Catalyst
- database model, using / Using the Model
- database model
- database schema
- creating / Creating a database schema
- data putting on web, ChatStat application
- main page / Putting the data on the Web
- thing, macros / Putting the data on the Web
- score, macros / Putting the data on the Web
- person, macros / Putting the data on the Web
- macros, creating / Putting the data on the Web
- data, putting on web / Putting the data on the Web
- template root/src/pair.tt2, creating / Putting the data on the Web
- main page, writing / Putting the data on the Web
- macros, using / Putting the data on the Web
- lowest_rated, custom ResultSets method / Putting the data on the Web
- highest_rated, custom ResultSets method / Putting the data on the Web
- most_controversial, custom ResultSets method / Putting the data on the Web
- least_controversial, custom ResultSets method / Putting the data on the Web
- custom ResultSets method, writing / Putting the data on the Web
- _controversial function / Putting the data on the Web
- having attribute / Putting the data on the Web
- issues / Putting the data on the Web
- uri_for_action, using for link / Putting the data on the Web
- ResultSet, adding / Putting the data on the Web
- everything query / Putting the data on the Web
- everything ResultSet method / Putting the data on the Web
- all_things method / Putting the data on the Web
- one_thing method / Putting the data on the Web
- root/src/thing.tt2, template / Putting the data on the Web
- person() links / Putting the data on the Web
- index controller method, changing / Putting the data on the Web
- list_things macro, reusing / Putting the data on the Web
- action, adding / Putting the data on the Web
- actions, modifying / Putting the data on the Web
- actions, adding to display ups or downs on page / Putting the data on the Web
- data types / Types
- dbh_do method / Extending a DBIx::Class model, Custom methods without raw SQL
- DBI**Class / Configuring the address book
- dbh_do method / Extending a DBIx::Class model
- DBIC
- about / Adding a database
- DBIC schema ($self) / Populating the database
- DBIx**Class / SummaryCatalysthelp
- features / Extracting the data
- about / Chained resultsets
- extending / Extending a DBIx::Class model
- custom methods, implementing without raw SQL / Custom methods without raw SQL
- database functions, calling / Calling database functions
- DBIx**Class schema / Testing a database
- DELETE method / Adding an entity
- Deserialize action class / REST authentication
- Devel**Declare / CatalystX declare
- Devel**REPL module / Extracting the data
- development server
- about / Development server and perlbal
- perlbal / Development server and perlbal
- Directory
- -Scratch module / Testing a database
E
- edit_address.tt2 Jemplate / Implementing AJAX
- edit_address Jemplate / Implementing AJAX
- eval {} block / Adding an entity
- eval{} block / Using components from outside Catalyst
- everything ResultSet method / Putting the data on the Web, Testing a database
F
- FastMmap backend / Jemplate
- filesystem model
- implementing / Implementing a Filesystem model
- creating / Implementing a Filesystem model
- get_recent_posts method, adding / Implementing a Filesystem model
- mk_accessors line / Implementing a Filesystem model
- tweaking / Tweaking the model
- integrating, ACCEPT_CONTEXT used / Request context inside the model
- integrating, component used / Request context inside the model
- maintainable models / Maintainable models
- finalize method / Moose in Catalyst
- find_or_create method / Using components from outside Catalyst
- foo => sub { } / CatalystX declare
- FormBuider / SummaryCatalysthelp
- forms
- adding / Forms
- function() / Implementing AJAX
G
- GET method / Searching and paging
- get_column / Extracting the data, Chained resultsets
- get_recent_posts method / Implementing a Filesystem model
- get_users function / Custom methods without raw SQL
- get_users subroutine / Extending a DBIx::Class model
- Git
- initializing / Versioning code
- files, adding / Versioning code
- changes, committing / Versioning code
- working repository, getting / Versioning code
- updates, getting / Versioning code
- changes, pushing / Versioning code
- git add / Versioning code
- git add filename / Versioning code
- git clone command / Versioning code
- git commit / Versioning code
- git init / Versioning code
- git pull command / Versioning code
- git push / Versioning code
- Global attribute / Adding authentication and authorization to the address book
- GROUP BY clause / Chained resultsets
H
- Has_many relationship / Adding authentication and authorization to the address book
- has_many relationship / Creating the database
- helper scripts
- files, in MyApp directory / Files in the MyApp directory, FilesMyApp directory, filesmyapp.confhelper scriptsfiles, in MyApp directory in the lib directory
- files, in lib directory / FilesMyApp directory, filesmyapp.confhelper scriptsfiles, in MyApp directory in the lib directory, Files in the root directoryhelper scriptsfiles, in lib directory
- files, in root directory / Files in the root directoryhelper scriptsfiles, in lib directory
- files, in script directory / Files in the script directory, Fhelper scriptsfiles, in script directoryiles in the t directory
- files, in t directory / Fhelper scriptsfiles, in script directoryiles in the t directory
- highest_rated ResultSet method / Putting the data on the Web
- highest_rated string / Putting the data on the Web
I
- if statements / Adding an entity
- INCLUDE / Putting the data on the Web
- InflateColumn**DateTime / Understanding the interface to the database
- inheritance, Moose
- about / Inheritance
- inline_constructor => 0 / Immutable
- installation, Catalyst
- via operating system's package manager / Installing Catalyst
- from CPAN / CPAN, Testing the installationinstallation, Catalystfrom CPAN
- testing / Testing the installationinstallation, Catalystfrom CPAN
- interface to database
- irc.perl.org / The application
- is_deeply function / Testing ChatStat
- is_type accessor / Types
J
- Jemplate
- about / Getting started, Jemplate
- FastMmap backend / Jemplate
- jemplate directory / Jemplate
- JSAN (the JavaScript version of the CPAN)
- URL / Testing JavaScript
- JSON (JavaScript Object Notation) / REST Controller
K
- karma_for subroutine / Extracting the data
L
- lib directory, files
- log_in function / Logging in
- lowest_rated ResultSet method / Putting the data on the Web
M
- $mech->get_ok method / Testing the web interface
- make clean command / Basics
- make distclean command / Basics
- make dist command / Basics
- Makefile
- Makefile.PL file
- about / Files in the MyApp directory, Basics
- running / Files in the MyApp directory, Basics
- make manifest command / Basics
- make test command / Basics
- Many_to_Manyrelationship / Adding authentication and authorization to the address book
- map statement / Extending a DBIx::Class model
- map {} statement / Adding an entity
- message block / Types
- meta programming
- URL / Roles
- method modifiers / Class method
- mk_accessors line / Implementing a Filesystem model
- mk_address_entity method / Adding an entity
- model / Model
- Model
- Moose
- about / Extensibility
- OO, in Perl / OO in Perl
- OO / OO in Moose
- property, implementing / Properties
- class methods / Class method
- objects, instantiating / Instantiating objects
- inheritance / Inheritance
- in Catalyst / Moose in Catalyst
- URL / Roles
- Moose, in Catalyst
- about / Moose in Catalyst
- controller / Controller
- CatalystX declare / CatalystX declare
- CatalystX / CatalystX
- roles / Roles
- data types / Types
- types / Types
- model / Model
- immutable / Immutable
- MooseX**MethodAttributes**Role / Roles
- MooseX**NonMoose / Immutable
- MooseX-Declare / CatalystX declare
- myapp.conf file
- MyApp.pm file / FilesMyApp directory, filesmyapp.confhelper scriptsfiles, in MyApp directory in the lib directory
- MyApp directory, files
- myapp_cgi.pl / Files in the script directory
- myapp_fastcgi.pl / Files in the script directory
- myapp_server.pl / Files in the script directory
- myapp_test.pl / Files in the script directory
- myapp_test.pl script / Creating a database model from scratch
N
- namespace**autoclean / OO in Perl, Moose in Catalyst
- new() method / Instantiating objects
- NEXT**new() call / Tweaking the model
- Nicknames.pm / Creating the database
O
- one_thing method / Putting the data on the Web
- OO, in Moose
- properties / Properties
- class method / Class method
- instantiating objects / Instantiating objects
- OO, in Perl
- fundamentals / OO in Perl
- code sample / OO in Perl
- opinions.tid / Creating the database
- opinions accessor / Creating the database
- Opinions resultset / Extracting the data
- opinions table / Background, Creating the database
- ORM
- about / Adding a database
P
- $people->find (...) / Custom resultsets
- -Path Args(0) / Putting the data on the Web
- -Path Args(1) / Putting the data on the Web
- package packagename / OO in Perl
- page method / Searching and paging
- paging / Searching and paging
- parl myapp.par <script> / PAR deployment
- parse_nickname function / Testing ChatStat
- Path**Class module / Using components from outside Catalyst
- path attribute / Searching and paging
- PathPart / Putting the data on the Web
- People.pm / Creating the database
- People.pm schema / Custom resultsets
- Perl
- OO / OO in Perl
- perlbal
- about / Development server and perlbal
- installing / Development server and perlbal
- perlboot tutorials
- URL / Inheritance
- Perl REPL
- getting / Extracting the data
- person() links / Putting the data on the Web
- Person controller / Adding an entity
- person entity / Adding an entity
- person object / Using components from outside Catalyst
- PositiveInt type / Types
- PPM
- about / Installing Catalyst
- prepare_arguments / Maintainable models
- PROCESS / Putting the data on the Web
- PUT method / Adding an entity
R
- README file
- about / Files in the MyApp directory
- recent.tt template / Implementing a Filesystem model
- record / Populating the database
- Regexp** Common**balanced / Populating the database
- RenderView / Some technical details
- REPL
- about / Extracting the data
- REST
- about / REST
- architecture / REST
- adding, to AddressBook application / Getting some REST
- Catalyst**Controller**REST / Getting some REST, Adding an entity
- controller / REST Controller
- /lib/AddressBook/Controller/REST.pm, creating / REST Controller
- authentication / REST authentication
- entity, adding / Adding an entity
- Catalyst action, creating / Adding an entity
- GET method / Adding an entity
- mk_address_entity method / Adding an entity
- Accept header / Adding an entity
- PUT method / Adding an entity
- POST / Adding an entity
- DELETE method / Adding an entity
- mk_address_entity function / Adding an entity
- eval {} block / Adding an entity
- API using, to implement AJAX / AJAX
- REST action class / Adding an entity
- REST controller / REST authentication
- roles / Inheritance, Roles
- root/src/pair.tt2 / Putting the data on the Web
- root directory, files
- RPC (remote procedure call) / REST
- RSS
- Runtime Environment (JRE) / Testing JavaScript
S
- $self / CatalystX declare
- $sel object / Testing JavaScript
- +select / Putting the data on the Web
- script directory, files
- about / Files in the script directory
- searching / Searching and paging
- search_related call / Chained resultsets
- Selenium RC / Testing JavaScript
- session engines, parts
- Catalyst**Plugin** Session / Sessions
- sessions
- about / Sessions
- modules / Sessions
- session engines, parts / Sessions
- adding, to address book / Adding sessions to the address book
- in database / Sessions in the database
- show_address_edit_form function / Implementing AJAX
- similar_people / Custom resultsets
- skeleton application
- creating / Creating the application skeleton
- URL requests, handling / Handling URL requests
- View, adding / Adding a ViewCatalystURL requests, handling
- database, adding / Adding a database
- SOAP
- about / REST
- SQL**Abstract syntax / Creating the database
- SQLite
- database schema, creating / Installing SQLite, Database design
- database, creating / Database design
- status_not_found / Adding an entity
- status_ok / Adding an entity
- storage object / Extending a DBIx::Class model
- SUM (opinions.points) / Putting the data on the Web
T
- %tests hash / Testing ChatStat
- /things / Putting the data on the Web
- t/live-add- person.t / Testing forms
- t/view_Jemplate.t / Mechanics
- t directory, files
- Template Toolkit / Implementing AJAX
- Test**FITesque module / Testing ChatStat
- Test**More / Mechanics
- Test**Simple / Testing a database
- Test**WWW**Mechanize object / Testing the web interface
- Test.Simple module / Testing JavaScript
- Test Controller / Creating a database model from scratch
- thing.thing / Extracting the data
- Things.pm file / Creating the database
- Things controller / Putting the data on the Web
- thing_macros.tt2 / Putting the data on the Web
- thing_setup / Putting the data on the Web
- TIMTOWTDI / Flexibility
- total_points / Putting the data on the Web
- to_type accessor / Types
- traits / Roles
- TTSite / Creating a "Not Found" page
- about / TTSite
- index page, creating / Creating the index page
- Not Found page, creating / Creating a "Not Found" page
U
- /ups or /downs / Putting the data on the Web
- uri_for / Putting the data on the Web
V
- vendors method / CatalystX declare
- version control system (VCS)
- about / Versioning code
- View
- about / Catalyst application architecture
- TT view, using / Adding a ViewCatalystURL requests, handling
- creating, TT used / Adding a ViewCatalystURL requests, handling
- template, creating / Adding a ViewCatalystURL requests, handling
- Controller methods / More on Controller methods
- technical details / Some technical details
W
- web server
- configuring / Configuring a web server
- Apache / Apache
- with keyboard / Roles