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