PT Profile v2 Install

From ADF Docs
Jump to: navigation, search

Extract Photo Gallery Application

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/

ADF 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");

Import 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/)

Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT Profile Elements'.

To import these objects, you will need to be an administrator for your site. If you are not a site administrator, consult your Server administrator for more information.

Import

Import Custom Elements in this order:

  1. Profile (Profile-Custom-Element.zip)
  2. Profile Gallery (Profile-Gallery-Custom-Element.zip)

Import Metadata form:

  1. 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.

Site Configuration

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.

Steps

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:

  1. CE_NAME - The profile custom element name within the site.
  2. CE_ID_FIELD - The field ID within the profile custom element that stores the username.
  3. 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.
    1. SUBSITE_ID - Specifies the subsite ID that profile pages for the role will be created in.
    2. TEMPLATE_ID - Specifies the template ID that profile pages for the role will be created with.
  4. ADD_URL - Site relative URL for the Profile Add page.
  5. DELETE_URL - Site relative URL for the Profile Delete page.
  6. DASHBOARD_URL - Site relative URL for the Profile Dashboard page.
  7. LB_WIDTH - Width for the profile edit form lightbox.
  8. LB_HEIGHT - Height for the profile edit form lightbox.
  9. JQUERY_UI_THEME - JQuery UI Theme to use throughout the application.

Subsites

It is highly recommended that a Profile webadmin subsite is created for Administrators and a forms subsite for the lightbox dialogs. This configuration allows subsite security to be used to allow only Administrators access to the webadmin subsite and also allows the CS toolbar to be turned off for the lightbox pages (for CommonSpot 5.x).

Your site may already have a webadmin subsite. The steps below will add a profiles and forms subsites under the webadmin subsite.

Web Admin

  1. Create a new subsite under the site root called webadmin.
  2. Create a new subsite under /webadmin/ called profiles.
  3. Configure the /webadmin/profiles/ subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'.
  4. Configure the /webadmin/profiles/ subsite Content Security to give permissions to the group of administrators who will manage the Photos.
  5. Create a new subsite under /webadmin/profiles/ called forms.
  6. Important: If the photo gallery is open for site users to add/edit photos then configure the /webadmin/profiles/forms/ subsite Content Security to give permissions to 'Anonymous Users' and 'Authenticated Users'.

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

The Profile Template is the template that all the profile pages are created from. To construct your Profiles Template complete the following steps.

  1. Create a CommonSpot page called 'Profile' from the Base Plus One template. (The subsite for this is important. Create this page in a subsite that has been created for the Profile Roles in the previous step).
  2. Place the Profile Custom Element on this page.
  3. Click Render Mode in the element interface.
  4. Select Display existing element data (content reuse) on the Rendering Mode tab.
  5. Select the Filter tab.
  6. Select Filter Type to Show subset of records.
  7. Select the field drop-down as the uniqueID field.
  8. Select the operator as Equals.
  9. Click the '...' button to open the ColdFusion expression window.
  10. 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.
  11. Click OK on the render mode window.
    1. Ignore the error message for 'Error: Error evaluating a user-defined expresssion'.
  12. Click More in the element interface. Then the Custom Render Handlers menu option, and choose the Full Page Render Handler.
  13. Submit Page and then Save as Template.
  14. Remember to submit the template for public use.
  15. 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.

Reset the ADF for the server and site.

CCAPI

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.

Setup

  1. Create a new page called 'ccapi' under the root subsite and from the base plus one template. When creating the page, disable the standard metadata 'Include In' fields for 'Page Indexes' and 'Full Text and Search Element Results'. This page may already exist within your site, if it does, then continue to the next steps.
  2. Add the 'Profile' element to the page.
  3. Select the 'Profile' element indicator and go to 'more...'. Select 'Name' from the menu.
  4. In the Element Name field, enter the text 'ccapiProfileElement'.
  5. Publish this page and put in read mode.
  6. Edit the 'ccapi.xml' 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>
  1. To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapi' page that was just created.
  2. Identify the following line in the page's source code and enter this numeric value into the <subsiteID> tag in the ccapi.xml config file:
var jsSubSiteID = ##;
  1. 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.

  1. Create a page from the Base Plus One titled 'Manage Profiles' with the page name 'index' in the /webadmin/profile/ subsite.
  2. In the body of the page, add a Custom Script element.
  3. From the Custom Script element interface, click the Edit icon.
  4. Enter the following text into the Explicit Module path: /ADF/apps/pt_profile/customcf/profile_admin_ds.cfm
  5. From the Datasheet element interface, click the Datasheet icon.
  6. From the Datasheet Views dialog, select the Click here to create a new datasheet view text.
  7. Enter the following information and then click Next:
    1. Name: All Profiles
    2. Private: unchecked
    3. Default View: unchecked
    4. Description: View to manage all of the profiles
    5. Datasheet Source: Form Result/Custom Element Sheet
  8. From the Datasheet Source dialog, choose the Profile custom element and click Next.
  9. 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.
  10. You will be brought to the Datasheet View page. Click Close to return to your page.
  11. You will now see the datasheet element on this page. Click the Datasheet element interface icon again and this time choose Edit Columns.
    1. Select the column field UniqueID and then the edit button.
      1. 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
      2. Change the header text to "Edit/Delete/View".
  12. Edit the datasheet layout
    1. Set default sorting to "User ID" field and "Ascending".
    2. Set the Results Per Page to "50".
    3. Uncheck "Show Alphabet Characters for Filtering"
    4. Uncheck "Allow JavaScript data sorting"
  13. Click Finish.
  14. In the Header field, clear out the text and leave the text field blank. Click Finish.
  15. Publish this page.

Admin Delete

The Delete Profile Page is a lightbox page used to delete profiles.

Follow these steps to configure the link and page for delete profiles.

  1. Create a new page from the Blank Layout template called 'Delete Profile' in the /webadmin/profile/forms/ subsite.
  2. In the body of the page, add a Custom Script element.
  3. From the Custom Script element interface, click the Edit icon.
  4. Enter the following text into the Explicit Module path: /ADF/apps/pt_profile/customcf/handle_profile_delete.cfm
  5. Publish the page.

Update Profile Site Config

This page will be used to delete profile records. Update the ptProfile.xml config file set up during Site Configuration. Get the URL for this new page and update the <DELETE_URL> tag value with the page URL.

<DELETE_URL>/webadmin/profile/forms/Delete-Profile.cfm</DELETE_URL>

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.

  1. Create a new page from the Base Plus One Template called 'Profile Dashboard'. The page does need to be accessible by all users, therefore the best place is at the root or in the Profiles subsite.
  2. In the content area of the page place the Custom Script element.
  3. Click the element indicator and select the Edit button.
  4. In the Explicit Module path, enter the following path: /ADF/apps/pt_profile/customcf/profile_dashboard.cfm
  5. 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

Reset the ADF for the server and site.