Arckventures in Elgg Dev #1: Extending the profile manager plugin with roles.

This is the first in a series of articles that Arck’s crew will create on a semi-regular basis. Our intention is to share our experiences customizing the popular open-source platform Elgg, both in terms of UI, functionality and integration.

We begin with Profile Manager. Profile Manager by ColdTrick is arguably one of the most useful and most used GPL plugins for Elgg. Versatile, user-friendly and well engineered, this plugin provides a unique profile management framework, which is much needed by many Elgg-powered sites.

Shortly after the release of Arck’s Roles framework, it was clear to all that there is a necessity to ‘marry’ these two independent frameworks. The goals was to make Profile Manager aware of existing user roles, so that site administrators could manage and create role-specific profile types with corresponding categories and profile fields.

At its present state the bridge plugin creates a seamless synchronisation of roles and profile types. Changes in profile types trigger a change in user’s role, and vice versa.  While the roles framework, mainly concentrates on permissions of logged in users, the bridge allows to control what information is rendered based on the profile owner.

With some minor extensions this allows an novice administrator to greatly improve the registration experience, where specific sets of fields can be required for various roles. For example you wouldn’t want to request ‘Years of teaching experience’ from a user registering as a student, and you wouldn’t want to ask Professors for their ‘Current year of Bachelor’s studies’.

The marriage of Arck’s roles framework and Coldtrick’s profile manager gives Elgg administrator complete control over who can view and edit what content, anywhere on the site. This beings Elgg closer than ever to being truly ACL capable.

Arck’s “roles” and role-enabled “profile manager” plugins are GPL’d and available for download on our Elgg community profile, here:

Written by: Ismayil Khayredinov

Comments are closed here.