Difference between revisions of "PT Profile Version 2.0 Install"

From ADF Docs
Jump to: navigation, search
(Created page with '== Download == Download the Profile Application from the [http://community.paperthin.com/projects/pt_profile/index.cfm Community Site Project] or from the SVN Repository. Extr…')
 
(CCAPI Configuration)
 
(8 intermediate revisions by 3 users not shown)
Line 31: Line 31:
 
## '''SUBSITE_ID''' - Specifies the subsite ID that profile pages for the role will be created in.
 
## '''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.
 
## '''TEMPLATE_ID''' - Specifies the template ID that profile pages for the role will be created with.
# '''ADD_URL''' - Site relative URL for the Profile Add page.
 
# '''DELETE_URL''' - Site relative URL for the Profile Delete page.
 
 
# '''DASHBOARD_URL''' - Site relative URL for the Profile Dashboard page.
 
# '''DASHBOARD_URL''' - Site relative URL for the Profile Dashboard page.
 
# '''LB_WIDTH''' - Width for the profile edit form lightbox.
 
# '''LB_WIDTH''' - Width for the profile edit form lightbox.
 
# '''LB_HEIGHT''' - Height 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.
 
# '''JQUERY_UI_THEME''' - JQuery UI Theme to use throughout the application.
 
== Styles ==
 
There are several out of the box style options for the Profile application. These styles are defined in the style sheet located within the ADF Profile App directory:
 
 
* /ADF/apps/pt_profile/style/profile.css
 
 
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Profile Templates you create.
 
 
Best practice is to load this style sheet from the following path ''/ADF/apps/pt_profile/style/profile.css'' and not bring down to the site style directory (''/site/style/'').
 
 
'Note:' the classes and styles defined for the Profiles are targeted tightly for the layout generated by the Profile application and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your style definitions.
 
  
 
== Import Custom Elements ==
 
== Import Custom Elements ==
Line 53: Line 40:
  
 
To import these objects, you will need to be an administrator for your site.  
 
To import these objects, you will need to be an administrator for your site.  
 
== Import ==
 
  
 
Create a "Profile Elements" category and import all portions of each component in the order listed.
 
Create a "Profile Elements" category and import all portions of each component in the order listed.
Line 90: Line 75:
  
 
== Subsites ==
 
== Subsites ==
It is '''highly recommended''' to create a Profile Web Admin subsite for administrators and a Profile Lightbox subsite for the lightbox pages.  This allows security to be setup for the subsite to allow only administrators access for the webadmin and the CS toolbar turned off for the lightbox pages.
+
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'' and/or ''lightbox'' subsite.  The steps below will add a ''profile'' subsite into the ''webadmin'' and ''lightbox'' subsites.
+
Your site may already have a ''webadmin'' subsite.  The steps below will add a ''profile'' subsite into the ''webadmin'' subsite.
  
 
=== Web Admin ===
 
=== Web Admin ===
Line 99: Line 84:
 
# 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 '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.
 
# Configure the ''/webadmin/profile/'' subsite Content Security to give permissions to the group of administrators who will manage the Profiles.
 
=== Lightbox ===
 
# Create a new subsite under the site root called ''lightbox''.
 
# Create a new subsite under ''lightbox'' called ''profile''.
 
  
 
=== Profiles ===
 
=== Profiles ===
Line 114: Line 95:
  
 
== Templates ==
 
== Templates ==
=== Lightbox Template ===
 
The Lightbox template will be used to render pages within a lightbox.  The Lightbox template may already exist on your site if you have installed another ADF application.  Check your sites templates before following the steps below to create the template.
 
 
# Create a new page named ''Lightbox Template'' from the ''Blank Layout Template'' in the Lightbox subsite.
 
# Submit and activate the page.
 
# Save the page as a template.
 
# Submit the template for public use.
 
 
 
=== Profile Template ===
 
=== Profile Template ===
 
The Profile Template is the template that all the profile pages are created from.
 
The Profile Template is the template that all the profile pages are created from.
Line 156: Line 129:
 
# Select the 'Profile' element indicator and go to 'more...'.  Select 'Name' from the menu.
 
