PT Profile v3.1 Install
Back to PT Profiles
NOTE: v3.1 of this application is compatible with both ADF 1.8.x and ADF 2.0.
Contents
Download
Download the Profile Application from the Community Site Project or from the SVN Repository.
Extract the zip files into the following directory: /ADF/apps/pt_profile/
Site Configuration
The Profile Application is built within the ADF. The ADF must be installed in the site to run the Profile Application, follow the ADF Installation instructions.
- Open the sites 'ADF.cfc' ( See Site Configuration (ADF.cfc) for more details) file (/_cs_apps/ADF.cfc) in a text editor.
- Locate the Load the ADF Application into application space comment in the file.
- Add (or uncomment) the following command under the comment section:
loadApp("ptProfile");
- Reset the ADF for the server and site.
The Profile Application uses an XML file to manage the site specific configurations. The Profile Application needs to know what the profile element name, unique field, roles, subsite ids, and template ids for the site.
The fields for the Profile Configuration custom element are defined below.
To allow each site to have its own configuration for the Profile:
- Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.
- Place a file in this directory called "ptProfile.xml". This file can be found in the /pt_profile/site-files/_cs_apps/config/ptProfile.xml.
- Verify the tag field data with the descriptions of the tags below.
- We will come back to this configuration file later to populate the data.
XML Tags
The following are the tags of the Profile XML Config file:
- CE_NAME - The profile custom element name within the site.
- CE_ID_FIELD - The field ID within the profile custom element that stores the username.
- ROLES - structure identifies the roles available to the profile element for the site. Each role sub tag is the name of the role throughout the site.
- SUBSITE_ID - Specifies the subsite ID that profile pages for the role will be created in.
- TEMPLATE_ID - Specifies the template ID that profile pages for the role will be created with.
- DASHBOARD_URL - Site relative URL for the Profile Dashboard page.
- LB_WIDTH - Width for the profile edit form lightbox.
- LB_HEIGHT - Height for the profile edit form lightbox.
- JQUERY_UI_THEME - JQuery UI Theme to use throughout the application.
Import Custom Elements
The Profile App has several Custom Components defined within CommonSpot. These components are available in the Profiles's "exported-objects" folder located at the root of the Profile application directory (e.g. /ADF/apps/pt_profile/exported-objects/)
To import these objects, you will need to be an administrator for your site.
Create a "Profile Elements" category and import all portions of each component in the order listed.
Import Custom Element:
- Profile (Profile-Custom-Element.zip)
- Profile Gallery (Profile-Gallery-Custom-Element.zip)
Import Metadata:
- Profiles (profiles-Metadata-Form.zip)
Verify Imports
The imported components' render handlers and custom field types must be verified. During the import process, the render handler and custom field types paths may have been changed to reflect the current site's path.
Review and update these paths to reference the ADF path. In most cases, this will just require to be unlocked and a change in the path from the site name to 'ADF'. Check the paths for the custom field types that were imported with the custom elements by unlocking them and fixing the explicit paths to point to "/ADF/extensions/".
If the custom elements that are imported contain custom field types that are already in the site, the naming convention for the custom field type will be unique. To resolve this, unlock the field types and elements, and reassign the element field type to the pre-existing field type.
Example: The Photo Category custom element contains two uses of the General Chooser field type, if the General Chooser field type is already installed on the site then the import process will attempt to import another General Chooser but with a new name such as "General Chooser_import_1250003208472." To resolve this issue, open the custom element and assign the field type (General Chooser_import_1250003208472) to the field type with the simple name General Chooser. After reassigning the field type, delete the new imported field from the list of custom field types.
Security Settings
During the import, field permissions may have been cleared or assigned to an unknown group. The following custom element and metadata form fields should have explicit security settings:
- Profile Custom Element
- User ID - Field has Read/Edit permissions to the Site Administrators group. Read permissions for Anonymous and Authenticated Users groups.
- Profiles Metadata Form (the metadata form will need to be unlocked to change the field security settings)
- Type - Field has Read permissions to the Site Administrators group.
- User ID - Field has Read permissions to the Site Administrators group.
- UniqueID - Field has Read permissions to the Site Administrators group.
For additional details on field security, view the Profile Element and Profiles Metadata Form wiki pages.
Subsites
It is highly recommended to create a Profile Web Admin subsite for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin.
Your site may already have a webadmin subsite. The steps below will add a profile subsite into the webadmin subsite.
Web Admin
- Create a new subsite under the site root called webadmin.
- Create a new subsite under webadmin called profile.
- Configure the /webadmin/profile/ subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'.
- Configure the /webadmin/profile/ subsite Content Security to give permissions to the group of administrators who will manage the Profiles.
Profiles
The subsite for the profile pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. This subsite will correspond to a Profile Role. This means that all the profile pages created for this role will live in this subsite.
If you don't have a specific subsite then create a Profiles subsite under the site root.
The subsite for the profile pages is configured through the Profile Roles. The subsite ID is stored in the Site Configuration for the Profile Roles.
Once the subsite is in place for the profile pages then update the Site Configuration with the subsite ID for the profile role.
Templates
Profile Template
The Profile Template is the template that all the profile pages are created from. To construct your Profiles Template complete the following steps.
- Create a CommonSpot page called 'Profile' from the Base Plus One template. (The subsite for this is not critical but it is a good idea to create this page in a subsite that has been created for the Profile Roles).
- Place the Profile Custom Element on this page.
- Click Render Mode in the element interface.
- Select Display existing element data (content reuse) on the Rendering Mode tab.
- Select the Filter tab.
- Select Filter Type to Show subset of records.
- Select the field drop-down as the uniqueID field.
- Select the operator as Equals.
- Click the '...' button to open the ColdFusion expression window.
- Enter the text request.page.metadata.profiles.uniqueid as the expression and check the force cache checkbox. Click OK and then check the box to Ignore ColdFusion error, then click OK.
- Click OK on the render mode window.
- Click More in the element interface. Then the Custom Render Handlers menu option, and choose the Full Page Render Handler.
- Submit Page and then Save as Template.
- Remember to submit the template for public use.
- Go to the CommonSpot Site Administration and bind the Profiles metadata form to this new Profile Template.
Update Profile Site Config
This template will be used to create profile pages. Update the pt_profile.xml config file that we setup in Site Configuration. Get the pageid for this page and update the <TEMPLATE_ID> tag value with the pageid for the Profile Roles.
CCAPI Configuration
The Profile Application uses the ADF CCAPI to populate profile records and create profile pages. This needs to be configured for the site and profile app.
Follow the steps to setup the CCAPI Config file for the site if this is not done. Once this is completed, follow the steps below to setup the CCAPI config for the Profile App. Make sure to update the wsVars section with the correct URL's and username/password.
Important: Make sure that the CommonSpot user account in the CCAPI Configuration is a member of the Site Administrators group.
- Create a new page called 'ccapiProfile'. Recommend creating this page in the /webadmin/profile/ subsite.
- Add the 'Profile' element to the page.
- Select the 'Profile' element indicator and go to 'more...'. Select 'Name' from the menu.
- In the Element Name field, enter the text 'ccapiProfileElement'.
- Publish this page and put in read mode (aka "View Page as Published").
- Edit the 'ccapi.cfm' file for the site and add the following xml block into the <elements> section:
<Profile>
<pageID>#####</pageID>
<subsiteID>##</subsiteID>
<elementType>custom</elementType>
<controlName>ccapiProfileElement</controlName>
</Profile>
- To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapiProfile' page that was just created.
- Identify the following line in the page's source code and enter this numeric value into the <subsiteID> tag in the ccapi.cfm config file:
var jsSubSiteID = ##;
- Identify the following line in the source code and enter this numeric value into the <pageID> tag:
var jsPageID = ####;
Reset the ADF for the server and site.
Admin Datasheet
The Profile element is a global custom element. Data for global custom elements can be easily managed with Datasheets. The following sections describe how to configure a simple management page.
- Create a page from the Base Plus One titled 'Manage Profiles' with the page name 'index' in the /webadmin/profile/ subsite.
- In the body of the page, add a Custom Script element.
- From the Custom Script element interface, click the Edit icon.
- Enter the following text into the Explicit Module path: /ADF/apps/pt_profile/customcf/profile_admin_ds.cfm
- From the Datasheet element interface, click the Datasheet icon.
- From the Datasheet Views dialog, select the Click here to create a new datasheet view text.
- Enter the following information and then click Next:
- Name: All Profiles
- Private: unchecked
- Default View: unchecked
- Description: View to manage all of the profiles
- Datasheet Source: Form Result/Custom Element Sheet
- From the Datasheet Source dialog, choose the Profile custom element and click Next.
- From the Datasheet Columns dialog, choose a few columns from the Available Columns list and move them to the Selected Columns list. Select the following fields in this order UniqueID, UserID, firstname, lastname, and email as the first field to display in the table and then click Finish.
- You will be brought to the Datasheet View page. Click Close to return to your page.
- You will now see the datasheet element on this page. Click the Datasheet element interface icon again and this time choose Edit Columns.
- Select the column field UniqueID and then the edit button.
- In the Render Handler field, select the Change button. Enter the following value into the Explicit Module text box: /ADF/apps/pt_profile/datasheet-modules/datasheet-action-edit-delete-view.cfm
- Click Finish.
- In the Header field, clear out the text and leave the text field blank. Click Finish.
- Publish this page.
Profile Dashboard
Profile Dashboard is used as a profile overview page for a single user. This is a custom script that gathers information for the user logged in and renders the profile info, edit link, and profile role pages.
To configure the detail viewing page, complete the following steps.
- Create a new page from the Base Plus One Template called 'Profile Dashboard'. This page can be created in any subsite (not specifically the profileadmin subsite). The page does need to be accessible by all users, therefore the best place is at the root or in the Profiles subsite.
- In the content area of the page place the Custom Script element.
- Click the element indicator and select the Edit button.
- In the Explicit Module path, enter the following path: /ADF/apps/pt_profile/customcf/profile_dashboard.cfm
- Publish the page.
Update Profile Site Config
This page will be used to add new profile records. Update the ptProfile.xml config file that we setup in Site Configuration. Get the URL for this page and update the <DASHBOARD_URL> tag value with this page URL.
<DASHBOARD_URL>/profiles/Profile-Dashboard.cfm</DASHBOARD_URL>
Reset the ADF for the server and site.