PT Profile Roles
Overview
Profile roles are set up through the Site Configuration and ProfileRoles Component. These roles establish permissions for the profile and determines which subsites and/or templates the profile page will be derived from. This configuration allows the same profile information to be used for multiple displays throughout the site.
Profile roles will differ depending on the purpose of the application. For example, if the profiles were implemented in an educational institution, roles could be 'student', 'faculty', and 'staff;' if implemented for healthcare, the roles could be 'doctor', 'surgeon', 'nurse', and 'staff.'
Customizations
Customizing the profile roles is a valuable piece to the profile application. Following the instructions below to add a new role:
- Update the Site Configuration with the new role. Add a new tag under the <ROLES> tag with the name of the role. Next, you'll add the SUBSITE_ID and TEMPLATE_ID tags.
- Populate SUBSITE_ID by creating a new subsite for the profile pages and update the ID in the configuration file. See the Subsites wiki page for additional details.
- Populate TEMPLATE_ID by creating a new template for the profile pages and update the ID in the configuration file. See the Profile Template wiki page for additional details. (Note: This step is optional - you can also use one template for all profile roles.)
- Depending on the complexity of your roles and how many sites are implementing the profile app, you can either update the ProfileRoles Component with the new roles.
- Copy the ProfileRoles Component component from the ADF apps directory to your local site components directory /MySite/_cs_apps/pt_profile/components/profileRoles.cfc.
- In the setRolePermission function, add a new case statement for the role name. Add your logic to set the roles permmission.
- [optional] /ADF/apps/pt_profile/customcf/profile_manager.cfm
- Profile Manager script iterates over the profile roles to display what the logged in user has permissions to access/view. To make a new role render, this needs to be updated manually.