The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Yote::AppRoot - Application Server Base Objects

DESCRIPTION

This is the root class for all Yote Apps. Extend it to create an App Object.

Each Web Application has a single container object as the entry point to that object which is an instance of the Yote::AppRoot class. A Yote::AppRoot extends Yote::Obj and provides some class methods and the following stub methods.

PUBLIC API METHODS

account()

Returns the currently logged in account using this app.

create_login( args )

Create a login with the given client supplied args : h => handle, e => email, p => password. This checks to make sure handle and email address are not already taken. This is invoked by the javascript call $.yote.create_login( handle, password, email )

recover_password( { e : email, u : a_url_the_person_requested_recovery, t : reset_url_for_system } )

Causes an email with a recovery link sent to the email in question, if it is associated with an account.

reset_password( { p : newpassword, p2 : newpasswordverify, t : recovery_token } )

Resets the password of the login for this account.

recovery_reset_password( { p : newpassword, p2 : newpasswordverify, t : recovery_token } )

Resets the password ( kepts hashed in the database ) for the account that the recovery token belongs to. Returns the url_the_person_requested_recovery that was given in the recover_password call.

token_login()

Returns a token that is used by the client and server to sync up data for the case of a user not being logged in.

PUBLIC DATA FIELDS

apps

This is a hash of app name to app object.

PRIVATE DATA FIELDS

_handles

A hash of handle to Yote::Login object for that user.

_emails

A hash of email address to Yote::Login object for that user.

_application_lib_directories

A list containing names of directories on the server that should be searched for Yote app classes and libraries.

AUTHOR

Eric Wolf

LICENSE AND COPYRIGHT

Copyright (C) 2011 Eric Wolf

This module is free software; it can be used under the same terms as perl itself.