integrate login/register functionality more properly with app
[scpubgit/stemmatology.git] / stemmaweb / lib / stemmaweb.pm
CommitLineData
5c9ecf66 1package stemmaweb;
dbcf12a6 2use Moose;
3use namespace::autoclean;
4
5use Catalyst::Runtime 5.80;
6
d1ba091f 7use Search::GIN::Extract::Class;
8use Search::GIN::Extract::Attributes;
9use Search::GIN::Extract::Multiplex;
10
dbcf12a6 11# Set flags and add plugins for the application.
12#
13# Note that ORDERING IS IMPORTANT here as plugins are initialized in order,
14# therefore you almost certainly want to keep ConfigLoader at the head of the
15# list if you're using it.
16#
17# -Debug: activates the debug mode for very useful log messages
18# ConfigLoader: will load the configuration from a Config::General file in the
19# application's home directory
20# Static::Simple: will serve static files from the application's root
21# directory
22
23use Catalyst qw/
dbcf12a6 24 ConfigLoader
25 Static::Simple
26 Unicode::Encoding
d1ba091f 27 Authentication
28 Session
29 Session::Store::File
30 Session::State::Cookie
4dbd098b 31 StatusMessage
54e5debe 32 StackTrace
dbcf12a6 33/;
34
35extends 'Catalyst';
36
37our $VERSION = '0.01';
38
39# Configure the application.
40#
5c9ecf66 41# Note that settings in stemmaweb.conf (or other external
dbcf12a6 42# configuration file that you set up manually) take precedence
43# over this when using ConfigLoader. Thus configuration
44# details given here can function as a default configuration,
45# with an external configuration file acting as an override for
46# local deployment.
47
48__PACKAGE__->config(
5c9ecf66 49 name => 'stemmaweb',
dbcf12a6 50 # Disable deprecated behavior needed by old applications
51 disable_component_resolution_regex_fallback => 1,
c4a4fb1b 52 default_view => 'TT',
b90c84a0 53 'View::JSON' => {
54 expose_stash => 'result',
55 },
350a6cdc 56 'View::TT' => {
57 INCLUDE_PATH => [
58 stemmaweb->path_to( 'root', 'src' ),
59 ],
60 },
d1ba091f 61 ## kiokudb auth store testing
62 'Plugin::Authentication' => {
63 default => {
64 credential => {
65 class => 'Password',
66 password_field => 'password',
67 password_type => 'self_check',
68 },
69 store => {
70 class => 'Model::KiokuDB',
77be2fb4 71 model_name => 'Directory',
d1ba091f 72 },
4dbd098b 73 },
74 openid => {
75 credential => {
76 class => 'OpenID',
6fadc28b 77 extensions => ['http://openid.net/srv/ax/1.0' =>
78 {
79 ns => 'ax',
80 uri => 'http://openid.net/srv/ax/1.0',
81 mode => 'fetch_request',
82 required => 'email',
59acd833 83 'type.email' => 'http://axschema.org/contact/email',
84 # type => {
85 # email => 'http://axschema.org/contact/email'
86 # }
6fadc28b 87 }
88 ],
4dbd098b 89 },
90 store => {
91 class => 'Model::KiokuDB',
786f9761 92 model_name => 'Directory',
4dbd098b 93 },
94 auto_create_user => 1,
95 },
96 },
97 ## Auth with CatalystX::Controller::Auth
98 'Controller::Users' => {
99 model => 'User',
100 login_id_field => 'username',
101 login_db_field => 'username',
3e97c22c 102 action_after_login => '/users/success',
103 action_after_register => '/users/success',
104 register_email_from => '"Stemmaweb" <stemmaweb@byzantini.st>',
c1719854 105 register_email_subject => 'Registration to stemmaweb',
106 register_email_template_plain => 'register-plain.tt',
8591038d 107 realm => 'default',
7d244e7d 108 login_fields => { openid => [qw/openid_identifier/],
8591038d 109 default => [qw/username password remember/],
4dbd098b 110 },
d1ba091f 111 },
c1719854 112 'View::Email::Template' => {
113 stash_key => 'email_template',
114 },
775e7a0e 115
116 recaptcha => {
3e97c22c 117 pub_key => '6LfR19MSAAAAACy2meHvLfZGRn3PM2rRYIAfh665',
118 priv_key => '6LfR19MSAAAAAMlQb8BdyecWNRE1bAL2YSgz2sah',
775e7a0e 119 },
dbcf12a6 120);
121
122# Start the application
123__PACKAGE__->setup();
124
125
126=head1 NAME
127
5c9ecf66 128stemmaweb - Catalyst based application
dbcf12a6 129
130=head1 SYNOPSIS
131
5c9ecf66 132 script/stemmaweb_server.pl
dbcf12a6 133
134=head1 DESCRIPTION
135
136[enter your description here]
137
138=head1 SEE ALSO
139
5c9ecf66 140L<stemmaweb::Controller::Root>, L<Catalyst>
dbcf12a6 141
142=head1 AUTHOR
143
144Tara L Andrews
145
146=head1 LICENSE
147
148This library is free software. You can redistribute it and/or modify
149it under the same terms as Perl itself.
150
151=cut
152
1531;