Developing PamelaWare Plugins

Functionality

All PamelaWare plugins consist of the following functionality:

  • Installation?
    • this code conforms to the modular specifications of each different framework
  • 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.
  • 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.
  • Processing
    • Processing code decrypts the token, retrieves claims, validates issuers, evaluates user status, maps claims to database locations, and all the other important bits.
  • Account Validation?
    • Account Validation manages email messages that contain clickback information to validate self-issued information cards.
  • 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 here.

Databases

PW-wp Early DB Upgrades
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".

Diagram of the Repository Structure