Self-Service Accounts Portlet
See also
This portlet has been accepted for Jasig incubation and now has a page reflecting that. All content of this page will be merged into that page.
Description
The Self-Service Accounts Portlet is a very much pre-release, in-development, not-complete portlet application and suite of portlets for self-service account management. The portlet affords features for end-user account creation, password reset, modification of user information, and administration over these features.
Goals of project
- Provide compelling self-service account management features suitable for use with uPortal out of the box (if you really don't have a better identity store, uPortal becomes a more basically usable store for small projects)
- Provide support for integrating these features with reasonable places to really be storing this account information, which probably isn't the uPortal database, and is probably instead external LDAP or database (since you have a real store for identity information, it is feasible to adapt this portlet for use with that
In short, to provide an open source, shared, portlet-implemented platform on which adopters can implement their self-service account management needs.
Screenshots
Features
TODO: Further document features
Multiple back-end adapters and API for custom adapters
- In-Memory account store (useful only for demonstration purposes)
- uPortal database account store (useful for using this portlet to add self-service account creation and management features to uPortal, e.g. for small uPortal projects not making use of an external store of user accounts)
- Hibernate/RDBMS account store for storing accounts into a database
Source control
This portlet is in Jasig source control here: https://source.jasig.org/sandbox/self-service-accounts-portlet/
So you can check it out locally via
svn co https://source.jasig.org/sandbox/self-service-accounts-portlet/trunk ./trunk
Installing and testing
TODO: Document how to install and test
Get the source code
svn co https://source.jasig.org/sandbox/self-service-accounts-portlet/trunk ./trunk
Manually install FreeTTS dependency into your local Maven repository
Alternatively, point at MVN repo for this project
Instead of you having to manually install this .jar, it should be installed into a Jasig maven repository. That hasn't been done yet.
TODO: install this dependency into a Jasig maven repository
Download FreeTTS from http://sourceforge.net/projects/freetts/files/FreeTTS/FreeTTS%201.2.1/freetts-1.2.1-bin.zip/download
Extract the archive.
Locate freetts.jar
Install it with this command:
$ mvn install:install-file -DgroupId=com.sun.speech.freetts -DartifactId=freetts -Dversion=1.2.1 -Dpackaging=jar -Dfile=/path/to/file
where "/path/to/file is the path to the freetts.jar
This will install the jar file into your environment's Maven repository, which by default is in a ".m2" directory in your home directory.
Build the source code to produce a war file
In the /trunk directory you checked out, run
$ mvn install
This will create a "target" directory and inside of that directory will be an AccountRegistrationPortlet.war
Install uPortal
The instructions in Cris Holdorph's blog post, e.g., walk you through this.
Deploy the portlet into uPortal
In the uPortal source directory, with build.properties properly configured, run
ant deployPortletApp -DportletApp=/path/to/AccountRegistrationPortlet.war
where /path/to/AccountRegistrationPortlet.war addresses the AccountRegistrationPortlet.war you built into that target directory.
Publish the portlet
Log in to uPortal as an administrator (default: admin/admin)
Use the Portlet Manager (default: link at right) and step through the portlet publication workflow to publish a new Portlet. Select the AccountRegistrationPortlet application's account creation portlet as the portlet you'd like to publish.
Add the portlet to a layout
If you were doing this for real, you'd want to add it to the "guest" layout such that not-logged-in users can use it. Since it's just in demo mode at this point and not integrated with uPortal's account management or LDAP, you can subscribe this portlet anywhere you like.
What you have to do for this portlet to be at all useful to you
TODO: Document how to make this portlet useful
Directions for further effort
TODO: Document glorious ideas for the further evolution of this portlet'
- Submit this portlet for Jasig portlet incubation
- Get an issue tracker so it's easier to track desired features in and versions of this portlet