= Developing PamelaWare Plugins = == Functionality == All PamelaWare plugins consist of the following functionality: * [wiki:developerdoc/functionality/Installation Installation] * this code conforms to the modular specifications of each different framework * [wiki:developerdoc/functionality/Administration Administration] * Administration code allows the administrator to input private key information and to set configuration settings such as enabling/disabling Debug Mode, Time Validation, etc. * [wiki:developerdoc/functionality/Login Login] * There are various ways to prompt information card login, the methods vary depending on the host framework. For example, Login can triggered through an integrated front-page information card logo, or through an addition of Information Card authentication methods to an existing Login page, or by using the Pamelaware standalone login page. * [wiki:developerdoc/functionality/Processing Processing] * Processing code decrypts the token, retrieves claims, validates issuers, evaluates user status, maps claims to database locations, and all the other important bits. * [wiki:developerdoc/functionality/AccountValidation Account Validation] * Account Validation manages email messages that contain clickback information to validate self-issued information cards. * [wiki:developerdoc/functionality/ErrorHandling Error Handling] * Errors are theoretically localizable, and based on error code returns from the processing code. == Files and Variables == The minimum subset of Plugin files and Config variables are listed [wiki:developerdoc/pluginContents here]. == Databases == [wiki:developerdoc/database/pwwpUpgrades PW-wp Early DB Upgrades ] [[BR]] [wiki:developerdoc/database/upgradeStrategy PamelaWare Standard DB Upgrade Strategy (versions from 2008 on) ] == Repository Setup == Pamela Project has multiple repositories - one for each type of plugin. Each separate plugin repository has an external dependency on a single common code library called "pwlib". [https://pamelaproject.com/svn/pw/docs/project/overview/repo-layout.pdf Diagram of the Repository Structure]