The ProfileTools
service is a very useful component because it implements many different pieces of functionality related to the Repository API. In addition, it has references to the other globally-scoped Open Profile Adapter services. It includes a reference to the current Profile repository through the profileRepository
property. If you need access to the global profile services within your own components, it usually makes sense to have your own classes include a property reference to the ProfileTools
object. From this object, you can access all other facilities. Alternatively, you can keep specific properties in your components (for example just a MutableRepository
property), but you must define the source of your property to link to the ProfileTools's
property reference.
This service provides methods that deal with the session-scoped Profile
object and also contains lower-level, repository-specific helper methods. The class defines methods for locating users by login or user ID, creating users, and updating properties of profiles. These methods save the developer time because they all use the same Repository APIs. For example, if you need to find a profile based on a login name, normally you would have to do the following:
fetch the
RepositoryView
that contains the userbuild a query object to perform a comparison between the supplied user name and the login profile property
execute the query
That logic sequence is written already, and you can access it with a single method call from the ProfileTools
component.
Note that a similar implementation of this service exists for the internal profile repository: /atg/userprofiling/InternalProfileTools
.