General |
Leader | Description |
|---|---|---|
| Client - Server Validation | sfehrman | Design a mechanism for how the Client can validate (authenticate the client, not the end user) itself to the Server |
| Server packaging | harcey | Deliver the OpenPTK solution as a deploy-able service in a web container. Support for on-line configuration and management |
| Package and JAR Refactoring | harcey | Refactor some of the packages from the 1.x code base to better reflect the 2.0 architecture. Refactor the JAR files to better handle the new Server and Client design. |
| Download Bundles |
tsigle |
Prepare the different download options for various OpenPTK bundles |
| Repository | Implement a repository strategy for configuration data and potentially user meta-data. Options include embedded db, xml files, ldap. Need to evaluate Use Cases | |
| Security | A framework for handling AuthN, AuthZ and encryption features. Need to define Use Cases. Should be pluggable to support industry solutions/standards | |
| encryption of proxy credentials | sfehrman | Storing client-side credentials for use by the service should be encrypted. Will require general encryption mechanism used by the Framework and Service |
| Null vs. Empty values | sfehrman | Handling of null values vs. values with zero length (String.length() = 0). Framework, APIs, and Service will be effected. This will apply to the UPDATE Operation. An attribute will be "flagged" for removal. |
| ENABLE and DISABLE Operations | Support two new Operations ENABLE and DISABLE. Some Services can enable and disable users. | |
| Error code/message facility | Create a mechanism that would manage error codes, levels, description, and action information. This facility would be used by all Tiers. Developers will register new errors with the facility and leverage an error handling API. All "hard coded" errors will be removed from source files. | |
Framework Tier |
Leader | Description |
| Authentication | harcey | Ability to identify who (userPrincipal) is accessing the Consumer Interface. |
| Authorization | tsigle | Using the AutheN, identify what functions/capabilities the userPrincipal is allowed to perform. Leverage the J2EE Declarative Security / Role model (userRole) |
| Model, Views, and Relationships | sfehrman | Create a Model that has Views and Relationship facility to support the concepts of Siblings, Ancestors, and Children |
| Attribute Function redesign | sfehrman | The Attribute Operation and Function relationship are not that flexible. Need to support more flexibility and address the issue of "required" for an Attribute |
| Attribute Properties | sfehrman | Add Properties to Attributes, need by client for dynamic UI |
| Definition Enhancement | sfehrman | Subject accessible Attributes (defined within the Definition) need to be extended to support more flexible Use Cases and condition. An Attribute should support multiple "Functions" that can be associated to any combination of "Operation" and (potentially mode, re-evaluate if "mode" is still needed). |
| Function Processing | Handling of function logic and chaining. Allow functions to control the processing to the next / other functions | |
| i18n | design internationalization / localization capabilities | |
| Function::Argument Change | sfehrman | The current syntax for an Argument uses the following XML Arguments: <Argument name="" arg="" value=""/> Want to change the syntax to: <Argument name="" type="" value=""/> The XML argument named "type" better described the real meaning of the XML argument |
| Configurable Tier Interfaces | Enhance the interface between the Consumer-Framework Tier and the Framework-Service Tier to be configurable. This will be need to implement other means of transporting "messages" between the tiers. Transports can include: direct (current design), message queue, database, JPA. | |
| Async Operations | Interfaces could support async operations, design options need to be evaluated | |
| Multi-Service Contexts | Allow a context to support more than one "Service". Consider allowing Service to either relate "in-order", parallel or hierarchically. | |
| Attribute Error/State/Status | sfehrman | Enhance the Attribute/Attr to use Error/Status/State indicate various conditions that is might have. Such as ... a Request to a Service and the Service does not support the Attribute, the operation could continue (minus the Attribute) and the Result could have a matching attribute with a specific State/Error/Status condition. |
| Rename Context Objects | sfehrman | The Framework uses the term "context" in two different ways. One references a configuration "element" while the other is used to manage the processing of requests. It is suggested to rename ContextIF, Context, BasicContext, and TimeoutContext to one of the following ProcessorIF, Processor, BasicProcessor, TimeoutProcessor. EngineIF, Engine, BasicEngine, TimeoutEngine. |
| missing Attributes | sfehrman | Enhance the Subject to handle Consumer Tier requests that contain Attributes that do not exist or are not supported by the Service. Reference the solution implemented for release 1.2 |
| Enhance Search | sfehrman | Enhance the search to handle search configuration of each service for controlling default search and service specific search behavior. Also support Consumer Tier requests that contain advanced search operations |
| Support Mime Data Type | sfehrman | Enhance the Framework / Server / Service to support a "Object" Data Type |
| Pre Post Operation Actions | sfehrman | Enhance the Operations to support the configuration of Pre and/or Post processing for Operations |
| Plugins | sfehrman | A general purpose mechanism for managing and accessing external "plugins" |
Service Tier |
Leader | Description |
| SPML2 | harcey | A Service/Operations that support the SPML2 specification. Operation should include: CREATE,READ,UPDATE,DELETE,SEARCH,PWDCHANGE,PWDRESET |
| JMS | A Service/Operations for writing to a Java Message Service. Operations should include: CREATE,UPDATE,DELETE | |
| JNDI password support | sfehrman | Enhance JNDI Service/Operations to implement PWDCHANGE an PWDRESET |
| JDBC password support | sfehrman | Enhance JDBC Service/Operations to implement PWDCHANGE an PWDRESET |
Consumer Tier |
Leader | Description |
| RESTful Web Service | sfehrman | Create a REST web service interface that support the OpenPTK Operations |
| RESTful API | sfehrman | Document the API and format of results |
Applications |
Leader | Description |
| CLI | output format: ldif,table,csv,xml | |
| CLI | Password Change | |
| JavaFX | harcey | A JavaFX based application. Leverage RESTful web service |
| RESTFul consumer (provlet) | harcey | Need more details |
| Role usage | Role examples (CRUD) framework, service, samples | |
| Enhance Portlets | sfehrman | Update the Portlet samples to include "Registration" and "Forgotten Password" use cases |