# Select the 'Profile' element indicator and go to 'more...'.  Select 'Name' from the menu.
 
# In the Element Name field, enter the text 'ccapiProfileElement'.
 
# In the Element Name field, enter the text 'ccapiProfileElement'.
# Publish this page and put in read mode.
+
# Publish this page and put in read mode (aka "View Page as Published").
# Edit the 'ccapi.xml' file for the site and add the following xml block into the <elements> section:
+
# Edit the 'ccapi.cfm' file for the site and add the following xml block into the <elements> section:
 
<source lang="xml">
 
<source lang="xml">
 
<Profile>
 
<Profile>
Line 168: Line 141:
 
    
 
    
 
# To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapiProfile' page that was just created.   
 
# 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.xml config file:
+
# 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:
 
<source lang="java">
 
<source lang="java">
 
var jsSubSiteID = ##;
 
var jsSubSiteID = ##;
Line 178: Line 151:
  
 
[[Reset ADF|Reset the ADF]] for the server and site.
 
[[Reset ADF|Reset the ADF]] for the server and site.
 
== Admin Add ==
 
The Profile Admin Add Page is a lightbox page to allow administrators to create new profiles.
 
 
Follow these steps to configure the link and page for adding profiles.
 
 
# Create a new page from the Lightbox template called 'Add Profile' in the ''/lightbox/profile/'' subsite. 
 
# In the main content 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/handle_profile_add.cfm''
 
# From the Simple Form element interface icons, choose the ''Select Form'' icon.
 
# In the Create/Select Simple Form dialog, choose the ''Select Simple Form/Custom Element'' option and click ''next''.
 
# From the Select Form/Custom Element dialog, choose the ''Profile'' custom element and click ''Finish''.
 
# Within the ''Manage Simple Form Element'' dialog, enter the following information:
 
## Name: (leave as is)
 
## Email Notification Recipients: if you would like to receive an e-mail whenever an event is added place your e-mail in here. (optional)
 
## Sender's Email Address: leave checked
 
## Anonymous Sender's Email Address: if needed, add an anonymous email address
 
## Form Action: choose ''Display Textblock on Submission'' option and add 'Profile successfully created!' text in the RTE. 
 
## Select Finish, then Finish again.
 
# 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 [[PT_Profile Site Configuration|Site Configuration]].  Get the URL for this page and update the <ADD_URL> tag value with this page URL. 
 
<source lang="xml">
 
<ADD_URL>/lightbox/profile/Add-Profile.cfm</ADD_URL>
 
</source>
 
 
== 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.
 
 
# Create a new page from the Lightbox template called 'Delete Profile' in the ''/lightbox/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/handle_profile_delete.cfm''
 
# 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 [[PT_Profile Site Configuration|Site Configuration]].  Get the URL for this new page and update the <DELETE_URL> tag value with the page URL. 
 
<source lang="xml">
 
<DELETE_URL>/lightbox/profile/Delete-Profile.cfm</DELETE_URL>
 
</source>
 
  
 
== Admin Datasheet ==
 
== Admin Datasheet ==

Latest revision as of 17:22, 10 December 2012

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

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:

  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. DASHBOARD_URL - Site relative URL for the Profile Dashboard page.
  5. LB_WIDTH - Width for the profile edit form lightbox.
  6. LB_HEIGHT - Height for the profile edit form lightbox.
  7. 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:

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

Import Metadata:

  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.

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

  1. Create a new subsite under the site root called webadmin.
  2. Create a new subsite under webadmin called profile.
  3. Configure the /webadmin/profile/ subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'.
  4. 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.

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

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.

  1. Create a new page called 'ccapiProfile'. Recommend creating this page in the /webadmin/profile/ subsite.
  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 (aka "View Page as Published").
  6. 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>
  1. To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapiProfile' 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.cfm 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.
  12. Select the column field UniqueID and then the edit button.
  13. 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
  14. Click Finish.
  15. In the Header field, clear out the text and leave the text field blank. Click Finish.
  16. 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.

  1. 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.
  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 for the server and site.