Difference between revisions of "PT Profile v2 Install"
(→Site Configuration) |
|||
(14 intermediate revisions by the same user not shown) | |||
Line 76: | Line 76: | ||
== Subsites == | == 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 === | === Web Admin === | ||
Line 84: | Line 86: | ||
# Configure the ''/webadmin/profiles/'' subsite Content Security to give permissions to the group of administrators who will manage the Photos. | # Configure the ''/webadmin/profiles/'' subsite Content Security to give permissions to the group of administrators who will manage the Photos. | ||
# Create a new subsite under ''/webadmin/profiles/'' called ''forms''. | # Create a new subsite under ''/webadmin/profiles/'' called ''forms''. | ||
+ | # '''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 [[PT_Profile_Roles|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 [[PT_Profile_Roles|Profile Roles]]. The subsite ID is stored in the [[PT_Profile_Site_Configuration|Site Configuration]] for the [[PT_Profile_Roles|Profile Roles]]. | ||
+ | |||
+ | Once the subsite is in place for the profile pages then update the [[PT_Profile_Site_Configuration|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. | ||
− | + | # 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 [[PT_Profile_Roles|Profile Roles]] in the previous step). | |
− | # Create a | + | # 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. | ||
+ | ## Ignore the error message for 'Error: Error evaluating a user-defined expresssion'. | ||
+ | # 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 [[PT_Profile Site Configuration|Site Configuration]]. Get the pageid for this page and update the <TEMPLATE_ID> tag value with the pageid for the [[PT_Profile_Roles|Profile Roles]]. | ||
− | + | [[Reset ADF|Reset the ADF]] for the server and site. | |
+ | == CCAPI == | ||
+ | The Profile Application uses the [[CCAPI|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|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_Config|CCAPI Configuration]] is a member of the Site Administrators group. | ||
− | == | + | === Setup === |
+ | # 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. | ||
+ | # 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. | ||
+ | # Edit the 'ccapi.xml' file for the site and add the following xml block into the <elements> section: | ||
+ | <source lang="xml"> | ||
+ | <Profile> | ||
+ | <pageID>#####</pageID> | ||
+ | <subsiteID>##</subsiteID> | ||
+ | <elementType>custom</elementType> | ||
+ | <controlName>ccapiProfileElement</controlName> | ||
+ | </Profile> | ||
+ | </source> | ||
+ | |||
+ | # To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapi' 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: | ||
+ | <source lang="java"> | ||
+ | var jsSubSiteID = ##; | ||
+ | </source> | ||
+ | # Identify the following line in the source code and enter this numeric value into the <pageID> tag: | ||
+ | <source lang="java"> | ||
+ | var jsPageID = ####; | ||
+ | </source> | ||
+ | [[Reset ADF|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'' | ||
+ | ### Change the header text to "Edit/Delete/View". | ||
+ | # Edit the datasheet layout | ||
+ | ## Set default sorting to "User ID" field and "Ascending". | ||
+ | ## Set the Results Per Page to "50". | ||
+ | ## Uncheck "Show Alphabet Characters for Filtering" | ||
+ | ## Uncheck "Allow JavaScript data sorting" | ||
+ | # Click ''Finish''. | ||
+ | # In the Header field, clear out the text and leave the text field blank. Click ''Finish''. | ||
+ | # 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. | ||
− | + | # Create a new page from the Blank Layout template called 'Delete Profile' in the ''/webadmin/profile/forms/'' 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 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>/webadmin/profile/forms/Delete-Profile.cfm</DELETE_URL> | ||
+ | </source> | ||
− | == | + | == 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'. 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 [[PT_Profile_v2_Install#Site_Configuration|Site Configuration]]. Get the URL for this page and update the <DASHBOARD_URL> tag value with this page URL. | ||
+ | <source lang="xml"> | ||
+ | <DASHBOARD_URL>/profiles/Profile-Dashboard.cfm</DASHBOARD_URL> | ||
+ | </source> | ||
== Reset the ADF == | == Reset the ADF == |
Latest revision as of 17:17, 23 October 2011
Contents
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");
- Reset the ADF for the server and site.
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:
- Profile (Profile-Custom-Element.zip)
- Profile Gallery (Profile-Gallery-Custom-Element.zip)
Import Metadata form:
- 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:
- 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.
- 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.
- 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.
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
- Create a new subsite under the site root called webadmin.
- Create a new subsite under /webadmin/ called profiles.
- Configure the /webadmin/profiles/ subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'.
- Configure the /webadmin/profiles/ subsite Content Security to give permissions to the group of administrators who will manage the Photos.
- Create a new subsite under /webadmin/profiles/ called forms.
- 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.
- 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).
- 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.
- Ignore the error message for 'Error: Error evaluating a user-defined expresssion'.
- 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.
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
- 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.
- 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.
- 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>
- To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapi' 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:
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
- Change the header text to "Edit/Delete/View".
- Select the column field UniqueID and then the edit button.
- Edit the datasheet layout
- Set default sorting to "User ID" field and "Ascending".
- Set the Results Per Page to "50".
- Uncheck "Show Alphabet Characters for Filtering"
- Uncheck "Allow JavaScript data sorting"
- Click Finish.
- In the Header field, clear out the text and leave the text field blank. Click Finish.
- 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.
- Create a new page from the Blank Layout template called 'Delete Profile' in the /webadmin/profile/forms/ 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 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.
- 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.
- 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
Reset the ADF for the server and site.