uPortal 3.1 introduces the use of administrative tools implemented using Spring WebFlow 2. The use of WebFlow allows coherent administrative UIs to be designed in a re-usable fashion with well defined inputs, outputs and configuration. This approach will eventually allow for the deprecation and removal of the custom IServant API used by existing uPortal channels.
- Attribute Swapper — Designed to be used as a primary flow. Provides the ability to modify the current user's attributes as well as lookup attributes from other users to copy values from.
- Flow Development
- Identity Swapper — Designed to be used as a primary flow. Provides the ability to switch identities (similar to Unix su) to another portal user without having to know that user's credentials.
- Permissions Manager Portlet
- Person Lookup — Designed to be used as a subflow. Provides functionality to search for a user using a configurable set of attributes, returns a IPersonAttributes object for the found user.
- Portlet Administration Portlet
WebFlow Usage Reasoning
As the world moves toward portlets and features are added or re-worked in uPortal 3 we need to find a replacement for IChannel and the related Servant APIs that will allow us to use existing MVC frameworks. After some discussion among the uPortal developers Spring WebFlow 2 was chosen as a likely successor to these technologies as it allowed for more standard portlet API based development but also provided the View and Controller re-use that the IChannel Servant API gave us. An example of this is the Identity and Attribute swapper utilities that will be included in uPortal 3.1 These share a common 'Person Lookup' flow which contains both the view and controller logic and can be treated much like an API call by both portlets that use the results for either identity or attribute swapping.
The goal of using Spring WebFlow is to provide a library of discrete user interfaces that can easily be used by any other administrative tool within the uPortal framework. To that end we plan on having session that review in more detail the actually implementation of the flows in uPortal 3.1, the pros and cons of using WebFlow and what the next administrative UIs to be targeted should be. Also during the following developers meeting days we will actually be working on implementing flows for anyone that has an interested in becoming familiar with using WebFlow in a portlet.