- Meta
- Book
- This talk
- What is better?
- Less code
- Less repetition
- Less time spent developing
- Fewer bugs
- How do you write less code
- Don't reinvent Catalyst
- Don't reinvent Catalyst
- Review of action matching
- Chained
- Chained
- Chained
- How does this improve your app?
- Continue to not rewrite Catalyst
- GET POST
- Tell Catalyst what you want
- Don't reinvent Catalyst
- Less repetition
- Don't use Catalyst!?
- An example
- Cleaning up the logic
- Cleaning up the logic
- Use from Catalyst
- Use from Catalyst
- Arguments are possible
- Doing something harder
- And the Controller
- To sum up
- Catalyst configuration
- Catalyst configuration
- Catalyst configuration (class)
- Chance to override this in app
- Chance to override app or package config in config file
- Config
- ACCEPT_CONTEXT
- ACCEPT_CONTEXT
- ACCEPT_CONTEXT
- Using Moose with Catalyst
- Using Moose with Catalyst
- Catalyst base controllers
- Catalyst base controller example
- Combine with configuration
- Fun with DBIx::Class
- Tags
- MapMaker
- Let's use it
- Restricted resultsets
- Restricted resultsets
- Restricted resultsets in Catalyst
- Restricted resultsets in Catalyst
- Restricted resultsets in Catalyst
- New authentication system
- Stores/credentials/realms?
- Lots of boilerplate
- Authentication Controller
- Authentication
- Authentication with realms
- Questions?
- Bonus slides
- App::TemplateServer
- App::TemplateServer
- Using it
- What about data
- What about crazy data
- App::TemplateServer
- Now we're really done