http://community.paperthin.com/adf-docs/api.php?action=feedcontributions&user=Ssmith&feedformat=atomADF Docs - User contributions [en]2024-03-28T12:24:26ZUser contributionsMediaWiki 1.29.0http://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media&diff=7746PT Social Media2020-03-05T04:55:22Z<p>Ssmith: </p>
<hr />
<div>== About the Social Media App ==<br />
The Social Media application is built using the [[Overview|Application Development Framework (ADF)]]. <br />
<br />
<!--<br />
IMPORTANT: <br />
v1.x of this application requires '''ADF 1.5''' or greater<br />
v2.x of this application requires '''ADF 1.6''' or greater<br />
--><br />
<br />
== Overview ==<br />
The Social Media application provides a tool to allow your organizations social media live data streams from your Facebook Pages, your Instagram posts, your Twitter accounts and targeted Twitter keyword searches, your YouTube Channels and your WordPress blog posts to be combined in various configurations to be displayed in one or in various strategic locations on your CommonSpot site.<br />
* Any number of supported social media accounts can be setup in the app<br />
* Ready-made render handlers are provided to display your social media streams and can be updated to display your streams in any way you see fit<br />
* Posts can be moderated/filtered using either a blacklist or a whitelist<br />
* Social media feeds can be pulled on a regular basis and cached for display purposes to avoid exceeding API quota limits<br />
<br />
== Requirements ==<br />
ADF Library components that are required for the Calendar application:<br />
* CEData_1_1<br />
* CSData_1_1<br />
* Data_1_1<br />
* Date_1_1<br />
* Forms_1_1<br />
* UI_1_0<br />
* Scripts_1_1<br />
* JSON<br />
* CCAPI<br />
<br />
App v1.2 and higher also requires:<br />
* CSContent_1_0<br />
* Scheduler_1_0<br />
* Utils_1_1<br />
<br />
The ADF 1.5.x must be configured correctly for your site. The [[Site Configuration (ADF.cfc)]] wiki page has instructions for configuration.<br />
<br />
== Contents ==<br />
The Social Media application contains the following:<br />
* Custom Coding - various components and scripts.<br />
<br />
* '''Custom Elements:'''<br />
**[[SocialMedia Selector]] - Custom Element<br />
**[[SocialMedia Filtering]] - Custom Element<br />
**[[Twitter Accounts Keywords]] - Custom Element<br />
**[[WordPress Blogs]] - Custom Element<br />
**[[ptSocialMedia Configuration]] - Custom Element<br />
<br />
* '''Custom Fields:'''<br />
** Video Size Calculator Field<br />
<br />
Note: Elements may contain one or more: Render Handlers or Custom Field Types. They do NOT use Display Templates.<br />
<br />
== Pre-installation Considerations ==<br />
The [[Overview|Application Development Framework (ADF)]] must be setup and configured on the server for the site that will be implementing the Social Media application. For detailed instructions follow the [[Overview|ADF Overview]] wiki page for Site Configurations.<br />
<br />
This installation guide assumes that you have no Custom Elements and/or Metadata Forms with the names above. Before the install, remove any Custom Elements/Metadata Forms with the names listed in the "Contents" section above. (If you do not remove existing elements with these names, you may have difficulties during the installation.)<br />
<br />
<!--<br />
<br />
== Installation/Setup ==<br />
Each of the following steps should be completed fully and in the order presented:<br />
# [[PT Social Media Extract Application|Download/Extract PT Social Media Application]]<br />
# [[PT Social Media ADF Configuration|PT Social Media ADF Configuration]]<br />
# [[PT Social Media Styles|Styles]]<br />
# [[PT Social Media Import Custom Elements|Import Custom Elements]]<br />
# [[PT Social Media Site Configuration|Site Configuration]]<br />
# [[PT Social Media Build Subsites Templates and Pages|Build Subsites, Templates and Pages]]<br />
<br />
--><br />
<br />
<!--<br />
== Features ==<br />
The Social Media application provides the following features:<br />
* [[PT_Social_Media_Facebook_Like|Facebook Like]]<br />
* [[PT_Social_Media_Twitter_Tweet|Twitter Tweet]]<br />
--><br />
<br />
== Installation Guides ==<br />
'''Current ADF 2.5 Release Version:'''<br />
* v3.2:<br />
** [[PT_Social_Media_Version_3.2_Release_Notes|Version 3.2 Release Notes]] <br />
** [[PT_Social_Media_Version_3.2_Install|Version 3.2 Install Guide]]<br />
** [[PT_Social_Media_Version_3.2_Upgrade|Version 3.2 Upgrade Guide]] (from v3.1)<br />
<br />
'''IMPORTANT''': The above versions of this application require '''ADF 2.5''' or greater and '''CommonSpot 10.5.2 or 10.6.1''' or greater.<br />
<br />
'''Previous ADF 2.4.x Versions:'''<br />
* v3.1:<br />
** [[PT_Social_Media_Version_3.1_Release_Notes|Version 3.1 Release Notes]] <br />
** [[PT_Social_Media_Version_3.1_Install|Version 3.1 Install Guide]]<br />
** [[PT_Social_Media_Version_3.1_Upgrade|Version 3.1 Upgrade Guide]] (from v3.0)<br />
<br />
* v3.0:<br />
** [[PT_Social_Media_Version_3.0_Release_Notes|Version 3.0 Release Notes]] <br />
** [[PT_Social_Media_Version_3.0_Install|Version 3.0 Install Guide]]<br />
** [[PT_Social_Media_Version_3.0_Upgrade|Version 3.0 Upgrade Guide]] (from v2.2)<br />
'''IMPORTANT''': The 'ADF 2.4.x Versions' of this application require '''ADF 2.0 to 2.4.x''' and '''CommonSpot 10 up to 10.5.1 or 10.6'''<br />
<br />
'''Previous ADF 1.8 Version:'''<br />
* v2.2:<br />
** [[PT_Social_Media_Version_2.2_Release_Notes|Version 2.2 Release Notes]] <br />
** [[PT_Social_Media_Version_2.2_Install|Version 2.2 Install Guide]]<br />
** [[PT_Social_Media_Version_2.2_Upgrade|Version 2.2 Upgrade Guide]] (from v2.1)<br />
'''IMPORTANT''': v2.x of this application requires '''ADF 1.6''' or greater. '''ADF 1.8.x''' is recommended.<br />
<br />
<br />
'''Previous ADF 1.x Versions:'''<br />
* v2.1:<br />
** [[PT_Social_Media_Version_2.1_Release_Notes|Version 2.1 Release Notes]] <br />
** [[PT_Social_Media_Version_2.1_Install|Version 2.1 Install Guide]]<br />
** [[PT_Social_Media_Version_2.1_Upgrade|Version 2.1 Upgrade Guide]] (from v2.0)<br />
<br />
* v2.0:<br />
** [[PT_Social_Media_Version_2.0_Release_Notes|Version 2.0 Release Notes]] <br />
** [[PT_Social_Media_Version_2.0_Install|Version 2.0 Install Guide]]<br />
** [[PT_Social_Media_Version_2.0_Upgrade|Version 2.0 Upgrade Guide]] (from v1.2)<br />
<br />
'''IMPORTANT''': v2.x of this application requires '''ADF 1.6''' or greater<br />
<br />
* v1.2:<br />
** [[PT_Social_Media_Version_1.2_Release_Notes|Version 1.2 Release Notes]]<br />
** [[PT_Social_Media_Version_1.2_Install|Version 1.2 Install Guide]]<br />
** [[PT_Social_Media_Version_1.2_Upgrade|Version 1.2 Upgrade Guide]] (from v1.0 or v1.1)<br />
<br />
* v1.1<br />
** [[PT_Social_Media_Version_1.1_Release_Notes|Version 1.1 Release Notes]]<br />
** [[PT_Social_Media_Version_1.1_Install|Version 1.1 Install Guide]]<br />
<br />
* v1.0 <br />
** [[PT_Social_Media_Version_1.0_Release_Notes|Version 1.0 Release Notes]]<br />
** [[PT_Social_Media_Version_1.0_Install|Version 1.0 Install Guide]]<br />
<br />
'''IMPORTANT''': v1.x of this application requires '''ADF 1.5''' or greater<br />
<br />
<!--<br />
'''Current Development Build:'''<br />
* v2.3:<br />
** [[PT_Social_Media_Version_2.3_Release_Notes|Version 2.3 Release Notes]] <br />
** [[PT_Social_Media_Version_2.3_Install|Version 2.3 Install Guide]]<br />
** [[PT_Social_Media_Version_2.3_Upgrade|Version 2.3 Upgrade Guide]] (from v2.2)<br />
--><br />
<br />
== Getting Started Guide ==<br />
* [[PT_Social_Media_Getting Started|Getting Started]]<br />
<br />
== Features ==<br />
The social media application provides the following features:<br />
* [[PT_Social_Media_Facebook|Facebook Pages Data Stream]]<br />
* [[PT_Social_Media_Instagram|Instagram Posts Data Stream]]<br />
* [[PT_Social_Media_Twitter|Twitter Accounts and Keywords Data Stream]]<br />
* [[PT_Social_Media_YouTube|YouTube Channels Data Stream]]<br />
* [[PT_Social_Media_WordPress|WordPress Blogs Data Stream]]<br />
<br />
== Known Issues/Bugs ==<br />
Found a bug, view the [http://community.paperthin.com/projects/pt_social_media/issue/ PT Social Media Issues] page. Your issue not on the list? Then post it so the issue can be addressed.<br />
<br />
[[Category:Project]][[Category:Social Media]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media&diff=7745PT Social Media2020-03-05T04:52:35Z<p>Ssmith: </p>
<hr />
<div>== About the Social Media App ==<br />
The Social Media application is built using the [[Overview|Application Development Framework (ADF)]]. <br />
<br />
<!--<br />
IMPORTANT: <br />
v1.x of this application requires '''ADF 1.5''' or greater<br />
v2.x of this application requires '''ADF 1.6''' or greater<br />
--><br />
<br />
== Overview ==<br />
The Social Media application provides a tool to allow your organizations social media live data streams from your Facebook Pages, your Instagram posts, your Twitter accounts and targeted Twitter keyword searches, your YouTube Channels and your WordPress blog posts to be combined in various configurations to be displayed in one or in various strategic locations on your CommonSpot site.<br />
<br />
== Requirements ==<br />
ADF Library components that are required for the Calendar application:<br />
* CEData_1_1<br />
* CSData_1_1<br />
* Data_1_1<br />
* Date_1_1<br />
* Forms_1_1<br />
* UI_1_0<br />
* Scripts_1_1<br />
* JSON<br />
* CCAPI<br />
<br />
App v1.2 and higher also requires:<br />
* CSContent_1_0<br />
* Scheduler_1_0<br />
* Utils_1_1<br />
<br />
The ADF 1.5.x must be configured correctly for your site. The [[Site Configuration (ADF.cfc)]] wiki page has instructions for configuration.<br />
<br />
== Contents ==<br />
The Social Media application contains the following:<br />
* Custom Coding - various components and scripts.<br />
<br />
* '''Custom Elements:'''<br />
**[[SocialMedia Selector]] - Custom Element<br />
**[[SocialMedia Filtering]] - Custom Element<br />
**[[Twitter Accounts Keywords]] - Custom Element<br />
**[[WordPress Blogs]] - Custom Element<br />
**[[ptSocialMedia Configuration]] - Custom Element<br />
<br />
* '''Custom Fields:'''<br />
** Video Size Calculator Field<br />
<br />
Note: Elements may contain one or more: Render Handlers or Custom Field Types. They do NOT use Display Templates.<br />
<br />
== Pre-installation Considerations ==<br />
The [[Overview|Application Development Framework (ADF)]] must be setup and configured on the server for the site that will be implementing the Social Media application. For detailed instructions follow the [[Overview|ADF Overview]] wiki page for Site Configurations.<br />
<br />
This installation guide assumes that you have no Custom Elements and/or Metadata Forms with the names above. Before the install, remove any Custom Elements/Metadata Forms with the names listed in the "Contents" section above. (If you do not remove existing elements with these names, you may have difficulties during the installation.)<br />
<br />
<!--<br />
<br />
== Installation/Setup ==<br />
Each of the following steps should be completed fully and in the order presented:<br />
# [[PT Social Media Extract Application|Download/Extract PT Social Media Application]]<br />
# [[PT Social Media ADF Configuration|PT Social Media ADF Configuration]]<br />
# [[PT Social Media Styles|Styles]]<br />
# [[PT Social Media Import Custom Elements|Import Custom Elements]]<br />
# [[PT Social Media Site Configuration|Site Configuration]]<br />
# [[PT Social Media Build Subsites Templates and Pages|Build Subsites, Templates and Pages]]<br />
<br />
--><br />
<br />
<!--<br />
== Features ==<br />
The Social Media application provides the following features:<br />
* [[PT_Social_Media_Facebook_Like|Facebook Like]]<br />
* [[PT_Social_Media_Twitter_Tweet|Twitter Tweet]]<br />
--><br />
<br />
== Installation Guides ==<br />
'''Current ADF 2.5 Release Version:'''<br />
* v3.2:<br />
** [[PT_Social_Media_Version_3.2_Release_Notes|Version 3.2 Release Notes]] <br />
** [[PT_Social_Media_Version_3.2_Install|Version 3.2 Install Guide]]<br />
** [[PT_Social_Media_Version_3.2_Upgrade|Version 3.2 Upgrade Guide]] (from v3.1)<br />
<br />
'''IMPORTANT''': The above versions of this application require '''ADF 2.5''' or greater and '''CommonSpot 10.5.2 or 10.6.1''' or greater.<br />
<br />
'''Previous ADF 2.4.x Versions:'''<br />
* v3.1:<br />
** [[PT_Social_Media_Version_3.1_Release_Notes|Version 3.1 Release Notes]] <br />
** [[PT_Social_Media_Version_3.1_Install|Version 3.1 Install Guide]]<br />
** [[PT_Social_Media_Version_3.1_Upgrade|Version 3.1 Upgrade Guide]] (from v3.0)<br />
<br />
* v3.0:<br />
** [[PT_Social_Media_Version_3.0_Release_Notes|Version 3.0 Release Notes]] <br />
** [[PT_Social_Media_Version_3.0_Install|Version 3.0 Install Guide]]<br />
** [[PT_Social_Media_Version_3.0_Upgrade|Version 3.0 Upgrade Guide]] (from v2.2)<br />
'''IMPORTANT''': The 'ADF 2.4.x Versions' of this application require '''ADF 2.0 to 2.4.x''' and '''CommonSpot 10 up to 10.5.1 or 10.6'''<br />
<br />
'''Previous ADF 1.8 Version:'''<br />
* v2.2:<br />
** [[PT_Social_Media_Version_2.2_Release_Notes|Version 2.2 Release Notes]] <br />
** [[PT_Social_Media_Version_2.2_Install|Version 2.2 Install Guide]]<br />
** [[PT_Social_Media_Version_2.2_Upgrade|Version 2.2 Upgrade Guide]] (from v2.1)<br />
'''IMPORTANT''': v2.x of this application requires '''ADF 1.6''' or greater. '''ADF 1.8.x''' is recommended.<br />
<br />
<br />
'''Previous ADF 1.x Versions:'''<br />
* v2.1:<br />
** [[PT_Social_Media_Version_2.1_Release_Notes|Version 2.1 Release Notes]] <br />
** [[PT_Social_Media_Version_2.1_Install|Version 2.1 Install Guide]]<br />
** [[PT_Social_Media_Version_2.1_Upgrade|Version 2.1 Upgrade Guide]] (from v2.0)<br />
<br />
* v2.0:<br />
** [[PT_Social_Media_Version_2.0_Release_Notes|Version 2.0 Release Notes]] <br />
** [[PT_Social_Media_Version_2.0_Install|Version 2.0 Install Guide]]<br />
** [[PT_Social_Media_Version_2.0_Upgrade|Version 2.0 Upgrade Guide]] (from v1.2)<br />
<br />
'''IMPORTANT''': v2.x of this application requires '''ADF 1.6''' or greater<br />
<br />
* v1.2:<br />
** [[PT_Social_Media_Version_1.2_Release_Notes|Version 1.2 Release Notes]]<br />
** [[PT_Social_Media_Version_1.2_Install|Version 1.2 Install Guide]]<br />
** [[PT_Social_Media_Version_1.2_Upgrade|Version 1.2 Upgrade Guide]] (from v1.0 or v1.1)<br />
<br />
* v1.1<br />
** [[PT_Social_Media_Version_1.1_Release_Notes|Version 1.1 Release Notes]]<br />
** [[PT_Social_Media_Version_1.1_Install|Version 1.1 Install Guide]]<br />
<br />
* v1.0 <br />
** [[PT_Social_Media_Version_1.0_Release_Notes|Version 1.0 Release Notes]]<br />
** [[PT_Social_Media_Version_1.0_Install|Version 1.0 Install Guide]]<br />
<br />
'''IMPORTANT''': v1.x of this application requires '''ADF 1.5''' or greater<br />
<br />
<!--<br />
'''Current Development Build:'''<br />
* v2.3:<br />
** [[PT_Social_Media_Version_2.3_Release_Notes|Version 2.3 Release Notes]] <br />
** [[PT_Social_Media_Version_2.3_Install|Version 2.3 Install Guide]]<br />
** [[PT_Social_Media_Version_2.3_Upgrade|Version 2.3 Upgrade Guide]] (from v2.2)<br />
--><br />
<br />
== Getting Started Guide ==<br />
* [[PT_Social_Media_Getting Started|Getting Started]]<br />
<br />
== Features ==<br />
The social media application provides the following features:<br />
* [[PT_Social_Media_Facebook|Facebook Pages Data Stream]]<br />
* [[PT_Social_Media_Instagram|Instagram Posts Data Stream]]<br />
* [[PT_Social_Media_Twitter|Twitter Accounts and Keywords Data Stream]]<br />
* [[PT_Social_Media_YouTube|YouTube Channels Data Stream]]<br />
* [[PT_Social_Media_WordPress|WordPress Blogs Data Stream]]<br />
<br />
== Known Issues/Bugs ==<br />
Found a bug, view the [http://community.paperthin.com/projects/pt_social_media/issue/ PT Social Media Issues] page. Your issue not on the list? Then post it so the issue can be addressed.<br />
<br />
[[Category:Project]][[Category:Social Media]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=ADF_AjaxProxy_CSRF_Safe_Mode&diff=7618ADF AjaxProxy CSRF Safe Mode2020-03-03T16:49:52Z<p>Ssmith: </p>
<hr />
<div> '''IMPORTANT''': This feature requires ADF 2.5 or above and CommonSpot 10.6.1 or 10.5.2 or above.<br />
<br />
== ADF AjaxProxy CSRF Safe Mode ==<br />
The CommonSpot 10.6.1, 10.5.2 and the ADF 2.5 releases have added enhanced security to mitigate "Cross-site request forgery" (CSRF) vulnerabilities. <br />
<br />
ADF 2.5's security enhancement, "ajaxProxy CSRF Safe Mode" has been disabled by default and must be manually enabled to take advantage of this feature. This allows developers an opportunity to update their ADF and ADF App ajaxProxy related customizations, before enabling the CSRF attack prevention validation when using the ADF's AjaxProxy.<br />
<br />
== Enable the CSRF Safe Mode for local ajaxProxy requests ==<br />
If your site is only using out of the box ADF and ADF Applications then you should enable the "ajaxProxy CSRF Safe Mode" immediately install or an upgrade.<br />
<br />
=== How to Enable CSRF Safe Mode ===<br />
* In your '''ADF.cfc''' in the /_cs_apps/ folder in your site root, add the following line:<br />
enableADFcsrfSafeMode(true);<br />
<br />
* For new ADF installs, update the "enableADFcsrfSafeMode" line found in your site's '/_cs_apps/ADF.cfc' file, from "false" to "true" (see above).<br />
<br />
=== Update Custom Local AjaxProxy Requests ===<br />
If your site has custom code which uses the ADF's ajaxProxy for local requests, before you can enable "ajaxProxy CSRF Safe Mode" using the steps above, you will need to add the CSRF_Token parameter to your method call. Adding this extra parameter to the request will get the CSRF_token session token which is known by the server. <br />
<br />
When the "ajaxProxy CSRF Safe Mode" is enabled, the CSRF token key/value pair is required when making local AjaxProxy requests along with your other request parameters either as a Data or URL parameter, otherwise your ajaxProxy requests will not validate and fail. <br />
<br />
==== CSRF_Token as a Data parameter (using jQuery.post): ====<br />
<pre><br />
jQuery.post("#application.ADF.ajaxProxy#",<br />
{ <br />
bean: 'dataService',<br />
method: 'getData',<br />
CSRF_Token: '#application.ADF.csSecurity.getCSRF_Token()#'<br />
}<br />
</pre><br />
<br />
==== CSRF_Token as a URL parameter (using jQuery.get): ====<br />
<pre><br />
jQuery.get("#application.ADF.ajaxProxy#?bean=dataService&method=getData&CSRF_Token=#application.ADF.csSecurity.getCSRF_Token()#")<br />
</pre><br />
<br />
<br />
'''WARNING''': Enabling the "CSRF Safe Mode" without using the ADF 2.5 ready Apps or updating your custom ajaxProxy local requests will limit functionality!</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media_Version_3.2_Install&diff=7569PT Social Media Version 3.2 Install2020-03-02T18:52:32Z<p>Ssmith: /* Manage Service Accounts Page with Multiple Datasheets */</p>
<hr />
<div>Back to [[PT_Social_Media|PT Social Media]]<br />
<br />
IMPORTANT: v3.2 of this application requires '''ADF 2.5''' or greater (and '''CommonSpot 10.6.1''' or '''CommonSpot 10.5.2''' or greater) <br />
<br />
== Download ==<br />
Download the Social Media Application from the [http://community.paperthin.com/projects/pt_social_media/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_social_media/'''<br />
<br />
== Site Configuration ==<br />
The Social Media Application is built within the ADF. The ADF 2.5 or greater must be installed in the site to run the Social Media Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) in a text editor. <br />
* Locate the ''Load the ADF Application into application space'' comment in the file. Add (or uncomment) the following command under the comment section:<br />
<br />
loadApp("ptSocialMedia");<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* /ADF/apps/pt_social_media/style/socialmedia.css<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Social Media Template you create.<br />
<br />
Note: the classes and styles defined for the Social Media app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Social Media App has several Custom Components defined within CommonSpot. These components are available in the Social Media's "exported-objects" folder located at the root of the Social Media application directory (e.g. /ADF/apps/pt_social_media/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Social Media Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br />
<br />
#[[SocialMedia Selector]] (SocialMedia-Selector-Custom-Element.zip)<br />
#[[Twitter Accounts Keywords]] (Twitter-Accounts-Keywords-Selector-Custom-Element.zip)<br />
#[[WordPress Blogs]] (WordPress-Blogs-Custom-Element.zip)<br />
#[[SocialMedia Filtering]] (SocialMedia-Filtering-Custom-Element.zip)<br />
#[[ptSocialMedia Configuration]] (ptSocialMedia-Configuration-Custom-Element.zip)<br />
<br />
The previous 'Facebook Pages' and 'YouTube Channels' elements are no longer needed since CommonSpot now has native integration with Facebook and YouTube.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The SocialMedia Selector 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.<br />
<br />
== App Configuration ==<br />
The Social Media App uses a custom element to store site specific configurations. <br />
<br />
Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.<br />
<br />
There are several configuration fields:<br />
<br />
===General Config Tab===<br />
# '''ui_theme''' - The Social Media app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''socialMediaServiceTypes''' - Checkboxes used to enable the social media types that will be utilized<br>(Default: facebook,twitter,youtube,wordpress)<br />
# '''dashboardURL''' - URL of Social Media App Web Admin Dashboard page where the Feed Cache scheuduled task is managed.<br />
# '''serviceManagerURL''' - URL of Social Media App Web Admin Service Manager page where service accounts are maintained<br />
# '''configManagerURL''' - URL of Social Media App Web Admin Configuration page where all of the App configuration setting are modified<br />
# '''enableFeedCache''' - a checkbox to activate or deactivate the Social Media App service feed caching<br />
#'''rebuildFeedCacheInterval''' - an integer value in minutes for the pause time between feed cache rebuild scheduled tasks<br>(Default: 15 mins)<br />
<br />
===Facebook API Tab===<br />
* This tab is no longer necessary due to CommonSpot's built-in Facebook integration, please make sure it is working properly.<br />
- [[PT_Social_Media_Facebook_App_Registration|Facebook App Registration Instructions]]<br />
<br />
===Twitter API Tab===<br />
# '''apiTwitterCustomerKey''' - The '''Consumer Key''' you receive when you register your App on Twitter<br />
# '''apiTwitterCustomerSecret''' - The '''Consumer Secret''' you receive when you register your App on Twitter<br />
- [[PT_Social_Media_Twitter_App_Registration|Twitter App Registration Instructions]]<br />
<br />
===WordPress API Tab===<br />
# '''wordPressServiceURL''' - URL of Blog Index page <br />
# '''wordPressServiceImage''' - A service image for Blog Index page<br />
# '''apiWordPressFeedSuffix''' - Suffix for the WordPress Blog RSS feed. ie. '?feed=rss2' or '/feed/' depending how your WordPress site is configured<br />
# '''apiWordPressContentWordLimit''' - Maximum number of words rendered from the blog post content. Default: 100. Use 0 (zero) to display all.<br />
<br />
Note: The other API fields in the configuration element (not listed here) should NOT need to be modified from their default values unless one of the social media services changes their data feed format or feed URL and/or URL parameters.<br />
<br />
== Subsites ==<br />
A specific subsite for social media pages is optional. The Social Media Feed page which in most cases will be a public facing page (or pages) can live anywhere on your site. But for this install we will create a ''socialmedia'' subsite for this page.<br />
<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Social Media subsite that will contain the Management pages for for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps under '''Web Admin'' will add a ''socialmedia'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Social Media ===<br />
# Create a new subsite under the site root called ''socialmedia''.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''socialmedia''.<br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give permissions to the group of administrators who will need access to the social media management pages.<br />
<br />
== Templates ==<br />
===Social Media Template - ''Optional''===<br />
<br />
The Social Media template will be used to render Social Media pages.<br />
<br />
Note: A Social Media templates are not critical for this application. A Social Media feeds page can be added to any page based on any template with a large main content column.<br />
<br />
# Create a CommonSpot page called 'Social Media' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called 'socialmedia'). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages. You may already have one.<br />
<br />
# Create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called webadmin). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Admin Pages ==<br />
Follow the guide to create these 4 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
<br />
===CCAPI Configuration===<br />
The Social Media Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate the SocialMedia Filtering custom element with moderation data records. The CCAPI needs to be configured for the site and for the social media application.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Social Media application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiSocialMedia'. Recommend creating this page in the ''/webadmin/socialmedia/'' subsite. <br />
# Add each of the following Social Media elements to the page:<br />
##[[Twitter Accounts Keywords]]<br />
##[[WordPress Blogs]]<br />
##[[SocialMedia Filtering]]<br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiTwitterAccountsKeywords<br />
## ccapiWordPressBlogs<br />
## ccapiSocialMediaFiltering<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_social_media > site-files > _cs_apps > config''' folder <br />
<br />
<br />
<TwitterAccountsKeywords><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiTwitterAccountsKeywords</controlName><br />
</TwitterAccountsKeywords><br />
<WordPressBlogs><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiWordPressBlogs</controlName><br />
</WordPressBlogs><br />
<SocialMediaFiltering><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiSocialMediaFiltering</controlName><br />
</SocialMediaFiltering><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiSocialMedia' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<br />
var jsSubSiteID = ##;<br />
<br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<br />
var jsPageID = ####;<br />
<br />
===Manage App Configuration Page===<br />
The Social Media Configuration Page will be used to manage the ptSocialMedia Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called 'Configuration Manager' in the ''/webadmin/socialmedia/'' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create Social Media Configuration Record'''<br />
<br />
We are creating a single Social Media Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
You can also update the following fields: <br />
# General Config Tab<br />
## '''ui_theme'''<br />
## '''socialMediaServiceTypes''' <br />
# Facebook API Tab (no longer necessary, can be ignored)<br />
# Twitter API Tab<br />
## '''apiTwitterCustomerKey''' <br />
## '''apiTwitterCustomerSecret'''<br />
# WordPress API Tab<br />
## '''wordPressServiceURL''' <br />
## '''wordPressServiceImage''' <br />
## '''apiWordPressFeedSuffix''' <br />
## '''apiWordPressContentWordLimit''' <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
===Manage Service Accounts Page with Multiple Datasheets===<br />
The Manage Social Media page is a page that contains the data management datasheets for the social media custom elements. This page is build using a tabbed interface with one tab for each social media service datasheet. <br />
<br />
#Create a page from the Base Plus One (or a Web Admin) template titled 'Manage Service Accounts' with the page name 'index' in the ''/webadmin/socialmedia/'' subsite.<br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path: <br />
#*/ADF/apps/pt_social_media/customcf/manage_social_media_tabs_v2.cfm<br />
<br />
(Remember: If any of the social media services have been disabled in the [[#App Configuration|App Configuration]]<br>those service tabs will not appear on this management page.)<br />
<br />
'''Facebook Tab'''<br />
* This tab is no longer necessary and can be ignored.<br />
<br />
'''Twitter Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Twitter Accounts and Keywords View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Twitter Accounts and Keywords <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Twitter Accounts Keywords" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, TWITTERACCOUNTKEYWORD, TYPE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TwitterAccountKeyword Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''YouTube Tab'''<br />
* This tab is no longer necessary and can be ignored.<br />
<br />
'''WordPress Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: WordPress Blogs View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all WordPress Blogs <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "WordPress Blogs" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, BLOGTITLE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = BLOGTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
#Publish this page.<br />
<br />
<!-- '''Usage''' --><br />
<br />
===Social Media Dashboard Page===<br />
The Social Media Dashboard page is a page is used to manage the Service Feed Cache and the Scheduled task that rebuilds the Service Feed Cache at the desired interval.<br />
This page contains:<br />
*The status of the Service Feed Cache<br />
*The date & time stamp of when the Service Feed Cache was last built<br />
*A button to Force the Service Feed Cache to be rebuilt<br />
*A button to set the Scheduled task to rebuild the Service Feed Cache at regular intervals<br />
*A data table that displays the current status of the Service Feed Cache scheduled task<br />
<br />
To build this page:<br />
#Create a new page from the Base Plus One (or a Web Admin) template called 'Social Media Dashboard' in the /webadmin/socialmedia/ subsite. <br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#*/ADF/apps/pt_social_media/customcf/sm_dashboard_header.cfm<br />
<br />
'''Usage'''<br><br />
Go to the '''Social Media Dashboard''' section on the [[PT_Social_Media_Getting Started#Social Media Dashboard|Getting Started]] page for more information on usage of this page.<br />
<br />
===Social Media Stream Debug Page - ''Optional''===<br />
Since the content for this page is primarily under the control of each of the Social Media Services you are receiving the posts from it maybe necessary to have deeper visualization into the raw data coming from these services.<br />
<br />
This page is a version of the Social Media Stream Page with a debug tools header custom script. It may be best to go through the steps to create and configure a standard Social Media Stream page before creating this debugging page.<br />
<br />
* [[#Social Media Stream Pages|Social Media Stream Page]]<br />
* ''Configure the Social Media Stream Page'' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page<br />
<br />
It is also '''highly recommended''' that this debugging stream page be built in the Social Media Web Admin subsite so it will be protected by the Web Admin security settings.<br />
<br />
To construct your Social Media Debugging Stream page complete the following steps:<br />
<br />
#Create a CommonSpot page with a name of 'Social Media Debug' and a title of 'Social Media Debug' using the Social Media template and place it in the '/webadmin/socialmedia/' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/sm_debug_links.cfm'' <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
'''Usage'''<br />
<br />
Once the page has been created and configured to display posts from the selected Social Media services you can use the debug tools checkboxes to select different raw data dump combinations and then click the link to reload the page. <br />
<br />
When the page is fully reloaded, there will be Coldfusion data dumps visible above the posts that will display the raw data that is used to build the stream page.<br />
<br />
If Social Media errors have occurred for the various services, links will be generated to allow access to open the error log files from the CommonSpot logs folder.<br />
<br />
(Remember: This debug page needs to remain dynamic since it uses URL variables to modify the<br>Feed Stream Output. Please make sure that CommonSpot Caching has been disabled on this page.)<br />
<br />
== Social Media Stream Pages ==<br />
For this install we will only create one main social media stream page. But many pages can be created throughout your site to meet your specific needs using this same method. <br />
For example, a separate page could be created for each of the social media services (ie. YouTube Channels page) or pages could be created for specific social media accounts. <br />
<br />
The Social Media Stream Page is where the social media posts from the selected social media service pages, accounts and keywords display. These posts come from the live data feeds available from each service. The posts are not stored locally and with active social media account will possibly change with each page refresh. <br />
<br />
To construct your Social Media Stream page complete the following steps. <br />
(Remember these steps can be adapted to a page created in any subsite using any template that has a large content area column.)<br />
<br />
#Create a CommonSpot page with a name of 'index' and a title of 'Social Media Stream' using the Social Media template and place it in the 'socialmedia' subsite. <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
Go to the '''Configure the Social Media Stream Page''' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page for more info.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media_Version_3.2_Install&diff=7568PT Social Media Version 3.2 Install2020-03-02T18:50:34Z<p>Ssmith: /* Manage App Configuration Page */</p>
<hr />
<div>Back to [[PT_Social_Media|PT Social Media]]<br />
<br />
IMPORTANT: v3.2 of this application requires '''ADF 2.5''' or greater (and '''CommonSpot 10.6.1''' or '''CommonSpot 10.5.2''' or greater) <br />
<br />
== Download ==<br />
Download the Social Media Application from the [http://community.paperthin.com/projects/pt_social_media/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_social_media/'''<br />
<br />
== Site Configuration ==<br />
The Social Media Application is built within the ADF. The ADF 2.5 or greater must be installed in the site to run the Social Media Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) in a text editor. <br />
* Locate the ''Load the ADF Application into application space'' comment in the file. Add (or uncomment) the following command under the comment section:<br />
<br />
loadApp("ptSocialMedia");<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* /ADF/apps/pt_social_media/style/socialmedia.css<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Social Media Template you create.<br />
<br />
Note: the classes and styles defined for the Social Media app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Social Media App has several Custom Components defined within CommonSpot. These components are available in the Social Media's "exported-objects" folder located at the root of the Social Media application directory (e.g. /ADF/apps/pt_social_media/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Social Media Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br />
<br />
#[[SocialMedia Selector]] (SocialMedia-Selector-Custom-Element.zip)<br />
#[[Twitter Accounts Keywords]] (Twitter-Accounts-Keywords-Selector-Custom-Element.zip)<br />
#[[WordPress Blogs]] (WordPress-Blogs-Custom-Element.zip)<br />
#[[SocialMedia Filtering]] (SocialMedia-Filtering-Custom-Element.zip)<br />
#[[ptSocialMedia Configuration]] (ptSocialMedia-Configuration-Custom-Element.zip)<br />
<br />
The previous 'Facebook Pages' and 'YouTube Channels' elements are no longer needed since CommonSpot now has native integration with Facebook and YouTube.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The SocialMedia Selector 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.<br />
<br />
== App Configuration ==<br />
The Social Media App uses a custom element to store site specific configurations. <br />
<br />
Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.<br />
<br />
There are several configuration fields:<br />
<br />
===General Config Tab===<br />
# '''ui_theme''' - The Social Media app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''socialMediaServiceTypes''' - Checkboxes used to enable the social media types that will be utilized<br>(Default: facebook,twitter,youtube,wordpress)<br />
# '''dashboardURL''' - URL of Social Media App Web Admin Dashboard page where the Feed Cache scheuduled task is managed.<br />
# '''serviceManagerURL''' - URL of Social Media App Web Admin Service Manager page where service accounts are maintained<br />
# '''configManagerURL''' - URL of Social Media App Web Admin Configuration page where all of the App configuration setting are modified<br />
# '''enableFeedCache''' - a checkbox to activate or deactivate the Social Media App service feed caching<br />
#'''rebuildFeedCacheInterval''' - an integer value in minutes for the pause time between feed cache rebuild scheduled tasks<br>(Default: 15 mins)<br />
<br />
===Facebook API Tab===<br />
* This tab is no longer necessary due to CommonSpot's built-in Facebook integration, please make sure it is working properly.<br />
- [[PT_Social_Media_Facebook_App_Registration|Facebook App Registration Instructions]]<br />
<br />
===Twitter API Tab===<br />
# '''apiTwitterCustomerKey''' - The '''Consumer Key''' you receive when you register your App on Twitter<br />
# '''apiTwitterCustomerSecret''' - The '''Consumer Secret''' you receive when you register your App on Twitter<br />
- [[PT_Social_Media_Twitter_App_Registration|Twitter App Registration Instructions]]<br />
<br />
===WordPress API Tab===<br />
# '''wordPressServiceURL''' - URL of Blog Index page <br />
# '''wordPressServiceImage''' - A service image for Blog Index page<br />
# '''apiWordPressFeedSuffix''' - Suffix for the WordPress Blog RSS feed. ie. '?feed=rss2' or '/feed/' depending how your WordPress site is configured<br />
# '''apiWordPressContentWordLimit''' - Maximum number of words rendered from the blog post content. Default: 100. Use 0 (zero) to display all.<br />
<br />
Note: The other API fields in the configuration element (not listed here) should NOT need to be modified from their default values unless one of the social media services changes their data feed format or feed URL and/or URL parameters.<br />
<br />
== Subsites ==<br />
A specific subsite for social media pages is optional. The Social Media Feed page which in most cases will be a public facing page (or pages) can live anywhere on your site. But for this install we will create a ''socialmedia'' subsite for this page.<br />
<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Social Media subsite that will contain the Management pages for for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps under '''Web Admin'' will add a ''socialmedia'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Social Media ===<br />
# Create a new subsite under the site root called ''socialmedia''.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''socialmedia''.<br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give permissions to the group of administrators who will need access to the social media management pages.<br />
<br />
== Templates ==<br />
===Social Media Template - ''Optional''===<br />
<br />
The Social Media template will be used to render Social Media pages.<br />
<br />
Note: A Social Media templates are not critical for this application. A Social Media feeds page can be added to any page based on any template with a large main content column.<br />
<br />
# Create a CommonSpot page called 'Social Media' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called 'socialmedia'). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages. You may already have one.<br />
<br />
# Create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called webadmin). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Admin Pages ==<br />
Follow the guide to create these 4 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
<br />
===CCAPI Configuration===<br />
The Social Media Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate the SocialMedia Filtering custom element with moderation data records. The CCAPI needs to be configured for the site and for the social media application.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Social Media application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiSocialMedia'. Recommend creating this page in the ''/webadmin/socialmedia/'' subsite. <br />
# Add each of the following Social Media elements to the page:<br />
##[[Twitter Accounts Keywords]]<br />
##[[WordPress Blogs]]<br />
##[[SocialMedia Filtering]]<br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiTwitterAccountsKeywords<br />
## ccapiWordPressBlogs<br />
## ccapiSocialMediaFiltering<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_social_media > site-files > _cs_apps > config''' folder <br />
<br />
<br />
<TwitterAccountsKeywords><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiTwitterAccountsKeywords</controlName><br />
</TwitterAccountsKeywords><br />
<WordPressBlogs><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiWordPressBlogs</controlName><br />
</WordPressBlogs><br />
<SocialMediaFiltering><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiSocialMediaFiltering</controlName><br />
</SocialMediaFiltering><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiSocialMedia' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<br />
var jsSubSiteID = ##;<br />
<br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<br />
var jsPageID = ####;<br />
<br />
===Manage App Configuration Page===<br />
The Social Media Configuration Page will be used to manage the ptSocialMedia Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called 'Configuration Manager' in the ''/webadmin/socialmedia/'' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create Social Media Configuration Record'''<br />
<br />
We are creating a single Social Media Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
You can also update the following fields: <br />
# General Config Tab<br />
## '''ui_theme'''<br />
## '''socialMediaServiceTypes''' <br />
# Facebook API Tab (no longer necessary, can be ignored)<br />
# Twitter API Tab<br />
## '''apiTwitterCustomerKey''' <br />
## '''apiTwitterCustomerSecret'''<br />
# WordPress API Tab<br />
## '''wordPressServiceURL''' <br />
## '''wordPressServiceImage''' <br />
## '''apiWordPressFeedSuffix''' <br />
## '''apiWordPressContentWordLimit''' <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
===Manage Service Accounts Page with Multiple Datasheets===<br />
The Manage Social Media page is a page that contains the data management datasheets for the four social media custom elements. This page is build using a tabbed interface with one tab for each social media service datasheet. <br />
<br />
#Create a page from the Base Plus One (or a Web Admin) template titled 'Manage Service Accounts' with the page name 'index' in the ''/webadmin/socialmedia/'' subsite.<br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path: <br />
#*/ADF/apps/pt_social_media/customcf/manage_social_media_tabs_v2.cfm<br />
<br />
(Remember: If any of the social media services have been disabled in the [[#App Configuration|App Configuration]]<br>those service tabs will not appear on this management page.)<br />
<br />
'''Facebook Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Facebook Pages View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Facebook Pages <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Facebook Pages" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, FBPAGENAME, FBPAGELINK and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = FBPAGENAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''Twitter Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Twitter Accounts and Keywords View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Twitter Accounts and Keywords <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Twitter Accounts Keywords" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, TWITTERACCOUNTKEYWORD, TYPE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TwitterAccountKeyword Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''YouTube Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: YouTube Channels View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all YouTube Channels <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "YouTube Channels" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, CHANNELTITLE, CHANNELUSERNAME and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = CHANNELTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''WordPress Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: WordPress Blogs View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all WordPress Blogs <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "WordPress Blogs" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, BLOGTITLE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = BLOGTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
#Publish this page.<br />
<br />
<!-- '''Usage''' --><br />
<br />
===Social Media Dashboard Page===<br />
The Social Media Dashboard page is a page is used to manage the Service Feed Cache and the Scheduled task that rebuilds the Service Feed Cache at the desired interval.<br />
This page contains:<br />
*The status of the Service Feed Cache<br />
*The date & time stamp of when the Service Feed Cache was last built<br />
*A button to Force the Service Feed Cache to be rebuilt<br />
*A button to set the Scheduled task to rebuild the Service Feed Cache at regular intervals<br />
*A data table that displays the current status of the Service Feed Cache scheduled task<br />
<br />
To build this page:<br />
#Create a new page from the Base Plus One (or a Web Admin) template called 'Social Media Dashboard' in the /webadmin/socialmedia/ subsite. <br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#*/ADF/apps/pt_social_media/customcf/sm_dashboard_header.cfm<br />
<br />
'''Usage'''<br><br />
Go to the '''Social Media Dashboard''' section on the [[PT_Social_Media_Getting Started#Social Media Dashboard|Getting Started]] page for more information on usage of this page.<br />
<br />
===Social Media Stream Debug Page - ''Optional''===<br />
Since the content for this page is primarily under the control of each of the Social Media Services you are receiving the posts from it maybe necessary to have deeper visualization into the raw data coming from these services.<br />
<br />
This page is a version of the Social Media Stream Page with a debug tools header custom script. It may be best to go through the steps to create and configure a standard Social Media Stream page before creating this debugging page.<br />
<br />
* [[#Social Media Stream Pages|Social Media Stream Page]]<br />
* ''Configure the Social Media Stream Page'' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page<br />
<br />
It is also '''highly recommended''' that this debugging stream page be built in the Social Media Web Admin subsite so it will be protected by the Web Admin security settings.<br />
<br />
To construct your Social Media Debugging Stream page complete the following steps:<br />
<br />
#Create a CommonSpot page with a name of 'Social Media Debug' and a title of 'Social Media Debug' using the Social Media template and place it in the '/webadmin/socialmedia/' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/sm_debug_links.cfm'' <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
'''Usage'''<br />
<br />
Once the page has been created and configured to display posts from the selected Social Media services you can use the debug tools checkboxes to select different raw data dump combinations and then click the link to reload the page. <br />
<br />
When the page is fully reloaded, there will be Coldfusion data dumps visible above the posts that will display the raw data that is used to build the stream page.<br />
<br />
If Social Media errors have occurred for the various services, links will be generated to allow access to open the error log files from the CommonSpot logs folder.<br />
<br />
(Remember: This debug page needs to remain dynamic since it uses URL variables to modify the<br>Feed Stream Output. Please make sure that CommonSpot Caching has been disabled on this page.)<br />
<br />
== Social Media Stream Pages ==<br />
For this install we will only create one main social media stream page. But many pages can be created throughout your site to meet your specific needs using this same method. <br />
For example, a separate page could be created for each of the social media services (ie. YouTube Channels page) or pages could be created for specific social media accounts. <br />
<br />
The Social Media Stream Page is where the social media posts from the selected social media service pages, accounts and keywords display. These posts come from the live data feeds available from each service. The posts are not stored locally and with active social media account will possibly change with each page refresh. <br />
<br />
To construct your Social Media Stream page complete the following steps. <br />
(Remember these steps can be adapted to a page created in any subsite using any template that has a large content area column.)<br />
<br />
#Create a CommonSpot page with a name of 'index' and a title of 'Social Media Stream' using the Social Media template and place it in the 'socialmedia' subsite. <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
Go to the '''Configure the Social Media Stream Page''' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page for more info.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media_Version_3.2_Install&diff=7567PT Social Media Version 3.2 Install2020-03-02T18:47:53Z<p>Ssmith: Created page with "Back to PT Social Media IMPORTANT: v3.2 of this application requires '''ADF 2.5''' or greater (and '''CommonSpot 10.6.1''' or '''CommonSpot 10.5.2''' or..."</p>
<hr />
<div>Back to [[PT_Social_Media|PT Social Media]]<br />
<br />
IMPORTANT: v3.2 of this application requires '''ADF 2.5''' or greater (and '''CommonSpot 10.6.1''' or '''CommonSpot 10.5.2''' or greater) <br />
<br />
== Download ==<br />
Download the Social Media Application from the [http://community.paperthin.com/projects/pt_social_media/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_social_media/'''<br />
<br />
== Site Configuration ==<br />
The Social Media Application is built within the ADF. The ADF 2.5 or greater must be installed in the site to run the Social Media Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) in a text editor. <br />
* Locate the ''Load the ADF Application into application space'' comment in the file. Add (or uncomment) the following command under the comment section:<br />
<br />
loadApp("ptSocialMedia");<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* /ADF/apps/pt_social_media/style/socialmedia.css<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Social Media Template you create.<br />
<br />
Note: the classes and styles defined for the Social Media app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Social Media App has several Custom Components defined within CommonSpot. These components are available in the Social Media's "exported-objects" folder located at the root of the Social Media application directory (e.g. /ADF/apps/pt_social_media/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Social Media Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br />
<br />
#[[SocialMedia Selector]] (SocialMedia-Selector-Custom-Element.zip)<br />
#[[Twitter Accounts Keywords]] (Twitter-Accounts-Keywords-Selector-Custom-Element.zip)<br />
#[[WordPress Blogs]] (WordPress-Blogs-Custom-Element.zip)<br />
#[[SocialMedia Filtering]] (SocialMedia-Filtering-Custom-Element.zip)<br />
#[[ptSocialMedia Configuration]] (ptSocialMedia-Configuration-Custom-Element.zip)<br />
<br />
The previous 'Facebook Pages' and 'YouTube Channels' elements are no longer needed since CommonSpot now has native integration with Facebook and YouTube.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The SocialMedia Selector 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.<br />
<br />
== App Configuration ==<br />
The Social Media App uses a custom element to store site specific configurations. <br />
<br />
Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.<br />
<br />
There are several configuration fields:<br />
<br />
===General Config Tab===<br />
# '''ui_theme''' - The Social Media app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''socialMediaServiceTypes''' - Checkboxes used to enable the social media types that will be utilized<br>(Default: facebook,twitter,youtube,wordpress)<br />
# '''dashboardURL''' - URL of Social Media App Web Admin Dashboard page where the Feed Cache scheuduled task is managed.<br />
# '''serviceManagerURL''' - URL of Social Media App Web Admin Service Manager page where service accounts are maintained<br />
# '''configManagerURL''' - URL of Social Media App Web Admin Configuration page where all of the App configuration setting are modified<br />
# '''enableFeedCache''' - a checkbox to activate or deactivate the Social Media App service feed caching<br />
#'''rebuildFeedCacheInterval''' - an integer value in minutes for the pause time between feed cache rebuild scheduled tasks<br>(Default: 15 mins)<br />
<br />
===Facebook API Tab===<br />
* This tab is no longer necessary due to CommonSpot's built-in Facebook integration, please make sure it is working properly.<br />
- [[PT_Social_Media_Facebook_App_Registration|Facebook App Registration Instructions]]<br />
<br />
===Twitter API Tab===<br />
# '''apiTwitterCustomerKey''' - The '''Consumer Key''' you receive when you register your App on Twitter<br />
# '''apiTwitterCustomerSecret''' - The '''Consumer Secret''' you receive when you register your App on Twitter<br />
- [[PT_Social_Media_Twitter_App_Registration|Twitter App Registration Instructions]]<br />
<br />
===WordPress API Tab===<br />
# '''wordPressServiceURL''' - URL of Blog Index page <br />
# '''wordPressServiceImage''' - A service image for Blog Index page<br />
# '''apiWordPressFeedSuffix''' - Suffix for the WordPress Blog RSS feed. ie. '?feed=rss2' or '/feed/' depending how your WordPress site is configured<br />
# '''apiWordPressContentWordLimit''' - Maximum number of words rendered from the blog post content. Default: 100. Use 0 (zero) to display all.<br />
<br />
Note: The other API fields in the configuration element (not listed here) should NOT need to be modified from their default values unless one of the social media services changes their data feed format or feed URL and/or URL parameters.<br />
<br />
== Subsites ==<br />
A specific subsite for social media pages is optional. The Social Media Feed page which in most cases will be a public facing page (or pages) can live anywhere on your site. But for this install we will create a ''socialmedia'' subsite for this page.<br />
<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Social Media subsite that will contain the Management pages for for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps under '''Web Admin'' will add a ''socialmedia'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Social Media ===<br />
# Create a new subsite under the site root called ''socialmedia''.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''socialmedia''.<br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give permissions to the group of administrators who will need access to the social media management pages.<br />
<br />
== Templates ==<br />
===Social Media Template - ''Optional''===<br />
<br />
The Social Media template will be used to render Social Media pages.<br />
<br />
Note: A Social Media templates are not critical for this application. A Social Media feeds page can be added to any page based on any template with a large main content column.<br />
<br />
# Create a CommonSpot page called 'Social Media' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called 'socialmedia'). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages. You may already have one.<br />
<br />
# Create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called webadmin). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Admin Pages ==<br />
Follow the guide to create these 4 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
<br />
===CCAPI Configuration===<br />
The Social Media Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate the SocialMedia Filtering custom element with moderation data records. The CCAPI needs to be configured for the site and for the social media application.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Social Media application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiSocialMedia'. Recommend creating this page in the ''/webadmin/socialmedia/'' subsite. <br />
# Add each of the following Social Media elements to the page:<br />
##[[Twitter Accounts Keywords]]<br />
##[[WordPress Blogs]]<br />
##[[SocialMedia Filtering]]<br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiTwitterAccountsKeywords<br />
## ccapiWordPressBlogs<br />
## ccapiSocialMediaFiltering<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_social_media > site-files > _cs_apps > config''' folder <br />
<br />
<br />
<TwitterAccountsKeywords><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiTwitterAccountsKeywords</controlName><br />
</TwitterAccountsKeywords><br />
<WordPressBlogs><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiWordPressBlogs</controlName><br />
</WordPressBlogs><br />
<SocialMediaFiltering><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiSocialMediaFiltering</controlName><br />
</SocialMediaFiltering><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiSocialMedia' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<br />
var jsSubSiteID = ##;<br />
<br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<br />
var jsPageID = ####;<br />
<br />
===Manage App Configuration Page===<br />
The Social Media Configuration Page will be used to manage the ptSocialMedia Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called 'Configuration Manager' in the ''/webadmin/socialmedia/'' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create Social Media Configuration Record'''<br />
<br />
We are creating a single Social Media Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
You can also update the following fields: <br />
# General Config Tab<br />
## '''ui_theme'''<br />
## '''socialMediaServiceTypes''' <br />
# Facebook API Tab<br />
## '''apiFacebookAppID''' <br />
## '''apiFacebookAppSecret''' <br />
# Twitter API Tab<br />
## '''apiTwitterCustomerKey''' <br />
## '''apiTwitterCustomerSecret'''<br />
# WordPress API Tab<br />
## '''wordPressServiceURL''' <br />
## '''wordPressServiceImage''' <br />
## '''apiWordPressFeedSuffix''' <br />
## '''apiWordPressContentWordLimit''' <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
===Manage Service Accounts Page with Multiple Datasheets===<br />
The Manage Social Media page is a page that contains the data management datasheets for the four social media custom elements. This page is build using a tabbed interface with one tab for each social media service datasheet. <br />
<br />
#Create a page from the Base Plus One (or a Web Admin) template titled 'Manage Service Accounts' with the page name 'index' in the ''/webadmin/socialmedia/'' subsite.<br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path: <br />
#*/ADF/apps/pt_social_media/customcf/manage_social_media_tabs_v2.cfm<br />
<br />
(Remember: If any of the social media services have been disabled in the [[#App Configuration|App Configuration]]<br>those service tabs will not appear on this management page.)<br />
<br />
'''Facebook Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Facebook Pages View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Facebook Pages <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Facebook Pages" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, FBPAGENAME, FBPAGELINK and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = FBPAGENAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''Twitter Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Twitter Accounts and Keywords View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Twitter Accounts and Keywords <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Twitter Accounts Keywords" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, TWITTERACCOUNTKEYWORD, TYPE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TwitterAccountKeyword Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''YouTube Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: YouTube Channels View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all YouTube Channels <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "YouTube Channels" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, CHANNELTITLE, CHANNELUSERNAME and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = CHANNELTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''WordPress Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: WordPress Blogs View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all WordPress Blogs <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "WordPress Blogs" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, BLOGTITLE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = BLOGTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
#Publish this page.<br />
<br />
<!-- '''Usage''' --><br />
<br />
===Social Media Dashboard Page===<br />
The Social Media Dashboard page is a page is used to manage the Service Feed Cache and the Scheduled task that rebuilds the Service Feed Cache at the desired interval.<br />
This page contains:<br />
*The status of the Service Feed Cache<br />
*The date & time stamp of when the Service Feed Cache was last built<br />
*A button to Force the Service Feed Cache to be rebuilt<br />
*A button to set the Scheduled task to rebuild the Service Feed Cache at regular intervals<br />
*A data table that displays the current status of the Service Feed Cache scheduled task<br />
<br />
To build this page:<br />
#Create a new page from the Base Plus One (or a Web Admin) template called 'Social Media Dashboard' in the /webadmin/socialmedia/ subsite. <br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#*/ADF/apps/pt_social_media/customcf/sm_dashboard_header.cfm<br />
<br />
'''Usage'''<br><br />
Go to the '''Social Media Dashboard''' section on the [[PT_Social_Media_Getting Started#Social Media Dashboard|Getting Started]] page for more information on usage of this page.<br />
<br />
===Social Media Stream Debug Page - ''Optional''===<br />
Since the content for this page is primarily under the control of each of the Social Media Services you are receiving the posts from it maybe necessary to have deeper visualization into the raw data coming from these services.<br />
<br />
This page is a version of the Social Media Stream Page with a debug tools header custom script. It may be best to go through the steps to create and configure a standard Social Media Stream page before creating this debugging page.<br />
<br />
* [[#Social Media Stream Pages|Social Media Stream Page]]<br />
* ''Configure the Social Media Stream Page'' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page<br />
<br />
It is also '''highly recommended''' that this debugging stream page be built in the Social Media Web Admin subsite so it will be protected by the Web Admin security settings.<br />
<br />
To construct your Social Media Debugging Stream page complete the following steps:<br />
<br />
#Create a CommonSpot page with a name of 'Social Media Debug' and a title of 'Social Media Debug' using the Social Media template and place it in the '/webadmin/socialmedia/' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/sm_debug_links.cfm'' <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
'''Usage'''<br />
<br />
Once the page has been created and configured to display posts from the selected Social Media services you can use the debug tools checkboxes to select different raw data dump combinations and then click the link to reload the page. <br />
<br />
When the page is fully reloaded, there will be Coldfusion data dumps visible above the posts that will display the raw data that is used to build the stream page.<br />
<br />
If Social Media errors have occurred for the various services, links will be generated to allow access to open the error log files from the CommonSpot logs folder.<br />
<br />
(Remember: This debug page needs to remain dynamic since it uses URL variables to modify the<br>Feed Stream Output. Please make sure that CommonSpot Caching has been disabled on this page.)<br />
<br />
== Social Media Stream Pages ==<br />
For this install we will only create one main social media stream page. But many pages can be created throughout your site to meet your specific needs using this same method. <br />
For example, a separate page could be created for each of the social media services (ie. YouTube Channels page) or pages could be created for specific social media accounts. <br />
<br />
The Social Media Stream Page is where the social media posts from the selected social media service pages, accounts and keywords display. These posts come from the live data feeds available from each service. The posts are not stored locally and with active social media account will possibly change with each page refresh. <br />
<br />
To construct your Social Media Stream page complete the following steps. <br />
(Remember these steps can be adapted to a page created in any subsite using any template that has a large content area column.)<br />
<br />
#Create a CommonSpot page with a name of 'index' and a title of 'Social Media Stream' using the Social Media template and place it in the 'socialmedia' subsite. <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
Go to the '''Configure the Social Media Stream Page''' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page for more info.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media_Version_3.2_Release_Notes&diff=7566PT Social Media Version 3.2 Release Notes2020-03-02T18:29:06Z<p>Ssmith: </p>
<hr />
<div>Back to [[PT_Social_Media|PT Social Media]]<br />
<br />
<br />
'''We are proud to release v3.2 of PT Social Media Stream App to the Community.'''<br />
<br />
Version 3.2 requires ADF 2.5 or greater and can only be used with CommonSpot 10.6.1 or 10.5.2 or above.<br />
<br />
If installing the PT Social Media app for the first time, please follow the [[PT_Social_Media_Version_3.2_Install|PT Social Media v3.2 Install Guide]].<br />
<br />
<br />
=== Enhancements ===<br />
* In alignment with the cross-site request forgery (CSRF) updates to ADF 2.5, relevant ajax code has been updated to allow for CSRF validation and protection<br />
* Significant updates and improvements to the post moderation functionality so you can switch between blacklisting and whitelisting without issue.<br />
* The simplified_social_media_posts_list_rh.cfm render handler has been rewritten as an example of using either the blacklisting or whitelisting feature.<br />
* As a reminder, Facebook and Instagram integration is handled via CommonSpot's integration, while the Twitter integration is still done via the code within the Social Media app.<br />
<br />
<br />
=== Bug Fixes ===<br />
* When the feed cache is enabled and we try to build it, try/catches were added around each cache build call to a social media service in case the call fails so that the entire cache build process doesn't stop.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media_Version_3.2_Release_Notes&diff=7565PT Social Media Version 3.2 Release Notes2020-03-02T18:22:33Z<p>Ssmith: Created page with "Back to PT Social Media '''We are proud to release v3.2 of PT Social Media Stream App to the Community.''' Version 3.2 requires ADF 2.5 or greater and c..."</p>
<hr />
<div>Back to [[PT_Social_Media|PT Social Media]]<br />
<br />
<br />
'''We are proud to release v3.2 of PT Social Media Stream App to the Community.'''<br />
<br />
Version 3.2 requires ADF 2.5 or greater and can only be used with CommonSpot 10.6.1 or 10.5.2 or above.<br />
<br />
If installing the PT Social Media app for the first time, please follow the [[PT_Social_Media_Version_3.2_Install|PT Social Media v3.2 Install Guide]].<br />
<br />
<br />
=== Enhancements ===<br />
* Significant updates to have it work with CommonSpot's Facebook integration.<br />
* Significant updates to have it work with CommonSpot's YouTube integration.<br />
* Added and updated code and logic to use CommonSpot's Instagram integration (via Facebook integration).<br />
* In alignment<br />
* Significant updates and improvements to the post moderation functionality so you can switch between blacklisting and whitelisting without issue.<br />
* The simplified_social_media_posts_list_rh.cfm render handler has been rewritten as an example of using either the blacklisting or whitelisting feature.<br />
<br />
<br />
=== Bug Fixes ===<br />
* When the feed cache is enabled and we try to build it, try/catches were added around each cache build call to a social media service in case the call fails so that the entire cache build process doesn't stop.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Comments_v2.3_Upgrade&diff=7458PT Comments v2.3 Upgrade2019-02-14T18:56:22Z<p>Ssmith: </p>
<hr />
<div>Back to [[PT_Comments|PT Comments]]<br />
<br />
NOTE: v2.3 of this application is compatible with both '''ADF 1.8.x''' and '''ADF 2.x'''.<br />
<br />
== Overview ==<br />
This guide is to upgrade the PT Comments v2.3 from v2.2. If you are updating from a version earlier than v2.2, please follow the [[PT_Comments_Upgrade_v2.2|Version 2.2 Upgrade Guide]] before upgrading to v2.3.<br />
<br />
<!-- == Custom Element Updates == --><br />
<!-- === Element Name === --><br />
<br />
== ADF Application Code Review ==<br />
This is only for reviewing the code that is in the "/ADF/apps/" directory, not at the site level.<br />
<br />
# Download the application from the Community project page.<br />
# Unzip the application zip folder.<br />
# Analyze the updated app code compared to the current app code on your server. <br />
## Identify any customizations that you have made to the application code to make sure these are not overwritten by the app update. <br />
## A great tool to use is Beyond Compare to compare the new and current file to identify the exact lines of code that have been changed.<br />
# Once this is complete, then move your app customizations into the new app code package. <br />
<br />
== Application Code ==<br />
# Rename directory "/ADF/apps/pt_comments" to "/ADF/apps/pt_comments_v2.2".<br />
# Rename file "/ADF/apps/pt_comments_v2.2/appBeanConfig.cfm" to "/ADF/apps/pt_comments_v2.2/appBeanConfig.cfm.old".<br />
# Move the PT Comments v2.3 and into the "/ADF/apps/pt_comments/" directory.<br />
# Reset the ADF<br />
<br />
=== Comments Custom Element ===<br />
IMPORTANT: It is a good idea to backup your CommonSpot Site Database before running the '''CommentsAppUpdater''' script<br />
Due to a new incompatibility with the ADF's getCEData function and with the BuildView function, "formid" and "userid" are no longer valid field Names in the custom elements. <br />
Use these steps to update the two fields in the Comments Global Custom element:<br />
# Copy the following updater file to your site and place it in your 'customcf' directiry:<br />
## '/ADF/apps/pt_comments/site-files/customcf/CommentsAppUpdater.cfm'<br />
# View the PT Comments App Update menu page by going to the URL:<br />
## http://{your-site}/customcf/CommentsAppUpdater.cfm <br />
# The following updater script with be displayed with [PREVIEW] and [RUN] options<br />
## schema-update-for-2.3<br />
# First, click on the [PREVIEW] option<br />
# If the message reads "No Fields need to be updated at this time!" you are done!<br />
# If the message displays the "Old Field" and the "New Field" update info, go back to the updater menu.<br />
# Once back at the updater menu, click the [RUN] option.<br />
# When the script has finished running and displays the message:<br />
## The field "formid" in the Comments element was updated!<br />
## The field "userid" in the Comments element was updated!<br />
## Go to the CommonSpot Site Admin.<br />
## Go to the "Elements" menu item under "Elements & Forms".<br />
## From the list of elements in the "Manage Elements" dialog find the "Comments" custom element.<br />
## Select the "Field Definitions" menu option for the Comments element under the pencil icon. <br />
## When the "Custom Element Field Definitions" dialog appears click on the pencil icon to edit either updated field<br />
## Without making any other changes hit the "save" option to save the field.<br />
## The fields list should then reflect the changes. <br />
# Close the "Manage Elements" windows.<br />
<br />
Your Fields should now be updated!<br />
<br />
IMPORTANT: Using CommonSpot reserved words as field names in Custom Element is not recommended!<br />
(eg. subsiteid, pageid, formid)<br />
<br />
== Site Level Customizations Review ==<br />
This is only for reviewing the site level customizations in the "/_cs_apps/pt_comments/" directory, not in the ADF directory.<br />
<br />
# Analyze the updated app code compared to the app customization code on your server.<br />
## Identify any customizations that you have made to the application code to make sure these are updated with any functionality.<br />
## Again, Beyond Compare is a good tool to compare the new and current file to identify the exact lines of code that have been changed. <br />
## This is important for components that have customized functions to the site level "/_cs_apps/". The best practice is to identify the function that have been customized and compare with the new app function to identify any updates. A good help is to check the function comment header to see if any updates have been made.<br />
# Once completed, Reset the ADF.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Poll&diff=7322PT Poll2017-08-03T21:52:41Z<p>Ssmith: </p>
<hr />
<div>== Overview ==<br />
The ADF Poll Application is built in the [[Overview|Application Development Framework (ADF)]]...<br />
<br />
This application provides the ability to query your visitors in an easy to use manner. It also allows exporting of poll data.<br />
<br />
== Requirements ==<br />
ADF must be configured correctly for your site. [[Site Configuration (ADF.cfc)]] has instructions for configuration.<br />
<br />
[[Overview|Application Development Framework (ADF)]] must be setup and configured on the server for the site. For detailed instructions, see the [[Overview|Application Development Framework (ADF)]] wiki page for Site Configurations.<br />
<br />
== Installation/Setup ==<br />
'''Current ADF 2.0 Release Version:'''<br />
* v3.0<br />
** [[PT_Poll_Version_3.0_Release_Notes|Version 3.0 Release Notes]]<br />
** [[PT_Poll_Version_3.0_Install|Version 3.0 Install Guide]] <br />
** [[PT_Poll_Version_3.0_Upgrade|Version 3.0 Upgrade Guide]] <br />
IMPORTANT: v3.0 of this application requires '''ADF 2.0''' or greater (and '''CommonSpot 10''' or greater)<br />
<br />
<br />
'''Current ADF 1.8 Release Version:'''<br />
*v2.0:<br />
** [[PT_Poll_Release_Notes_v2|Release Notes]]<br />
** [[PT_Poll_Install_v2|Install Guide]]<br />
** [[PT_Poll_Upgrade_v2|Upgrade Guide]]<br />
IMPORTANT: v2.0 of this application requires the ADF 1.7 up to ADF 1.8.x<br />
<br />
<br />
'''Previous Versions:'''<br />
* v1.0:<br />
** [[PT_Poll_1.0_Install|Version 1.0 Install Guide]]<br />
<br />
== Poll Element Defaults ==<br />
* [[PT_Poll_question|Poll Question]]<br />
* [[PT_Poll_question_gallery|Poll Question Gallery]]<br />
* [[PT_Poll_vote|Poll Vote]]<br />
<br />
[[Category:Project]]<br />
[[Category:Poll]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=Main_Page&diff=7321Main Page2017-08-03T21:50:49Z<p>Ssmith: </p>
<hr />
<div><!-- // Hide the table of contents for the home page --><br />
__NOTOC__<br />
<br />
<big>'''Application Development Framework (ADF) Wiki'''</big><br />
<br />
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software...<br />
<br />
== What is the ADF? ==<br />
The ADF is an Open Source framework that connects into your CommonSpot installation to allow you to develop applications and extend your CommonSpot site easily. The ADF is:<br />
<br />
* A set of utilities (e.g. application.ADF.csData.getPageMetadata(pageID) )<br />
* A methodology for developing portable CommonSpot applications<br />
* Programmatic access to more CommonSpot data then ever before<br />
* Easily installable<br />
* Easily upgradeable<br />
* FUN!<br />
<br />
<h4>[[Overview|Get a detailed overview of the ADF here]]</h4><br />
<br />
<div class="float_box fixed"><br />
<h3>Haven't installed yet</h3><br />
* [[Overview | Overview ]]<br />
* [[Architecture | Architecture ]]<br />
* [http://community.paperthin.com/projects/ADF/svn/index.cfm Download]<br />
* [[Installation|Installation]]<br />
* [[Upgrade|Upgrade]]<br />
* [[View All| View All Projects]]<br />
* [[Starter_Application_Install | Install the Starter App]]<br />
</div><br />
<br />
<div class="float_box fixed"><br />
<h3>Installed and ready to go</h3><br />
* [[Getting Started | Getting Started with the ADF]]<br />
* [http://community.paperthin.com/projects/ADF/docs/library/ Library (API)] - updated for v1.8.1<br />
* [[Library|Library (API)]] - v1.x<br />
* [[Extensions: Custom Field Types]]<br />
<!-- * [[Extensions: Custom Scripts]] --><br />
* [[Ajax]]<br />
* [[Architecture ]]<br />
* [http://community.paperthin.com/projects/ADF/forum Forums]<br />
* [[CCAPI Config| CCAPI Config]]<br />
* [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] - new feature for v1.8<br />
</div><br />
<br />
<div class="float_box fixed"><br />
<h3>Building Applications and extending</h3><br />
* [[ADF Applications |Creating a new application]]<br />
* [[Add_ADF_Library_Components_into_App|Loading ADF Library Components into your application ]]<br />
* [http://community.paperthin.com/projects/ADF/forum Forums]<br />
</div><br />
<br />
<div style="clear:both;"><br />
&nbsp;<br />
</div></div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media_Version_3.0_Install&diff=7316PT Social Media Version 3.0 Install2017-03-16T18:43:39Z<p>Ssmith: /* CCAPI Configuration */</p>
<hr />
<div>Back to [[PT_Social_Media|PT Social Media]]<br />
<br />
IMPORTANT: v3.0 of this application requires '''ADF 2.0''' or greater (and '''CommonSpot 10''' or greater) <br />
<br />
== Download ==<br />
Download the Social Media Application from the [http://community.paperthin.com/projects/pt_social_media/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_social_media/'''<br />
<br />
== Site Configuration ==<br />
The Social Media Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Social Media Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) in a text editor. <br />
* Locate the ''Load the ADF Application into application space'' comment in the file. Add (or uncomment) the following command under the comment section:<br />
<br />
loadApp("ptSocialMedia");<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* /ADF/apps/pt_social_media/style/socialmedia.css<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Social Media Template you create.<br />
<br />
Note: the classes and styles defined for the Social Media app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Social Media App has several Custom Components defined within CommonSpot. These components are available in the Social Media's "exported-objects" folder located at the root of the Social Media application directory (e.g. /ADF/apps/pt_social_media/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Social Media Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br />
<br />
#[[SocialMedia Selector]] (SocialMedia-Selector-Custom-Element.zip)<br />
#[[Facebook Pages]] (Facebook-Pages-Custom-Element.zip)<br />
#[[Twitter Accounts Keywords]] (Twitter-Accounts-Keywords-Selector-Custom-Element.zip)<br />
#[[WordPress Blogs]] (WordPress-Blogs-Custom-Element.zip)<br />
#[[YouTube Channels]] (YouTube-Channels-Custom-Element.zip)<br />
#[[ptSocialMedia Configuration]] (ptSocialMedia-Configuration-Custom-Element.zip)<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The SocialMedia Selector 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.<br />
<br />
== App Configuration ==<br />
The Social Media App uses a custom element to store site specific configurations. <br />
<br />
Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.<br />
<br />
There are several configuration fields:<br />
<br />
===General Config Tab===<br />
# '''ui_theme''' - The Social Media app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''socialMediaServiceTypes''' - Checkboxes used to enable the social media types that will be utilized<br>(Default: facebook,twitter,youtube,wordpress)<br />
# '''dashboardURL''' - URL of Social Media App Web Admin Dashboard page where the Feed Cache scheuduled task is managed.<br />
# '''serviceManagerURL''' - URL of Social Media App Web Admin Service Manager page where service accounts are maintained<br />
# '''configManagerURL''' - URL of Social Media App Web Admin Configuration page where all of the App configuration setting are modified<br />
# '''enableFeedCache''' - a checkbox to activate or deactivate the Social Media App service feed caching<br />
#'''rebuildFeedCacheInterval''' - an integer value in minutes for the pause time between feed cache rebuild scheduled tasks<br>(Default: 15 mins)<br />
<br />
===Facebook API Tab===<br />
# '''apiFacebookAppID''' - The '''App ID''' you receive when you register your App on Facebook<br />
<!-- // removed 5/25/2012 this apiFacebookAPIKey field is no longer need for the Facebook App API --><br />
<!--# '''apiFacebookAPIKey''' - The '''API Key''' you receive when you register your App on Facebook --><br />
# '''apiFacebookAppSecret''' - The '''App Secret''' you receive when you register your App on Facebook<br />
- [[PT_Social_Media_Facebook_App_Registration|Facebook App Registration Instructions]]<br />
<br />
===Twitter API Tab===<br />
# '''apiTwitterCustomerKey''' - The '''Consumer Key''' you receive when you register your App on Twitter<br />
# '''apiTwitterCustomerSecret''' - The '''Consumer Secret''' you receive when you register your App on Twitter<br />
- [[PT_Social_Media_Twitter_App_Registration|Twitter App Registration Instructions]]<br />
<br />
===WordPress API Tab===<br />
# '''wordPressServiceURL''' - URL of Blog Index page <br />
# '''wordPressServiceImage''' - A service image for Blog Index page<br />
# '''apiWordPressFeedSuffix''' - Suffix for the WordPress Blog RSS feed. ie. '?feed=rss2' or '/feed/' depending how your WordPress site is configured<br />
# '''apiWordPressContentWordLimit''' - Maximum number of words rendered from the blog post content. Default: 100. Use 0 (zero) to display all.<br />
<br />
Note: The other API fields in the configuration element (not listed here) should NOT need to be modified from their default values unless one of the social media services changes their data feed format or feed URL and/or URL parameters.<br />
<br />
== Subsites ==<br />
A specific subsite for social media pages is optional. The Social Media Feed page which in most cases will be a public facing page (or pages) can live anywhere on your site. But for this install we will create a ''socialmedia'' subsite for this page.<br />
<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Social Media subsite that will contain the Management pages for for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps under '''Web Admin'' will add a ''socialmedia'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Social Media ===<br />
# Create a new subsite under the site root called ''socialmedia''.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''socialmedia''.<br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give permissions to the group of administrators who will need access to the social media management pages.<br />
<br />
== Templates ==<br />
===Social Media Template - ''Optional''===<br />
<br />
The Social Media template will be used to render Social Media pages.<br />
<br />
Note: A Social Media templates are not critical for this application. A Social Media feeds page can be added to any page based on any template with a large main content column.<br />
<br />
# Create a CommonSpot page called 'Social Media' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called 'socialmedia'). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# Create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called webadmin). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Admin Pages ==<br />
Follow the guide to create these 4 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
<br />
===CCAPI Configuration===<br />
The Social Media Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate each of the social media service custom element records with moderation data. The CCAPI needs to be configured for the site and for the social media application.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Social Media application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiSocialMedia'. Recommend creating this page in the ''/webadmin/socialmedia/'' subsite. <br />
# Add each of the following Social Media elements to the page:<br />
##[[Facebook Pages]]<br />
##[[Twitter Accounts Keywords]]<br />
##[[WordPress Blogs]]<br />
##[[YouTube Channels]]<br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiFacebookPages<br />
## ccapiTwitterAccountsKeywords<br />
## ccapiWordPressBlogs<br />
## ccapiYouTubeChannels<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_social_media > site-files > _cs_apps > config''' folder <br />
<br />
<br />
<FacebookPages><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiFacebookPages</controlName><br />
</FacebookPages><br />
<TwitterAccountsKeywords><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiTwitterAccountsKeywords</controlName><br />
</TwitterAccountsKeywords><br />
<WordPressBlogs><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiWordPressBlogs</controlName><br />
</WordPressBlogs><br />
<YouTubeChannels><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiYouTubeChannels</controlName><br />
</YouTubeChannels><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiSocialMedia' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<br />
var jsSubSiteID = ##;<br />
<br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<br />
var jsPageID = ####;<br />
<br />
===Manage App Configuration Page===<br />
The Social Media Configuration Page will be used to manage the ptSocialMedia Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called 'Configuration Manager' in the ''/webadmin/socialmedia/'' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create Social Media Configuration Record'''<br />
<br />
We are creating a single Social Media Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
You can also update the following fields: <br />
# General Config Tab<br />
## '''ui_theme'''<br />
## '''socialMediaServiceTypes''' <br />
# Facebook API Tab<br />
## '''apiFacebookAppID''' <br />
## '''apiFacebookAppSecret''' <br />
# Twitter API Tab<br />
## '''apiTwitterCustomerKey''' <br />
## '''apiTwitterCustomerSecret'''<br />
# WordPress API Tab<br />
## '''wordPressServiceURL''' <br />
## '''wordPressServiceImage''' <br />
## '''apiWordPressFeedSuffix''' <br />
## '''apiWordPressContentWordLimit''' <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
===Manage Service Accounts Page with Multiple Datasheets===<br />
The Manage Social Media page is a page that contains the data management datasheets for the four social media custom elements. This page is build using a tabbed interface with one tab for each social media service datasheet. <br />
<br />
#Create a page from the Base Plus One (or a Web Admin) template titled 'Manage Service Accounts' with the page name 'index' in the ''/webadmin/socialmedia/'' subsite.<br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path: <br />
#*/ADF/apps/pt_social_media/customcf/manage_social_media_tabs_v2.cfm<br />
<br />
(Remember: If any of the social media services have been disabled in the [[#App Configuration|App Configuration]]<br>those service tabs will not appear on this management page.)<br />
<br />
'''Facebook Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Facebook Pages View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Facebook Pages <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Facebook Pages" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, FBPAGENAME, FBPAGELINK and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = FBPAGENAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''Twitter Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Twitter Accounts and Keywords View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Twitter Accounts and Keywords <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Twitter Accounts Keywords" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, TWITTERACCOUNTKEYWORD, TYPE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TwitterAccountKeyword Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''YouTube Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: YouTube Channels View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all YouTube Channels <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "YouTube Channels" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, CHANNELTITLE, CHANNELUSERNAME and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = CHANNELTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''WordPress Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: WordPress Blogs View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all WordPress Blogs <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "WordPress Blogs" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, BLOGTITLE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = BLOGTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
#Publish this page.<br />
<br />
<!-- '''Usage''' --><br />
<br />
===Social Media Dashboard Page===<br />
The Social Media Dashboard page is a page is used to manage the Service Feed Cache and the Scheduled task that rebuilds the Service Feed Cache at the desired interval.<br />
This page contains:<br />
*The status of the Service Feed Cache<br />
*The date & time stamp of when the Service Feed Cache was last built<br />
*A button to Force the Service Feed Cache to be rebuilt<br />
*A button to set the Scheduled task to rebuild the Service Feed Cache at regular intervals<br />
*A data table that displays the current status of the Service Feed Cache scheduled task<br />
<br />
To build this page:<br />
#Create a new page from the Base Plus One (or a Web Admin) template called 'Social Media Dashboard' in the /webadmin/socialmedia/ subsite. <br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#*/ADF/apps/pt_social_media/customcf/sm_dashboard_header.cfm<br />
<br />
'''Usage'''<br><br />
Go to the '''Social Media Dashboard''' section on the [[PT_Social_Media_Getting Started#Social Media Dashboard|Getting Started]] page for more information on usage of this page.<br />
<br />
===Social Media Stream Debug Page - ''Optional''===<br />
Since the content for this page is primarily under the control of each of the Social Media Services you are receiving the posts from it maybe necessary to have deeper visualization into the raw data coming from these services.<br />
<br />
This page is a version of the Social Media Stream Page with a debug tools header custom script. It may be best to go through the steps to create and configure a standard Social Media Stream page before creating this debugging page.<br />
<br />
* [[#Social Media Stream Pages|Social Media Stream Page]]<br />
* ''Configure the Social Media Stream Page'' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page<br />
<br />
It is also '''highly recommended''' that this debugging stream page be built in the Social Media Web Admin subsite so it will be protected by the Web Admin security settings.<br />
<br />
To construct your Social Media Debugging Stream page complete the following steps:<br />
<br />
#Create a CommonSpot page with a name of 'Social Media Debug' and a title of 'Social Media Debug' using the Social Media template and place it in the '/webadmin/socialmedia/' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/sm_debug_links.cfm'' <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
'''Usage'''<br />
<br />
Once the page has been created and configured to display posts from the selected Social Media services you can use the debug tools checkboxes to select different raw data dump combinations and then click the link to reload the page. <br />
<br />
When the page is fully reloaded, there will be Coldfusion data dumps visible above the posts that will display the raw data that is used to build the stream page.<br />
<br />
If Social Media errors have occurred for the various services, links will be generated to allow access to open the error log files from the CommonSpot logs folder.<br />
<br />
(Remember: This debug page needs to remain dynamic since it uses URL variables to modify the<br>Feed Stream Output. Please make sure that CommonSpot Caching has been disabled on this page.)<br />
<br />
== Social Media Stream Pages ==<br />
For this install we will only create one main social media stream page. But many pages can be created throughout your site to meet your specific needs using this same method. <br />
For example, a separate page could be created for each of the social media services (ie. YouTube Channels page) or pages could be created for specific social media accounts. <br />
<br />
The Social Media Stream Page is where the social media posts from the selected social media service pages, accounts and keywords display. These posts come from the live data feeds available from each service. The posts are not stored locally and with active social media account will possibly change with each page refresh. <br />
<br />
To construct your Social Media Stream page complete the following steps. <br />
(Remember these steps can be adapted to a page created in any subsite using any template that has a large content area column.)<br />
<br />
#Create a CommonSpot page with a name of 'index' and a title of 'Social Media Stream' using the Social Media template and place it in the 'socialmedia' subsite. <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
Go to the '''Configure the Social Media Stream Page''' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page for more info.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media&diff=7315PT Social Media2017-03-16T17:25:48Z<p>Ssmith: /* Installation Guides */</p>
<hr />
<div>== About the Social Media App ==<br />
The Social Media application is built using the [[Overview|Application Development Framework (ADF)]]. <br />
<br />
<!--<br />
IMPORTANT: <br />
v1.x of this application requires '''ADF 1.5''' or greater<br />
v2.x of this application requires '''ADF 1.6''' or greater<br />
--><br />
<br />
== Overview ==<br />
The Social Media application provides a tool to allow your organizations social media live data streams from your Facebook Pages, your Twitter accounts and targeted Twitter keyword searches, your YouTube Channels and your WordPress blog posts to be combined in various configurations to be displayed in one or in various strategic locations on your CommonSpot site.<br />
<br />
== Requirements ==<br />
ADF Library components that are required for the Calendar application:<br />
* CEData_1_1<br />
* CSData_1_1<br />
* Data_1_1<br />
* Date_1_1<br />
* Forms_1_1<br />
* UI_1_0<br />
* Scripts_1_1<br />
* JSON<br />
* CCAPI<br />
<br />
App v1.2 and higher also requires:<br />
* CSContent_1_0<br />
* Scheduler_1_0<br />
* Utils_1_1<br />
<br />
The ADF 1.5.x must be configured correctly for your site. The [[Site Configuration (ADF.cfc)]] wiki page has instructions for configuration.<br />
<br />
== Contents ==<br />
The Social Media application contains the following:<br />
* Custom Coding - various components and scripts.<br />
<br />
* '''Custom Elements:'''<br />
**[[SocialMedia Selector]] - Custom Element<br />
**[[Facebook Pages]] - Custom Element<br />
**[[Twitter Accounts Keywords]] - Custom Element<br />
**[[WordPress Blogs]] - Custom Element<br />
**[[YouTube Channels]] - Custom Element<br />
**[[ptSocialMedia Configuration]] - Custom Element<br />
<br />
* '''Custom Fields:'''<br />
** Video Size Calculator Field<br />
<br />
Note: Elements may contain one or more: Render Handlers or Custom Field Types. They do NOT use Display Templates.<br />
<br />
== Pre-installation Considerations ==<br />
The [[Overview|Application Development Framework (ADF)]] must be setup and configured on the server for the site that will be implementing the Social Media application. For detailed instructions follow the [[Overview|ADF Overview]] wiki page for Site Configurations.<br />
<br />
This installation guide assumes that you have no Custom Elements and/or Metadata Forms with the names above. Before the install, remove any Custom Elements/Metadata Forms with the names listed in the "Contents" section above. (If you do not remove existing elements with these names, you may have difficulties during the installation.)<br />
<br />
<!--<br />
<br />
== Installation/Setup ==<br />
Each of the following steps should be completed fully and in the order presented:<br />
# [[PT Social Media Extract Application|Download/Extract PT Social Media Application]]<br />
# [[PT Social Media ADF Configuration|PT Social Media ADF Configuration]]<br />
# [[PT Social Media Styles|Styles]]<br />
# [[PT Social Media Import Custom Elements|Import Custom Elements]]<br />
# [[PT Social Media Site Configuration|Site Configuration]]<br />
# [[PT Social Media Build Subsites Templates and Pages|Build Subsites, Templates and Pages]]<br />
<br />
--><br />
<br />
<!--<br />
== Features ==<br />
The Social Media application provides the following features:<br />
* [[PT_Social_Media_Facebook_Like|Facebook Like]]<br />
* [[PT_Social_Media_Twitter_Tweet|Twitter Tweet]]<br />
--><br />
<br />
== Installation Guides ==<br />
<!-- '''Current Release:''' --><br />
'''Current ADF 2.0 Release Version:'''<br />
* v3.0:<br />
** [[PT_Social_Media_Version_3.0_Release_Notes|Version 3.0 Release Notes]] <br />
** [[PT_Social_Media_Version_3.0_Install|Version 3.0 Install Guide]]<br />
** [[PT_Social_Media_Version_3.0_Upgrade|Version 3.0 Upgrade Guide]] (from v2.2)<br />
IMPORTANT: v3.0 of this application requires the '''ADF 2.0''' or greater <br />
<br />
'''Current ADF 1.8 Release Version:'''<br />
* v2.2:<br />
** [[PT_Social_Media_Version_2.2_Release_Notes|Version 2.2 Release Notes]] <br />
** [[PT_Social_Media_Version_2.2_Install|Version 2.2 Install Guide]]<br />
** [[PT_Social_Media_Version_2.2_Upgrade|Version 2.2 Upgrade Guide]] (from v2.1)<br />
IMPORTANT: v2.x of this application requires '''ADF 1.6''' or greater. '''ADF 1.8.x''' is recommended.<br />
<br />
<!--<br />
'''Current Development Build:'''<br />
* v2.3:<br />
** [[PT_Social_Media_Version_2.3_Release_Notes|Version 2.3 Release Notes]] <br />
** [[PT_Social_Media_Version_2.3_Install|Version 2.3 Install Guide]]<br />
** [[PT_Social_Media_Version_2.3_Upgrade|Version 2.3 Upgrade Guide]] (from v2.2)<br />
--><br />
<br />
'''Previous Versions:'''<br />
* v2.1:<br />
** [[PT_Social_Media_Version_2.1_Release_Notes|Version 2.1 Release Notes]] <br />
** [[PT_Social_Media_Version_2.1_Install|Version 2.1 Install Guide]]<br />
** [[PT_Social_Media_Version_2.1_Upgrade|Version 2.1 Upgrade Guide]] (from v2.0)<br />
<br />
* v2.0:<br />
** [[PT_Social_Media_Version_2.0_Release_Notes|Version 2.0 Release Notes]] <br />
** [[PT_Social_Media_Version_2.0_Install|Version 2.0 Install Guide]]<br />
** [[PT_Social_Media_Version_2.0_Upgrade|Version 2.0 Upgrade Guide]] (from v1.2)<br />
<br />
IMPORTANT: v2.x of this application requires '''ADF 1.6''' or greater<br />
<br />
* v1.2:<br />
** [[PT_Social_Media_Version_1.2_Release_Notes|Version 1.2 Release Notes]]<br />
** [[PT_Social_Media_Version_1.2_Install|Version 1.2 Install Guide]]<br />
** [[PT_Social_Media_Version_1.2_Upgrade|Version 1.2 Upgrade Guide]] (from v1.0 or v1.1)<br />
<br />
* v1.1<br />
** [[PT_Social_Media_Version_1.1_Release_Notes|Version 1.1 Release Notes]]<br />
** [[PT_Social_Media_Version_1.1_Install|Version 1.1 Install Guide]]<br />
<br />
* v1.0 <br />
** [[PT_Social_Media_Version_1.0_Release_Notes|Version 1.0 Release Notes]]<br />
** [[PT_Social_Media_Version_1.0_Install|Version 1.0 Install Guide]]<br />
<br />
IMPORTANT: v1.x of this application requires '''ADF 1.5''' or greater<br />
<br />
== Getting Started Guide ==<br />
* [[PT_Social_Media_Getting Started|Getting Started]]<br />
<br />
== Features ==<br />
The social media application provides the following features:<br />
* [[PT_Social_Media_Facebook|Facebook Pages Data Stream]]<br />
* [[PT_Social_Media_Twitter|Twitter Accounts and Keywords Data Stream]]<br />
* [[PT_Social_Media_YouTube|YouTube Channels Data Stream]]<br />
* [[PT_Social_Media_WordPress|WordPress Blogs Data Stream]]<br />
<br />
== Known Issues/Bugs ==<br />
Found a bug, view the [http://community.paperthin.com/projects/pt_social_media/issue/ PT Social Media Issues] page. Your issue not on the list? Then post it so the issue can be addressed.<br />
<br />
[[Category:Project]][[Category:Social Media]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_4.0_Install&diff=7314PT Calendar Version 4.0 Install2017-03-09T04:17:24Z<p>Ssmith: /* Rendering and Display Tab */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v4.0 of this application requires '''ADF 2.0''' or greater <br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Calendar 4.0 Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<br />
loadApp("ptCalendar");<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
'''Note''': The classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar application<br />
and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your <br />
style definitions.<br />
<br />
=== Style Customization ===<br />
If you plan to customize or modify the Calendar application stylesheet, it is recommended that you copy the CSS file from the App's style folder (above) to a site-level directory. Once the file has been moved, you can register the stylesheet at the new location. <br />
<br />
Here is the recommended site-level location:<br />
* '''/_cs_apps/pt_calendar/style/calendar.css'''<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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.<br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element, "ptCalendar Configuration", to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - a checkbox (Default: unchecked)<br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users (Default: events@ptcalendar.com)<br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users (Default: Event Submission Notification)<br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users (Default: A calendar event was submitted and the following Event Categories were selected: [EventCats])<br />
# '''Send Event Approved Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Approved Label''' - (Default: Approved)<br />
# '''Event Approved Email Message''' - (Default: This event has been approved.)<br />
# '''Send Event Denied Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Denied Label''' - (Default: Denied)<br />
# '''Event Denied Email Message''' - (Default: This event has been Denied.)<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' - radio buttons (Default: Single)<br />
# '''calenderViews''' - multiple checkboxes (Default: empty)<br />
# '''defaultCalendarView''' - selection list (Default: empty)<br />
# '''calendarViewParamName''' - text field (Default: calview)<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder. (Default: no default selected)<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [https://cfdocs.org/dateformat DateFormat on cfdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [https://cfdocs.org/timeformat TimeFormat on cfdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [https://cfdocs.org/dateformat DateFormat on cfdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Calendar Cache Type''' - selection list:(memory, file, database) (Default: no default selected)<br />
# '''Enable Event Cache''' - checkbox (Default: unchecked)<br />
# '''Enable Event Cache for Events Management''' - checkbox (Default: No)<br />
# '''Calendar Cache DSN''' - (Default: ''the name of the current site's content datasource')<br />
# '''Max Number of Years for Future Events Cache''' - (Default: 0)<br />
# '''Max Number of Years for Past Events Cache''' - (Default: 0)<br />
# '''Enable Verbose Output''' - (Default: unchecked) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = EVENTS DATES AND TIMES Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options in the '''Calendar Display Properties''' element as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_4.0_Install&diff=7305PT Calendar Version 4.0 Install2016-08-12T20:50:35Z<p>Ssmith: /* Calendar View Pages */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v4.0 of this application requires '''ADF 2.0''' or greater <br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Calendar 4.0 Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<br />
loadApp("ptCalendar");<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
'''Note''': The classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar application<br />
and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your <br />
style definitions.<br />
<br />
=== Style Customization ===<br />
If you plan to customize or modify the Calendar application stylesheet, it is recommended that you copy the CSS file from the App's style folder (above) to a site-level directory. Once the file has been moved, you can register the stylesheet at the new location. <br />
<br />
Here is the recommended site-level location:<br />
* '''/_cs_apps/pt_calendar/style/calendar.css'''<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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.<br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element, "ptCalendar Configuration", to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - a checkbox (Default: unchecked)<br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users (Default: events@ptcalendar.com)<br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users (Default: Event Submission Notification)<br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users (Default: A calendar event was submitted and the following Event Categories were selected: [EventCats])<br />
# '''Send Event Approved Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Approved Label''' - (Default: Approved)<br />
# '''Event Approved Email Message''' - (Default: This event has been approved.)<br />
# '''Send Event Denied Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Denied Label''' - (Default: Denied)<br />
# '''Event Denied Email Message''' - (Default: This event has been Denied.)<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' - radio buttons (Default: Single)<br />
# '''calenderViews''' - multiple checkboxes (Default: empty)<br />
# '''defaultCalendarView''' - selection list (Default: empty)<br />
# '''calendarViewParamName''' - text field (Default: calview)<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder. (Default: no default selected)<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Calendar Cache Type''' - selection list:(memory, file, database) (Default: no default selected)<br />
# '''Enable Event Cache''' - checkbox (Default: unchecked)<br />
# '''Enable Event Cache for Events Management''' - checkbox (Default: No)<br />
# '''Calendar Cache DSN''' - (Default: ''the name of the current site's content datasource')<br />
# '''Max Number of Years for Future Events Cache''' - (Default: 0)<br />
# '''Max Number of Years for Past Events Cache''' - (Default: 0)<br />
# '''Enable Verbose Output''' - (Default: unchecked) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = EVENTS DATES AND TIMES Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options in the '''Calendar Display Properties''' element as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_4.0_Install&diff=7304PT Calendar Version 4.0 Install2016-08-12T20:45:59Z<p>Ssmith: /* Calendar Modules and Widgets (Narrow Content Area) - Optional Items */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v4.0 of this application requires '''ADF 2.0''' or greater <br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Calendar 4.0 Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<br />
loadApp("ptCalendar");<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
'''Note''': The classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar application<br />
and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your <br />
style definitions.<br />
<br />
=== Style Customization ===<br />
If you plan to customize or modify the Calendar application stylesheet, it is recommended that you copy the CSS file from the App's style folder (above) to a site-level directory. Once the file has been moved, you can register the stylesheet at the new location. <br />
<br />
Here is the recommended site-level location:<br />
* '''/_cs_apps/pt_calendar/style/calendar.css'''<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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.<br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element, "ptCalendar Configuration", to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - a checkbox (Default: unchecked)<br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users (Default: events@ptcalendar.com)<br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users (Default: Event Submission Notification)<br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users (Default: A calendar event was submitted and the following Event Categories were selected: [EventCats])<br />
# '''Send Event Approved Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Approved Label''' - (Default: Approved)<br />
# '''Event Approved Email Message''' - (Default: This event has been approved.)<br />
# '''Send Event Denied Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Denied Label''' - (Default: Denied)<br />
# '''Event Denied Email Message''' - (Default: This event has been Denied.)<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' - radio buttons (Default: Single)<br />
# '''calenderViews''' - multiple checkboxes (Default: empty)<br />
# '''defaultCalendarView''' - selection list (Default: empty)<br />
# '''calendarViewParamName''' - text field (Default: calview)<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder. (Default: no default selected)<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Calendar Cache Type''' - selection list:(memory, file, database) (Default: no default selected)<br />
# '''Enable Event Cache''' - checkbox (Default: unchecked)<br />
# '''Enable Event Cache for Events Management''' - checkbox (Default: No)<br />
# '''Calendar Cache DSN''' - (Default: ''the name of the current site's content datasource')<br />
# '''Max Number of Years for Future Events Cache''' - (Default: 0)<br />
# '''Max Number of Years for Past Events Cache''' - (Default: 0)<br />
# '''Enable Verbose Output''' - (Default: unchecked) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = EVENTS DATES AND TIMES Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_4.0_Install&diff=7303PT Calendar Version 4.0 Install2016-08-12T01:09:54Z<p>Ssmith: /* Manage Event Categories Datasheet */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v4.0 of this application requires '''ADF 2.0''' or greater <br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Calendar 4.0 Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<br />
loadApp("ptCalendar");<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
'''Note''': The classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar application<br />
and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your <br />
style definitions.<br />
<br />
=== Style Customization ===<br />
If you plan to customize or modify the Calendar application stylesheet, it is recommended that you copy the CSS file from the App's style folder (above) to a site-level directory. Once the file has been moved, you can register the stylesheet at the new location. <br />
<br />
Here is the recommended site-level location:<br />
* '''/_cs_apps/pt_calendar/style/calendar.css'''<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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.<br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element, "ptCalendar Configuration", to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - a checkbox (Default: unchecked)<br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users (Default: events@ptcalendar.com)<br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users (Default: Event Submission Notification)<br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users (Default: A calendar event was submitted and the following Event Categories were selected: [EventCats])<br />
# '''Send Event Approved Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Approved Label''' - (Default: Approved)<br />
# '''Event Approved Email Message''' - (Default: This event has been approved.)<br />
# '''Send Event Denied Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Denied Label''' - (Default: Denied)<br />
# '''Event Denied Email Message''' - (Default: This event has been Denied.)<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' - radio buttons (Default: Single)<br />
# '''calenderViews''' - multiple checkboxes (Default: empty)<br />
# '''defaultCalendarView''' - selection list (Default: empty)<br />
# '''calendarViewParamName''' - text field (Default: calview)<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder. (Default: no default selected)<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Calendar Cache Type''' - selection list:(memory, file, database) (Default: no default selected)<br />
# '''Enable Event Cache''' - checkbox (Default: unchecked)<br />
# '''Enable Event Cache for Events Management''' - checkbox (Default: No)<br />
# '''Calendar Cache DSN''' - (Default: ''the name of the current site's content datasource')<br />
# '''Max Number of Years for Future Events Cache''' - (Default: 0)<br />
# '''Max Number of Years for Past Events Cache''' - (Default: 0)<br />
# '''Enable Verbose Output''' - (Default: unchecked) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = EVENTS DATES AND TIMES Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_4.0_Install&diff=7302PT Calendar Version 4.0 Install2016-08-12T00:12:17Z<p>Ssmith: /* CCAPI Configuration */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v4.0 of this application requires '''ADF 2.0''' or greater <br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Calendar 4.0 Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<br />
loadApp("ptCalendar");<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
'''Note''': The classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar application<br />
and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your <br />
style definitions.<br />
<br />
=== Style Customization ===<br />
If you plan to customize or modify the Calendar application stylesheet, it is recommended that you copy the CSS file from the App's style folder (above) to a site-level directory. Once the file has been moved, you can register the stylesheet at the new location. <br />
<br />
Here is the recommended site-level location:<br />
* '''/_cs_apps/pt_calendar/style/calendar.css'''<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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.<br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element, "ptCalendar Configuration", to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - a checkbox (Default: unchecked)<br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users (Default: events@ptcalendar.com)<br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users (Default: Event Submission Notification)<br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users (Default: A calendar event was submitted and the following Event Categories were selected: [EventCats])<br />
# '''Send Event Approved Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Approved Label''' - (Default: Approved)<br />
# '''Event Approved Email Message''' - (Default: This event has been approved.)<br />
# '''Send Event Denied Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Denied Label''' - (Default: Denied)<br />
# '''Event Denied Email Message''' - (Default: This event has been Denied.)<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' - radio buttons (Default: Single)<br />
# '''calenderViews''' - multiple checkboxes (Default: empty)<br />
# '''defaultCalendarView''' - selection list (Default: empty)<br />
# '''calendarViewParamName''' - text field (Default: calview)<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder. (Default: no default selected)<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Calendar Cache Type''' - selection list:(memory, file, database) (Default: no default selected)<br />
# '''Enable Event Cache''' - checkbox (Default: unchecked)<br />
# '''Enable Event Cache for Events Management''' - checkbox (Default: No)<br />
# '''Calendar Cache DSN''' - (Default: ''the name of the current site's content datasource')<br />
# '''Max Number of Years for Future Events Cache''' - (Default: 0)<br />
# '''Max Number of Years for Past Events Cache''' - (Default: 0)<br />
# '''Enable Verbose Output''' - (Default: unchecked) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = EVENTS DATES AND TIMES Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_4.0_Install&diff=7301PT Calendar Version 4.0 Install2016-08-11T19:45:04Z<p>Ssmith: /* App Configuration */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v4.0 of this application requires '''ADF 2.0''' or greater <br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Calendar 4.0 Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<br />
loadApp("ptCalendar");<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
'''Note''': The classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar application<br />
and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your <br />
style definitions.<br />
<br />
=== Style Customization ===<br />
If you plan to customize or modify the Calendar application stylesheet, it is recommended that you copy the CSS file from the App's style folder (above) to a site-level directory. Once the file has been moved, you can register the stylesheet at the new location. <br />
<br />
Here is the recommended site-level location:<br />
* '''/_cs_apps/pt_calendar/style/calendar.css'''<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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.<br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element, "ptCalendar Configuration", to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - a checkbox (Default: unchecked)<br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users (Default: events@ptcalendar.com)<br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users (Default: Event Submission Notification)<br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users (Default: A calendar event was submitted and the following Event Categories were selected: [EventCats])<br />
# '''Send Event Approved Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Approved Label''' - (Default: Approved)<br />
# '''Event Approved Email Message''' - (Default: This event has been approved.)<br />
# '''Send Event Denied Email to Contact''' - a checkbox (Default: unchecked)<br />
# '''Event Denied Label''' - (Default: Denied)<br />
# '''Event Denied Email Message''' - (Default: This event has been Denied.)<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' - radio buttons (Default: Single)<br />
# '''calenderViews''' - multiple checkboxes (Default: empty)<br />
# '''defaultCalendarView''' - selection list (Default: empty)<br />
# '''calendarViewParamName''' - text field (Default: calview)<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder. (Default: no default selected)<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Calendar Cache Type''' - selection list:(memory, file, database) (Default: no default selected)<br />
# '''Enable Event Cache''' - checkbox (Default: unchecked)<br />
# '''Enable Event Cache for Events Management''' - checkbox (Default: No)<br />
# '''Calendar Cache DSN''' - (Default: ''the name of the current site's content datasource')<br />
# '''Max Number of Years for Future Events Cache''' - (Default: 0)<br />
# '''Max Number of Years for Past Events Cache''' - (Default: 0)<br />
# '''Enable Verbose Output''' - (Default: unchecked) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = EVENTS DATES AND TIMES Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_4.0_Install&diff=7300PT Calendar Version 4.0 Install2016-08-11T00:56:19Z<p>Ssmith: /* Verify Imports */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v4.0 of this application requires '''ADF 2.0''' or greater <br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 2.0 or greater must be installed in the site to run the Calendar 4.0 Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<br />
loadApp("ptCalendar");<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
'''Note''': The classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar application<br />
and should not interfere with your site styles. However, it is a good idea to give these styles sheets higher precedence in your <br />
style definitions.<br />
<br />
=== Style Customization ===<br />
If you plan to customize or modify the Calendar application stylesheet, it is recommended that you copy the CSS file from the App's style folder (above) to a site-level directory. Once the file has been moved, you can register the stylesheet at the new location. <br />
<br />
Here is the recommended site-level location:<br />
* '''/_cs_apps/pt_calendar/style/calendar.css'''<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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.<br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = EVENTS DATES AND TIMES Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=Upgrade_Guide_v2.0&diff=7299Upgrade Guide v2.02016-05-31T05:04:25Z<p>Ssmith: </p>
<hr />
<div>== Current Version ==<br />
Follow the guide below if you are upgrading to ADF v2.0.<br />
<br />
Before upgrading, please review the [http://community.paperthin.com/projects/ADF/docs/release-notes/Release-Notes-v2-0.cfm v2.0 Release Notes]<br />
<br />
If you are upgrading from ADF v1.8.1 or earlier, then please follow the guides for previous ADF versions:<br />
* [[Upgrade_Guide_v1.8.1|1.8.1 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.8|1.8 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.7|1.7 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.6.2|1.6.2 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.6.1|1.6.1 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.6|1.6 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.5.2|1.5.2 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.5.1|1.5.1 Upgrade Guide]]<br />
* [[Upgrade_Guide_v1.5|1.5 Upgrade Guide]]<br />
<br />
== Upgrade ==<br />
Follow the steps below to upgrade the ADF directory:<br />
# Download the ADF v2.0 from the [http://community.paperthin.com/projects/ADF/ Community site project page].<br />
# On your server, rename the "/ADF/" directory to "/ADF-1.8.x/".<br />
# Create a new "/ADF/" directory. Setup any necessary security or permissions for the new "/ADF/" directory.<br />
# Export the download ADF zip folder into the "/ADF/" directory.<br />
# Copy the contents of the "/ADF-1.8.x/apps/" directory into the "/ADF/apps/" directory.<br />
# Reset the ADF through the web browser with the following URL parameter:<br />
## ?resetADF=1<br />
<br />
Note: If you have security permissions on the "/ADF/" directory make sure to set them up because the folder was renamed and then created new.<br />
<br />
== Validate Upgrade ==<br />
There are 2 methods to validate the ADF upgrade.<br />
=== ADF Reset ===<br />
# Reset the ADF through the web browser with the following URL parameter:<br />
## ?resetADF=1<br />
# The reset command will add text to the top line of the page. If you see the following text with the date/time stamp:<br />
## ADF v2.0.0 has been reset successfully!<br />
# Upgrade was successful and you are running the ADF v2.0.<br />
<br />
=== ADF Version Output ===<br />
# In the browser, add the following URL parameter:<br />
## ?ADFDumpVar=application.ADF.version<br />
# This command with output the ADF version at the top of the page. If you see the following text:<br />
## 2.0.0<br />
# Upgrade was successful and you are running the ADF v2.0.<br />
<br />
<br />
<br />
== Post-Upgrade Steps ==<br />
=== Register ADF Scripts as CommonSpot Resources ===<br />
<br />
# Register the ADF Script Resources with CommonSpot (for ADF 2.0 and above only!)<br />
## Run the [[Register All Scripts|Register ALL Scripts]] tool.<br />
<br />
'''IMPORTANT:''' The ADF thirdParty scripts libraries will not function when using ADF.scripts_2_0 loadScripts calls unless<br />
they are registered as Resources in CommonSpot 10. <br />
<br />
<!--<br />
To register ADF 2.0 ThirdParty Scripts as resources in CommonSpot 10 use these URL parameters.<br />
<br />
* To register ALL of the ADF 2.0 ThirdParty Scripts for the first time use: <br />
** http://{commonspot-site}/?configADF=1 <br />
''(Any existing ADF scripts/resources will be skipped.)''<br />
<br />
* To update/re-register all the existing resources ADF 2.0 ThirdParty Scripts use: <br />
** http://{commonspot-site}/?reconfiglADF=1 <br />
''(Any missing ADF scripts/resources will also be added.)''<br />
<br />
* In the case you want to only register (or re-register) a minimal set ThirdParty Scripts use these:<br />
** http://{commonspot-site}/?configADF=1&scriptsPackage=min <br />
** http://{commonspot-site}/?reconfigADF=1&scriptsPackage=min<br />
<br />
Remember: You must be logged in to the CommonSpot site for these parameters to run.<br />
<br />
For more information regarding the registration of ADF 2.0 ThirdParty Scripts as Resources in CommonSpot 10, please refer to the README information in the "/lib/scripts/scripts_2_0_READ_ME.txt" file.<br />
--><br />
<br />
=== Update Site Level Override Components ===<br />
<br />
* Any site level override ADF Lib components located in the "_cs_apps/lib/" folder will need to be renamed and the component "extends" updated to point to the latest version of the matching ADF Lib components.<br />
<br />
Example: "_cs_apps/lib/scripts_1_1.cfc" needs to become "scripts_2_0.cfc" and the extends value in the component tag<br />
will need to point to "ADF.lib.scripts.scripts_2_0"<br />
<br />
=== Update Custom App Lib Component References ===<br />
* Update any ADF Lib component references in your custom ADF Apps to the latest versions of the matching ADF 2.0 Lib components in the App's appBeanConfig.cfm file (in the root of the App directory).<br />
<br />
Example: "addConstructorDependency(appBeanName, "scripts_1_2", "scripts"); " needs to become<br />
"addConstructorDependency(appBeanName, "scripts_2_0", "scripts");"<br />
<br />
== Related Guides ==<br />
=== CommonSpot Registered Resources ===<br />
* [[ADF Scripts and CommonSpot Registered Resources]] <br />
* [[Register All Scripts|Register ALL ADF Scripts as CommonSpot Resources]] <br />
<br />
[[Category: Upgrading the ADF]][[Category: How-to Guide]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6990PT Calendar Version 3 Install2016-02-25T00:19:33Z<p>Ssmith: /* CCAPI Configuration */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
<!-- IMPORTANT: v3.0 HAS NOT BEEN RELEASED!! --><br />
<!-- IMPORTANT: '''ADF 1.6''' or greater is '''REQUIRED''' for this application. --><br />
<br />
IMPORTANT: PT Calender '''v3.0''' requires '''ADF 1.6''' or greater.<br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.6 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Calendar application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Calendar elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6989PT Calendar Version 3 Install2016-02-25T00:16:03Z<p>Ssmith: /* Calendar Modules and Widgets (Narrow Content Area) - Optional Items */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
<!-- IMPORTANT: v3.0 HAS NOT BEEN RELEASED!! --><br />
<!-- IMPORTANT: '''ADF 1.6''' or greater is '''REQUIRED''' for this application. --><br />
<br />
IMPORTANT: PT Calender '''v3.0''' requires '''ADF 1.6''' or greater.<br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.6 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the '''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Forums elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6988PT Calendar Version 3 Install2016-02-24T23:08:34Z<p>Ssmith: </p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
<!-- IMPORTANT: v3.0 HAS NOT BEEN RELEASED!! --><br />
<!-- IMPORTANT: '''ADF 1.6''' or greater is '''REQUIRED''' for this application. --><br />
<br />
IMPORTANT: PT Calender '''v3.0''' requires '''ADF 1.6''' or greater.<br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.6 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the ''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Forums elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6987PT Calendar Version 3 Install2016-02-23T23:47:47Z<p>Ssmith: /* Calendar Page Mapping Configuration - Optional */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
<!-- IMPORTANT: v3.0 HAS NOT BEEN RELEASED!! --><br />
<!-- IMPORTANT: '''ADF 1.6''' or greater is '''REQUIRED''' for this application. --><br />
<br />
IMPORTANT: PT Calender '''v3.0''' requires '''ADF 1.6''' or greater.<br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.6 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the ''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Forums elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its own Page. This is how view pages were setup in the previous version of the PT Calendar (v2).<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6986PT Calendar Version 3 Install2016-02-23T23:32:47Z<p>Ssmith: /* Styles */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
<!-- IMPORTANT: v3.0 HAS NOT BEEN RELEASED!! --><br />
<!-- IMPORTANT: '''ADF 1.6''' or greater is '''REQUIRED''' for this application. --><br />
<br />
IMPORTANT: PT Calender '''v3.0''' requires '''ADF 1.6''' or greater.<br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.6 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Calendar application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Calendar App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Calendar 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)<br />
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)<br />
<br />
Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
=== Calendar Template ===<br />
<br />
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views. <br />
<br />
# Create a CommonSpot page called ''''Calendar'''' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
#* For the best results it is recommended to use a 'Two Column' layout. This layout will need one NARROW column with a container element for calendar modules and widgets and one WIDE column with a container element for the main calendar display views.<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
This calendar template will be setup using the '''SINGLE''' calendar view page mode. <br />
<br />
<!-- For the steps to<br />
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below. <br />
[[ADD LINK HERE]] --><br />
<br />
=== Calendar Template Setup ===<br />
<br />
==== Calendar Display Views (Wide Content Area) ==== <br />
<br />
# In the '''WIDE''' content container element on the template page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: <br />
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''<br />
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.<br />
# To configure the '''Calendar Display Properties''':<br />
## Click '''Data''' in the element interface.<br />
## From the 'Enter Custom Element Data' lightbox window that opens <br />
## Under the 'Calendar Display Properties' tab, select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
##* For example, for a Calendar that displays 'ALL APPROVED EVENTS' you would not select any '''Organizations''' or '''Categories''', but you would check the '''Approved''' checkbox.<br />
# Submit the Display properties form.<br />
<br />
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====<br />
<!-- Add these 5 modules and widgets to your template: <br />
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]<br />
#[[#Event Request Form Button|Event Request Form Button]]<br />
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] --><br />
<br />
# '''Small Calendar Month Grid Widget''' - Optional<br />
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-Month Grid-Single''' Local Custom Element. <br />
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' --><br />
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see --><br />
## To configure this widget:<br />
### Click '''Data''' in the element interface.<br />
### From the 'Enter Custom Element Data' lightbox window that opens <br />
### Under the 'Calendar Display Properties' tab, notice the '''Linked Calendar Page''' field leave this blank for now. When we create our Calendar View page we will select this page.<br />
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.<br />
###* It is best to select the same options as you selected for the Calendar Display Properties above in the WIDE content column. So following that example only check the '''Approved''' checkbox.<br />
## Submit the Widget Display properties form.<br />
# '''Event Request Form Button''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Month Jump Drop Down Nav''' - Optional<br />
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.<br />
## Enter the following text into the Explicit Module path: <br />
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''<br />
## Submit the Custom Script Element form.<br />
# '''Event Category Checkbox Filters''' - Optional<br />
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.<br />
## Next add the '''Calendar Event Categories''' Global Custom Element.<br />
## Click '''Render Mode''' in the element interface.<br />
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.<br />
### Select the '''Filter''' tab. <br />
### Select Filter Type to '''Show subset of records'''.<br />
### Select the '''Field''' drop-down as the ''Categories.Active''' field. <br />
### Select the operator as '''Equals'''.<br />
### For the third value drop-down select '''1'''. <br />
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] --><br />
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''<br />
### Click '''OK''' on the render mode window.<br />
## Now click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and select the Render Handler:<br />
##* '''Calendar Category CheckBox List''' <br />
## Click '''OK''' on the custom render handlers window.<br />
# Publish the changes to the template page.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation <br />
it may be good to go ahead and follow these steps for the CCAPI setup. <br />
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]] <br />
configuration for populating the Global Custom Elements used in this application.''<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Forums elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<pre><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</pre><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<pre><br />
var jsSubSiteID = ##;<br />
</pre><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<pre><br />
var jsPageID = ####;<br />
</pre><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = ORGANIZATIONNAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".<br />
## Select the "Subset of records" filter type.<br />
## Apply the following filter: <br />
### Field = Calendar_Event_Details.uniqueID<br />
### Operator = Value Contained In List<br />
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)<br />
## Click Finish or Save<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
# Create a CommonSpot page with a name '''index''' and the page title of '''Events Calendar''' using the '''Calendar Template''' and place it in the Calendar subsite. <br />
#* Since the this page is being created from the '''Calender Template''' which already contains all of the needed calendar elements, widgets and modules this '''All Events''' calendar page is complete.<br />
#* If you are making a sub-calendar which will have filtered events by organization or by category, then select the organization or category to filter by from the options is the '''Calendar Display Properties''' as described in the [[#Calendar Display Views (Wide Content Area)|Calendar Display Views (Wide Content Area)]] section.<br />
# Submit the Page.<br />
<br />
== Getting Started Guide ==<br />
After the the PT Calendar App has been installed there a few initial tasks that will need to be done before events can be added. <br />
<br />
=== Calendar App Configuration ===<br />
Make sure your App Configuration has been saved and the ADF reset.<br />
<br />
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.<br />
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information<br />
# Reset the ADF<br />
<br />
=== Calendar Organizations Configuration ===<br />
Organizations are used to build filtered sub-calendars on your site. <br />
<!-- For example, a top level calendar would contain all events but under an 'Athletics' subsite you would build an calendar filtered by an 'Athletics' organization. The calendar would only display Events assigned to the 'Athletics' organization. --><br />
<br />
Add a Organization via the '''Manage Calendar Organization''' datasheet:<br />
# Go to your Web Admin '''Manage Calendar Organizations''' page<br />
# Give the new record an '''Organization Name'''. This normally correlates to a subsite with a similar name. (For a filtered calendar in an 'Athletics' subsite you would create an 'Athletics' calendar organization.)<br />
# Check the 'Active' checkbox to enable the organization.<br />
# Optional - Select a '''Website''' URL for this Organization.<br />
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)<br />
# Click Submit<br />
<br />
=== Event Categories Configuration ===<br />
Event categories are a second level of grouping events. They are used to filter Events for a specific Organization on on your site. Categories can be assigned to specific organizations.<br />
Add the Event Categories via the '''Manage Event Categories''' datasheet:<br />
# Go to your Web Admin '''Manage Event Categories''' page<br />
# Give the new record an '''Category Name'''. <br />
# Check the 'Active' checkbox to enable the category.<br />
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.<br />
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)<br />
# Click Submit<br />
<br />
=== Calendar Page Mapping Configuration - Optional ===<br />
''Only used with the '''Multiple View Page''' Mode''<br />
<br />
When the Calendar is in '''Multiple View Page''' mode (see configuration) each Calendar View (month list, month grid, event details, etc.) is created on its won Page. This is how view pages were setup in the previous version of the PT Calendar (v2) was configured.<br />
<br />
The Calendar View Page Mapping is used to store the mappings that are used to connect the links on the different calendar view pages to the correct calendar views by registering each page that contains the various calendar render handlers.<br />
<br />
To configure Calendar Page Mappings for the All Events Pages complete the following steps.<br />
<br />
# Go to the web admin page you created for "Calendar Page Mappings Manager"<br />
# Click "Add New Page Mapping"<br />
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.<br />
# In each of the Calendar View select list fields (Detail, Daily, Weekly list, Weekly grid, Monthly list, Monthly grid) choose the page that contains the render handler was used for that the listed view page. In most cases the page selected for each will be in the same subsite that was selected in the "Choose Main Subsite" select list above.<br />
# Click Submit</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6985PT News Install v12016-02-16T22:45:41Z<p>Ssmith: /* News Landing Page */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The News Article custom element contains one use 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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "newsCategoryGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the News Article template or from the Base Plus One Template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element (if the Base+1 was used).<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Listing with Category Links and Pagination - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Listing with Category Links and Pagination - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6984PT News Install v12016-02-16T22:44:06Z<p>Ssmith: /* News Landing Page */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The News Article custom element contains one use 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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "newsCategoryGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the News Article template or from the Base Plus One Template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element (if the Base+1 was used).<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Listing with Category Links and Pagination - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Listing with Category Links and Pagination - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties for "newsArticlesCategoryFiltered" and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties for "newsArticlesCategoryFiltered" and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6983PT News Install v12016-02-16T22:33:50Z<p>Ssmith: /* News Landing Page */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The News Article custom element contains one use 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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "newsCategoryGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the News Article template or from the Base Plus One Template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element (if the Base+1 was used).<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Listing with Category Links and Pagination - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Listing with Category Links and Pagination - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6982PT News Install v12016-02-16T22:33:07Z<p>Ssmith: /* News Landing Page */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The News Article custom element contains one use 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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "newsCategoryGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the News Article template or from the Base Plus One Template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element (if the Base+1 was used).<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Listing with Category Links and Pagination - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6981PT News Install v12016-02-16T22:05:03Z<p>Ssmith: /* News Landing Page */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The News Article custom element contains one use 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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "newsCategoryGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the News Article template or from the Base Plus One Template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element (if the Base+1 was used).<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=Upgrade&diff=6802Upgrade2014-06-17T17:38:01Z<p>Ssmith: </p>
<hr />
<div>== Overview ==<br />
The upgrade guides are below for the specific ADF versions.<br />
<br />
[[Upgrade_Guide_v1.7|1.7.0 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.6.2|1.6.2 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.6.1|1.6.1 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.6|1.6.0 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.5.2|1.5.2 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.5.1|1.5.1 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.5|1.5.0 Upgrade Guide]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Photo_Gallery_Version_2.3_Upgrade&diff=6663PT Photo Gallery Version 2.3 Upgrade2014-03-28T01:26:05Z<p>Ssmith: /* Photo */</p>
<hr />
<div>== Overview ==<br />
This guide is to upgrade the PT Photo Gallery v2.3 from v2.2. If you are updating from a version earlier than v2.2, please follow the [[PT_Photo_Gallery_Version_2.2_Upgrade|v2.2 Upgrade Guide]] before upgrading.<br />
<br />
== ADF Application Code Review ==<br />
This is only for reviewing the code that is in the "/ADF/apps/" directory, not at the site level.<br />
<br />
# Download the application from the Community project page.<br />
# Unzip the application zip folder.<br />
# Analyze the updated app code compared to the current app code on your server. <br />
## Identify any customizations that you have made to the application code to make sure these are not overwritten by the app update. <br />
## A great tool to use is Beyond Compare to compare the new and current file to identify the exact lines of code that have been changed.<br />
# Once this is complete, then move your app customizations into the new app code package. <br />
<br />
== Application Code ==<br />
# Rename directory "/ADF/apps/pt_photo_gallery" to "/ADF/apps/pt_photo_gallery_v2".<br />
# Rename file "/ADF/apps/pt_photo_gallery_v2/appBeanConfig.cfm" to "/ADF/apps/pt_photo_gallery_v2/appBeanConfig.cfm.old".<br />
# Move the PT Photo Gallery v2.3 and into the "/ADF/apps/pt_photo_gallery/" directory.<br />
# Reset the ADF.<br />
<br />
== Custom Field Types ==<br />
=== Photo Upload Link ===<br />
# In the site administration, check if you have the "Photo Upload Link" field registered. <br />
## If yes, then identify the custom elements using the field. Open the field definition properties dialog and save.<br />
## If no, then no further steps need to be taken.<br />
<br />
=== Photo Category ===<br />
# Import the Photo Category custom field type.<br />
## /ADF/apps/pt_photo_gallery/exported-objects/Photo-Category-Custom-Field-Type.zip<br />
<br />
== Custom Element Updates ==<br />
Navigate to the Site Administrator and open the field definitions for the following custom element.<br />
<br />
=== Photo ===<br />
Update the "Category" field.<br />
# Open the field definitions for the "Category" field.<br />
## Look at the current properties <br />
## Open the properties and make note of the values in the "Field Name" and "Field Display Type" fields.<br />
# Change the field type to "Photo Category".<br />
## Open the properties and enter the values from the previous field type.<br />
### Note the new field for "JavaScript Field ID" uses the value of the "Field Name".<br />
<br />
=== Photo Category ===<br />
# Open the field definitions for the "Photo Category" element.<br />
# Edit the "reqSizeIDList" field and open the properties tab.<br />
## Set the following values:<br />
### Load All Available Selections: Yes<br />
# Edit the "resizeSizeIDList" field and open the properties tab.<br />
## Set the following values:<br />
### Load All Available Selections: Yes<br />
<br />
=== Custom Field Updates ===<br />
Identify the custom elements within the site that are utilizing the "Photo Upload Link" custom field type.<br />
# Open the element field definitions and edit the properties for the field.<br />
## Set all the fields accordingly based on the element being used.<br />
<br />
== Site Level Customizations Review ==<br />
This is only for reviewing the site level customizations in the "/_cs_apps/pt_photo_gallery/" directory, not in the ADF directory.<br />
<br />
# Analyze the updated app code compared to the app customization code on your server.<br />
## Identify any customizations that you have made to the application code to make sure these are updated with any functionality.<br />
## Again, Beyond Compare is a good tool to compare the new and current file to identify the exact lines of code that have been changed. <br />
## This is important for components that have customized functions to the site level "/_cs_apps/". The best practice is to identify the function that have been customized and compare with the new app function to identify any updates. A good help is to check the function comment header to see if any updates have been made.<br />
# Once completed, Reset the ADF.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=Upgrade&diff=6639Upgrade2014-01-15T18:55:27Z<p>Ssmith: /* Overview */ Added 1.6.1 upgrade link</p>
<hr />
<div>== Overview ==<br />
The upgrade guides are below for the specific ADF versions.<br />
<br />
[[Upgrade_Guide_v1.6.1|1.6.1 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.6|1.6 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.5.2|1.5.2 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.5.1|1.5.1 Upgrade Guide]]<br />
<br />
[[Upgrade_Guide_v1.5|1.5.0 Upgrade Guide]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Social_Media_Version_2.1_Install&diff=6601PT Social Media Version 2.1 Install2013-08-15T15:08:16Z<p>Ssmith: /* CCAPI Configuration */</p>
<hr />
<div>Back to [[PT_Social_Media|PT Social Media]]<br />
<br />
IMPORTANT: '''ADF 1.6''' or greater is '''REQUIRED''' for this application.<br />
<br />
== Download ==<br />
Download the Social Media Application from the [http://community.paperthin.com/projects/pt_social_media/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_social_media/'''<br />
<br />
== Site Configuration ==<br />
The Social Media Application is built within the ADF. The ADF 1.6 or greater must be installed in the site to run the Social Media Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptSocialMedia");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* /ADF/apps/pt_social_media/style/socialmedia.css<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Social Media Template you create.<br />
<br />
Note: the classes and styles defined for the Social Media app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Social Media App has several Custom Components defined within CommonSpot. These components are available in the Social Media's "exported-objects" folder located at the root of the Social Media application directory (e.g. /ADF/apps/pt_social_media/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Social Media Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br />
<br />
#[[SocialMedia Selector]] (SocialMedia-Selector-Custom-Element.zip)<br />
#[[Facebook Pages]] (Facebook-Pages-Custom-Element.zip)<br />
#[[Twitter Accounts Keywords]] (Twitter-Accounts-Keywords-Selector-Custom-Element.zip)<br />
#[[WordPress Blogs]] (WordPress-Blogs-Custom-Element.zip)<br />
#[[YouTube Channels]] (YouTube-Channels-Custom-Element.zip)<br />
#[[ptSocialMedia Configuration]] (ptSocialMedia-Configuration-Custom-Element.zip)<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The SocialMedia Selector 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.<br />
<br />
== App Configuration ==<br />
The Social Media App uses a custom element to store site specific configurations. <br />
<br />
Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.<br />
<br />
There are several configuration fields:<br />
<br />
===General Config Tab===<br />
# '''ui_theme''' - The Social Media app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''socialMediaServiceTypes''' - Checkboxes used to enable the social media types that will be utilized<br>(Default: facebook,twitter,youtube,wordpress)<br />
# '''dashboardURL''' - URL of Social Media App Web Admin Dashboard page where the Feed Cache scheuduled task is managed.<br />
# '''serviceManagerURL''' - URL of Social Media App Web Admin Service Manager page where service accounts are maintained<br />
# '''configManagerURL''' - URL of Social Media App Web Admin Configuration page where all of the App configuration setting are modified<br />
# '''enableFeedCache''' - a checkbox to activate or deactivate the Social Media App service feed caching<br />
#'''rebuildFeedCacheInterval''' - an integer value in minutes for the pause time between feed cache rebuild scheduled tasks<br>(Default: 15 mins)<br />
<br />
===Facebook API Tab===<br />
# '''apiFacebookAppID''' - The '''App ID''' you receive when you register your App on Facebook<br />
<!-- // removed 5/25/2012 this apiFacebookAPIKey field is no longer need for the Facebook App API --><br />
<!--# '''apiFacebookAPIKey''' - The '''API Key''' you receive when you register your App on Facebook --><br />
# '''apiFacebookAppSecret''' - The '''App Secret''' you receive when you register your App on Facebook<br />
- [[PT_Social_Media_Facebook_App_Registration|Facebook App Registration Instructions]]<br />
<br />
===Twitter API Tab===<br />
# '''apiTwitterCustomerKey''' - The '''Consumer Key''' you receive when you register your App on Twitter<br />
# '''apiTwitterCustomerSecret''' - The '''Consumer Secret''' you receive when you register your App on Twitter<br />
- [[PT_Social_Media_Twitter_App_Registration|Twitter App Registration Instructions]]<br />
<br />
===WordPress API Tab===<br />
# '''wordPressServiceURL''' - URL of Blog Index page <br />
# '''wordPressServiceImage''' - A service image for Blog Index page<br />
# '''apiWordPressFeedSuffix''' - Suffix for the WordPress Blog RSS feed. ie. '?feed=rss2' or '/feed/' depending how your WordPress site is configured<br />
# '''apiWordPressContentWordLimit''' - Maximum number of words rendered from the blog post content. Default: 100. Use 0 (zero) to display all.<br />
<br />
Note: The other API fields in the configuration element (not listed here) should NOT need to be modified from their default values unless one of the social media services changes their data feed format or feed URL and/or URL parameters.<br />
<br />
== Subsites ==<br />
A specific subsite for social media pages is optional. The Social Media Feed page which in most cases will be a public facing page (or pages) can live anywhere on your site. But for this install we will create a ''socialmedia'' subsite for this page.<br />
<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Social Media subsite that will contain the Management pages for for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps under '''Web Admin'' will add a ''socialmedia'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Social Media ===<br />
# Create a new subsite under the site root called ''socialmedia''.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''socialmedia''.<br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/socialmedia/'' subsite Content Security to give permissions to the group of administrators who will need access to the social media management pages.<br />
<br />
== Templates ==<br />
===Social Media Template - ''Optional''===<br />
<br />
The Social Media template will be used to render Social Media pages.<br />
<br />
Note: A Social Media templates are not critical for this application. A Social Media feeds page can be added to any page based on any template with a large main content column.<br />
<br />
# Create a CommonSpot page called 'Social Media' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called 'socialmedia'). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# Create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create a subsite called webadmin). <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Admin Pages ==<br />
Create these 4 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
<br />
===CCAPI Configuration===<br />
The Social Media Application uses the [[CCAPI_Library_Component|ADF CCAPI]] to populate each of the social media service custom element records with moderation data. The CCAPI needs to be configured for the site and forums application.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiSocialMedia'. Recommend creating this page in the ''/webadmin/socialmedia/'' subsite. <br />
# Add each of the following Social Media elements to the page:<br />
##[[Facebook Pages]]<br />
##[[Twitter Accounts Keywords]]<br />
##[[WordPress Blogs]]<br />
##[[YouTube Channels]]<br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiFacebookPages<br />
## ccapiTwitterAccountsKeywords<br />
## ccapiWordPressBlogs<br />
## ccapiYouTubeChannels<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_social_media > site-files > _cs_apps > config''' folder <br />
<br />
<source lang="xml"><br />
<FacebookPages><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiFacebookPages</controlName><br />
</FacebookPages><br />
<TwitterAccountsKeywords><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiTwitterAccountsKeywords</controlName><br />
</TwitterAccountsKeywords><br />
<WordPressBlogs><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiWordPressBlogs</controlName><br />
</WordPressBlogs><br />
<YouTubeChannels><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiYouTubeChannels</controlName><br />
</YouTubeChannels><br />
</source><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiSocialMedia' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<source lang="java"><br />
var jsSubSiteID = ##;<br />
</source><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<source lang="java"><br />
var jsPageID = ####;<br />
</source><br />
<br />
===Manage App Configuration Page===<br />
The Social Media Configuration Page will be used to manage the ptSocialMedia Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called 'Configuration Manager' in the ''/webadmin/socialmedia/'' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create Social Media Configuration Record'''<br />
<br />
We are creating a single Social Media Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
You can also update the following fields: <br />
# General Config Tab<br />
## '''ui_theme'''<br />
## '''socialMediaServiceTypes''' <br />
# Facebook API Tab<br />
## '''apiFacebookAppID''' <br />
## '''apiFacebookAppSecret''' <br />
# Twitter API Tab<br />
## '''apiTwitterCustomerKey''' <br />
## '''apiTwitterCustomerSecret'''<br />
# WordPress API Tab<br />
## '''wordPressServiceURL''' <br />
## '''wordPressServiceImage''' <br />
## '''apiWordPressFeedSuffix''' <br />
## '''apiWordPressContentWordLimit''' <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
===Manage Service Accounts Page with Multiple Datasheets===<br />
The Manage Social Media page is a page that contains the data management datasheets for the four social media custom elements. This page is build using a tabbed interface with one tab for each social media service datasheet. <br />
<br />
#Create a page from the Base Plus One (or a Web Admin) template titled 'Manage Service Accounts' with the page name 'index' in the ''/webadmin/socialmedia/'' subsite.<br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path: <br />
#*/ADF/apps/pt_social_media/customcf/manage_social_media_tabs_v2.cfm<br />
<br />
(Remember: If any of the social media services have been disabled in the [[#App Configuration|App Configuration]]<br>those service tabs will not appear on this management page.)<br />
<br />
'''Facebook Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Facebook Pages View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Facebook Pages <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Facebook Pages" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, FBPAGENAME, FBPAGELINK and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = FBPAGENAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''Twitter Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: Twitter Accounts and Keywords View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all Twitter Accounts and Keywords <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "Twitter Accounts Keywords" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, TWITTERACCOUNTKEYWORD, TYPE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TwitterAccountKeyword Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''YouTube Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: YouTube Channels View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all YouTube Channels <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "YouTube Channels" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, CHANNELTITLE, CHANNELUSERNAME and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = CHANNELTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
'''WordPress Tab'''<br />
#From the Datasheet element interface, click the "Datasheet" icon.<br />
#From the "Datasheet Views" dialog, click the "Add Datasheet View" link.<br />
#Enter the following information and then click "Next":<br />
##Name: WordPress Blogs View<br />
##Private: unchecked<br />
##Default View: checked<br />
##Description: View to manage the all WordPress Blogs <br />
##Datasheet Source: Form Result/Custom Element Sheet<br />
##Click "Next"<br />
#From the Datasheet Source dialog choose the "WordPress Blogs" custom element and click "Next"<br />
#From the Datasheet Columns Dialog select the columns UNIQUEID, BLOGTITLE and FEEDACTIVE from the Available Columns list and move them to the Selected Columns list and then click "Finish" or "Save".<br />
#You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
#You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the FEEDACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = BLOGTITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
<br />
#Publish this page.<br />
<br />
<!-- '''Usage''' --><br />
<br />
===Social Media Dashboard Page===<br />
The Social Media Dashboard page is a page is used to manage the Service Feed Cache and the Scheduled task that rebuilds the Service Feed Cache at the desired interval.<br />
This page contains:<br />
*The status of the Service Feed Cache<br />
*The date & time stamp of when the Service Feed Cache was last built<br />
*A button to Force the Service Feed Cache to be rebuilt<br />
*A button to set the Scheduled task to rebuild the Service Feed Cache at regular intervals<br />
*A data table that displays the current status of the Service Feed Cache scheduled task<br />
<br />
To build this page:<br />
#Create a new page from the Base Plus One (or a Web Admin) template called 'Social Media Dashboard' in the /webadmin/socialmedia/ subsite. <br />
#In the main content area of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#*/ADF/apps/pt_social_media/customcf/sm_dashboard_header.cfm<br />
<br />
'''Usage'''<br><br />
Go to the '''Social Media Dashboard''' section on the [[PT_Social_Media_Getting Started#Social Media Dashboard|Getting Started]] page for more information on usage of this page.<br />
<br />
===Social Media Stream Debug Page - ''Optional''===<br />
Since the content for this page is primarily under the control of each of the Social Media Services you are receiving the posts from it maybe necessary to have deeper visualization into the raw data coming from these services.<br />
<br />
This page is a version of the Social Media Stream Page with a debug tools header custom script. It may be best to go through the steps to create and configure a standard Social Media Stream page before creating this debugging page.<br />
<br />
* [[#Social Media Stream Pages|Social Media Stream Page]]<br />
* ''Configure the Social Media Stream Page'' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page<br />
<br />
It is also '''highly recommended''' that this debugging stream page be built in the Social Media Web Admin subsite so it will be protected by the Web Admin security settings.<br />
<br />
To construct your Social Media Debugging Stream page complete the following steps:<br />
<br />
#Create a CommonSpot page with a name of 'Social Media Debug' and a title of 'Social Media Debug' using the Social Media template and place it in the '/webadmin/socialmedia/' subsite.<br />
# In the main content of the page, add a Custom Script element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_social_media/customcf/sm_debug_links.cfm'' <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
'''Usage'''<br />
<br />
Once the page has been created and configured to display posts from the selected Social Media services you can use the debug tools checkboxes to select different raw data dump combinations and then click the link to reload the page. <br />
<br />
When the page is fully reloaded, there will be Coldfusion data dumps visible above the posts that will display the raw data that is used to build the stream page.<br />
<br />
If Social Media errors have occurred for the various services, links will be generated to allow access to open the error log files from the CommonSpot logs folder.<br />
<br />
(Remember: This debug page needs to remain dynamic since it uses URL variables to modify the<br>Feed Stream Output. Please make sure that CommonSpot Caching has been disabled on this page.)<br />
<br />
== Social Media Stream Pages ==<br />
For this install we will only create one main social media stream page. But many pages can be created throughout your site to meet your specific needs using this same method. <br />
For example, a separate page could be created for each of the social media services (ie. YouTube Channels page) or pages could be created for specific social media accounts. <br />
<br />
The Social Media Stream Page is where the social media posts from the selected social media service pages, accounts and keywords display. These posts come from the live data feeds available from each service. The posts are not stored locally and with active social media account will possibly change with each page refresh. <br />
<br />
To construct your Social Media Stream page complete the following steps. <br />
(Remember these steps can be adapted to a page created in any subsite using any template that has a large content area column.)<br />
<br />
#Create a CommonSpot page with a name of 'index' and a title of 'Social Media Stream' using the Social Media template and place it in the 'socialmedia' subsite. <br />
# Place the ''SocialMedia Selector'' Custom Element on this page.<br />
# From the ''SocialMedia Selector'' element click ''More'' in the element interface. <br />
# Click the ''Custom Render Handlers'' menu option, and choose the ''Default'' or the ''Social Media Combined Stream'' Render Handler.<br />
# Submit the Page.<br />
<br />
Go to the '''Configure the Social Media Stream Page''' section on the [[PT_Social_Media_Getting Started#Configure_the_Social_Media_Stream_Page|Getting Started]] page for more info.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6413PT News Install v12013-02-28T23:36:21Z<p>Ssmith: /* Verify Imports */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The News Article custom element contains one use 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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "newsCategoryGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the Base Plus One template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element.<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6412PT News Install v12013-02-28T23:34:29Z<p>Ssmith: /* Verify Imports */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "newsCategoryGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the Base Plus One template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element.<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Install_v1&diff=6411PT News Install v12013-02-28T23:18:33Z<p>Ssmith: /* Verify Imports */</p>
<hr />
<div>== Download ==<br />
Download the PT News Application from the Community Site or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_news/''' <br />
<br />
== Site Configuration ==<br />
The PT News Application is built within the ADF. The ADF must be installed in the site to run the PT News, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptNews");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== App Configuration ==<br />
The PT News Application uses an XML file to manage the site specific configurations. <br />
<br />
Follow the steps to add and update the site configuration:<br />
# Locate the /_cs_apps directory in your site. If a /_cs_apps/config/ directory does not exists, then create the directory.<br />
# Copy the config file from the app directory "/ADF/apps/pt_news/site_files/_cs_apps/config/ptNews.xml" and paste into the site "/_cs_apps/config/" directory.<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Custom Elements ==<br />
The PT News Application has several Custom Components defined within CommonSpot. The components have been exported and are available in the PT News's "exported-objects" folder located at the root of the PT News application directory (e.g. /ADF/apps/pt_news/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'PT News Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import Custom Elements in this order: <br />
<br />
# News Article<br />
# News Category<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
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. Note that when you assign the existing general chooser you will need to click on the "properties" tab and enter "photoSizeGC" as the bean name. After reassigning the field type, delete the new imported field from the list of custom field types.<br />
<br />
== Subsite ==<br />
The subsite for the news article pages must be created manually. This subsite is custom to your implementation and can be any subsite within the site. <br />
<br />
If you don't have a specific subsite then create a ''news'' subsite under the site root. <br />
<br />
== Templates ==<br />
<br />
=== News Article Template ===<br />
The News Article Template is the template that all the news article pages are created from.<br />
To construct your News ArticleTemplate complete the following steps. <br />
<br />
# Create a CommonSpot page called 'News Article Template' from the Base Plus One template (or other template) in the '/news/' subsite.<br />
# Place the 'News Article' Custom Element on this page.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
<br />
== News Landing Page ==<br />
Setup a News Landing page to provide a listing of the news articles. This also contains a feature to list the categories with links to filter the landing page based on the category filter.<br />
<br />
# Create a new page with the name "index" and title "News" in the "/news/" subsite. You can create the page from the Base Plus One template.<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option.<br />
# In the main container, add the "News Article" custom element.<br />
## Name this element "AllNewsArticleListing".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# In the main container, add another "News Article" custom element.<br />
## Name this element "newsArticlesCategoryFiltered".<br />
## Edit the "Render Mode" and set the filter for the following criteria:<br />
### News Article.Publication Date - "Less Than Or Equal" - Current Date<br />
### AND<br />
### News Article.Categories - "Contains" - {request.params.categoryid} *(expression)<br />
### Sort Order: Publication Date DESCENDING<br />
## Change the Custom Render Handler or Display Template to the following:<br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination.<br />
# On the main container, edit the "Layout" properties and make the following updates:<br />
## Enable scheduling for elements = Checked<br />
## Limit the number of displayed elements to = Checked, and set the value to "1".<br />
# On the main container, edit the "Criteria" properties and make the following updates:<br />
## Move the "newsArticlesCategoryFiltered" element to the top of the order.<br />
## Edit the "newsArticlesCategoryFiltered" element "Edit Scheduling Properties..." and set the following filters:<br />
### Variable Comparison:<br />
#### Variable: request.params.categoryid<br />
#### Operator: neq<br />
# Submit the elements and publish the page.<br />
# Get the CommonSpot Page ID for this page (view the source for the page and search for "var jsPageID" and this is the page ID value). <br />
## Update the App Config "/_cs_apps/config/ptNews.xml" file. Edit the "news_listing_pageID" tag with the CommonSpot Page ID for the landing page.<br />
#[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== News Category Listing ==<br />
The News Category listing is a module to display the list of News Categories. The category will display with links to filter the News Landing page based on the category.<br />
<br />
This module was designed for a left or right side column of the page. For the steps below, we are going to setup the module in the side column on the News Landing page.<br />
<br />
# Locate and work on the News Landing page.<br />
# In the side column, add the "News Category" element into this container.<br />
# Set the Render Mode filter for the following:<br />
## News Category.isActive - "Equals" - "1"<br />
## Sort Order = Name ASCENDING<br />
# Submit the elements and publish the page.<br />
<br />
== News Archive ==<br />
The News Archive page will provide an archive listing page with the filter criteria for month and year. <br />
<br />
# Create a new page with the name and title "News Archives" (this page can be created from the Base Plus One template).<br />
## If using the CommonSpot search, uncheck the "Full Text and Search Element Results" option. <br />
# Add a custom script into the main container of the page.<br />
## Set the custom to the explicit path for the following:<br />
### /ADF/apps/pt_news/customcf/archive.cfm<br />
# Add the "News Article" element below the custom script element.<br />
## Edit the "Render Mode" and set the filter for the following criteria: <br />
### News Article.Publication Date - "Greater Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### AND<br />
### News Article.Publication Date - "Less Than Or Equal" - {request.params.newsFilterStartDate} *expression <br />
### Sort Order: Publication Date ASCENDING<br />
## Change the Custom Render Handler or Display Template to the following: <br />
### Complex Listing - Displays listing of news article records with links for the categories and pagination. <br />
# Submit the elements and publish the page.<br />
<br />
== Reset the ADF ==<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Photo Gallery]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News&diff=6393PT News2013-02-27T23:26:23Z<p>Ssmith: /* Installation/Setup */</p>
<hr />
<div>== Overview ==<br />
The PT News application provides the ability to quickly implement a news article content type within your CommonSpot site. The app provides a base for developing your news implementation with out of the box custom elements, render handlers, and custom tools.<br />
<br />
The PT News application is built in the [[Overview|Application Development Framework (ADF)]].<br />
<br />
== Pre-installation Considerations ==<br />
[[Overview|Application Development Framework (ADF)]] must be setup and configured on the server for the site that will be implementing the PT News application. For detailed instructions, see the [[Overview|Application Development Framework (ADF)]] wiki page for Site Configurations.<br />
<br />
== Installation/Setup ==<br />
Development Release v1.0:<br />
* [[PT_News_Install_v1|Install Guide]]<br />
* [[PT_News_Release_Notes_v1|Release Notes]]<br />
<br />
== Getting Started==<br />
* [[PT_News_Getting_Started|Getting Started]] - Guide to set up the news once the installation is completed.<br />
<br />
[[Category:PT News]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News&diff=6392PT News2013-02-27T23:24:31Z<p>Ssmith: /* Installation Guides */</p>
<hr />
<div>== Overview ==<br />
The PT News application provides the ability to quickly implement a news article content type within your CommonSpot site. The app provides a base for developing your news implementation with out of the box custom elements, render handlers, and custom tools.<br />
<br />
The PT News application is built in the [[Overview|Application Development Framework (ADF)]].<br />
<br />
== Pre-installation Considerations ==<br />
[[Overview|Application Development Framework (ADF)]] must be setup and configured on the server for the site that will be implementing the PT News application. For detailed instructions, see the [[Overview|Application Development Framework (ADF)]] wiki page for Site Configurations.<br />
<br />
== Installation/Setup ==<br />
Development Release v1.0:<br />
* [[PT_News_Install_v1|Install Guide]]<br />
* [[PT_News_ReleaseNotes_v1|Release Notes]]<br />
<br />
== Getting Started==<br />
* [[PT_News_Getting_Started|Getting Started]] - Guide to set up the news once the installation is completed.<br />
<br />
[[Category:PT News]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_News_Release_Notes_v1&diff=6391PT News Release Notes v12013-02-27T23:23:30Z<p>Ssmith: Created page with 'We are proud to release PT News v1 to the Community. Version 1.0 is compatible with the ADF v1.6. To install the app, please follow the v1 Install Guide.'</p>
<hr />
<div>We are proud to release PT News v1 to the Community.<br />
<br />
Version 1.0 is compatible with the ADF v1.6.<br />
<br />
To install the app, please follow the v1 Install Guide.</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Comments_Install_v1&diff=6182PT Comments Install v12013-01-16T21:20:27Z<p>Ssmith: /* Installing cfformprotect */</p>
<hr />
<div>== Download ==<br />
Download the Comments Application from the Community Site or from the [http://community.paperthin.com/svn/pt_comments/trunk/ SVN Repository]. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_comments/''' <br />
<br />
== ADF Configuration ==<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptComments");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Elements ==<br />
The Comments Application has a single Global Custom Element defined within CommonSpot. The element has been exported and is available in the Comments's "exported-objects" folder located at the root of the Comments application directory (e.g. /ADF/apps/pt_comments/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'Comments Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import the Custom Element: <br />
<br />
# Comments (Comments-Custom-Element.zip)<br />
<br />
=== Verify Import ===<br />
<br />
The render handler path for the imported "comments" element must be verified that it has the correct path. During the import process, the render handler path may have been changed to reflect the current site's path. <br />
<br />
Review and update the path to reference the ADF path. In most cases, this will just require the element to be unlocked and a change in the path from the site name to 'ADF'. Check the path for the [[PT_Comments#Contents|custom field types that were imported]] with the custom element by unlocking it and fixing the explicit path to point to "/ADF/extensions/".<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' that a Comments subsite is created for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''comments'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''comments''.<br />
# Configure the ''/webadmin/comments/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/comments/'' subsite Content Security to give permissions to the group of administrators who will manage the Comments.<br />
<br />
== Comments Manager ==<br />
This page will be used to manage the Comments custom element data records for the site.<br />
<br />
# Create page with the name "index" and title is "Comments Manager" in the ''/webadmin/comments/'' subsite.<br />
# Add a Datasheet element into the page.<br />
## Define a View for the Datasheet Element called "All Comments"<br />
## Leave the View Source as the Default: Form Result/Custom Element Sheet<br />
## Select the "Comments" Custom Element and select the following columns: <br />
### UID, DateTimePosted, and Name<br />
## Edit the column for the "UID" field and make the following changes:<br />
### Header: Edit/Delete<br />
### Render Handler: /ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
## Edit the Layout properties for the datasheet:<br />
### Default Sorting: DateTimePosted DESCENDING<br />
### Results Per Page: 50<br />
### Allow JavaScript data sorting: Uncheck<br />
# Publish the page.<br />
<br />
== Site Configuration ==<br />
<br />
=== Installing cfformprotect ===<br />
CF Form Protect helps to protect your form from spam. It allows the comments that users enter to have some verification of who is entering the data and makes sure that robots do not submit bogus comments.<br />
<br />
# Copy cffp.ini.cfm from /ADF/thirdParty/cfformprotect/ into your /_cs_apps/config directory<br />
# Edit the parameters as you see fit. Please note the email settings.<br />
<br />
=== Adding comments to your page ===<br />
The comments element, which will be configured in a step below, requires a variable called "request.params.comments.contentDataPageID". This variable does not exist and will throw an error unless one of two things are done. First, you can add a script to the page directly above where you place the comments element. The script (pageComments.cfm) will define the variable needed by the comments element.<br />
<br />
Alternatively, you can add the following line of code:<br />
<br />
<cfset request.params.comments.contentDataPageID = request.page.id><br />
<br />
to a template-basepage.head file in the site's /templates directory. If you add the line of code to your template-basepage.head file, then it is not necessary to place a custom script element on every page where you wish to use comments. Adding this code to your template-basepage.head is the preferred installation method. If your site does not have a template-basepage.head file, you may create one. The Commonspot developer's guide explains the requirements for creating the .head file.<br />
<br />
# Edit your page<br />
# '''Optional''' -- Add a custom script to your page<br />
#* /ADF/apps/pt_comments/customcf/pageComments.cfm<br />
# Add the comments element to your page<br />
# Update the render mode on this element<br />
## Select "Display existing element data (content reuse)"<br />
## Select "Render results dynamically based on a filter, or display all records."<br />
## click on filter<br />
## select "Subset of records"<br />
## in the dropdown select Comments.contentDataPageID<br />
## Set the comparison to equals<br />
## click the ... next to the value<br />
## enter: request.params.comments.contentDataPageID<br />
## Sort Order: dateTimePosted ASCENDING<br />
## click save<br />
# submit your page<br />
<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Comments]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Comments_Install_v1&diff=6181PT Comments Install v12013-01-16T21:18:26Z<p>Ssmith: /* Subsites */</p>
<hr />
<div>== Download ==<br />
Download the Comments Application from the Community Site or from the [http://community.paperthin.com/svn/pt_comments/trunk/ SVN Repository]. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_comments/''' <br />
<br />
== ADF Configuration ==<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptComments");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Import Elements ==<br />
The Comments Application has a single Global Custom Element defined within CommonSpot. The element has been exported and is available in the Comments's "exported-objects" folder located at the root of the Comments application directory (e.g. /ADF/apps/pt_comments/exported-objects/)<br />
<br />
Optional: You may want to create a new category within the CommonSpot Element Gallery for 'Comments Elements'.<br />
<br />
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.<br />
<br />
=== Import ===<br />
<br />
Import the Custom Element: <br />
<br />
# Comments (Comments-Custom-Element.zip)<br />
<br />
=== Verify Import ===<br />
<br />
The render handler path for the imported "comments" element must be verified that it has the correct path. During the import process, the render handler path may have been changed to reflect the current site's path. <br />
<br />
Review and update the path to reference the ADF path. In most cases, this will just require the element to be unlocked and a change in the path from the site name to 'ADF'. Check the path for the [[PT_Comments#Contents|custom field types that were imported]] with the custom element by unlocking it and fixing the explicit path to point to "/ADF/extensions/".<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' that a Comments subsite is created for administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''comments'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''comments''.<br />
# Configure the ''/webadmin/comments/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/comments/'' subsite Content Security to give permissions to the group of administrators who will manage the Comments.<br />
<br />
== Comments Manager ==<br />
This page will be used to manage the Comments custom element data records for the site.<br />
<br />
# Create page with the name "index" and title is "Comments Manager" in the ''/webadmin/comments/'' subsite.<br />
# Add a Datasheet element into the page.<br />
## Define a View for the Datasheet Element called "All Comments"<br />
## Leave the View Source as the Default: Form Result/Custom Element Sheet<br />
## Select the "Comments" Custom Element and select the following columns: <br />
### UID, DateTimePosted, and Name<br />
## Edit the column for the "UID" field and make the following changes:<br />
### Header: Edit/Delete<br />
### Render Handler: /ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
## Edit the Layout properties for the datasheet:<br />
### Default Sorting: DateTimePosted DESCENDING<br />
### Results Per Page: 50<br />
### Allow JavaScript data sorting: Uncheck<br />
# Publish the page.<br />
<br />
== Site Configuration ==<br />
<br />
=== Installing cfformprotect ===<br />
CF Form Protect helps to prevent your form from spam. It allows the comments that users enter to have some verification of who is entering the data.<br />
<br />
# Copy cffp.ini.cfm from /ADF/thirdParty/cfformprotect/ into your /_cs_apps/config directory<br />
# Edit the parameters as you see fit. Please note the email settings<br />
<br />
=== Adding comments to your page ===<br />
The comments element, which will be configured in a step below, requires a variable called "request.params.comments.contentDataPageID". This variable does not exist and will throw an error unless one of two things are done. First, you can add a script to the page directly above where you place the comments element. The script (pageComments.cfm) will define the variable needed by the comments element.<br />
<br />
Alternatively, you can add the following line of code:<br />
<br />
<cfset request.params.comments.contentDataPageID = request.page.id><br />
<br />
to a template-basepage.head file in the site's /templates directory. If you add the line of code to your template-basepage.head file, then it is not necessary to place a custom script element on every page where you wish to use comments. Adding this code to your template-basepage.head is the preferred installation method. If your site does not have a template-basepage.head file, you may create one. The Commonspot developer's guide explains the requirements for creating the .head file.<br />
<br />
# Edit your page<br />
# '''Optional''' -- Add a custom script to your page<br />
#* /ADF/apps/pt_comments/customcf/pageComments.cfm<br />
# Add the comments element to your page<br />
# Update the render mode on this element<br />
## Select "Display existing element data (content reuse)"<br />
## Select "Render results dynamically based on a filter, or display all records."<br />
## click on filter<br />
## select "Subset of records"<br />
## in the dropdown select Comments.contentDataPageID<br />
## Set the comparison to equals<br />
## click the ... next to the value<br />
## enter: request.params.comments.contentDataPageID<br />
## Sort Order: dateTimePosted ASCENDING<br />
## click save<br />
# submit your page<br />
<br />
<br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Comments]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Profile_Version_2.0_Install&diff=6168PT Profile Version 2.0 Install2012-12-10T17:22:34Z<p>Ssmith: /* CCAPI Configuration */</p>
<hr />
<div>== Download ==<br />
Download the Profile Application from the [http://community.paperthin.com/projects/pt_profile/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_profile/''' <br />
<br />
== Site Configuration ==<br />
The Profile Application is built within the ADF. The ADF must be installed in the site to run the Profile Application, follow the [[Installation|ADF Installation]] instructions.<br />
<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (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:<br />
<source lang="java"><br />
loadApp("ptProfile");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
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.<br />
<br />
The fields for the Profile Configuration custom element are defined below.<br />
<br />
To allow each site to have its own configuration for the Profile:<br />
* Locate the ''/_cs_apps'' directory in your site. If a ''/_cs_apps/config/'' directory does not exists, then create the directory.<br />
* 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''.<br />
* Verify the tag field data with the descriptions of the tags below.<br />
* We will come back to this configuration file later to populate the data.<br />
<br />
=== XML Tags ===<br />
The following are the tags of the Profile XML Config file:<br />
# '''CE_NAME''' - The profile custom element name within the site.<br />
# '''CE_ID_FIELD''' - The field ID within the profile custom element that stores the username.<br />
# '''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.<br />
## '''SUBSITE_ID''' - Specifies the subsite ID that profile pages for the role will be created in.<br />
## '''TEMPLATE_ID''' - Specifies the template ID that profile pages for the role will be created with.<br />
# '''DASHBOARD_URL''' - Site relative URL for the Profile Dashboard page.<br />
# '''LB_WIDTH''' - Width for the profile edit form lightbox.<br />
# '''LB_HEIGHT''' - Height for the profile edit form lightbox.<br />
# '''JQUERY_UI_THEME''' - JQuery UI Theme to use throughout the application.<br />
<br />
== Import Custom Elements ==<br />
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/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "Profile Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Element:'''<br />
<br />
# Profile (Profile-Custom-Element.zip)<br />
# Profile Gallery (Profile-Gallery-Custom-Element.zip)<br />
<br />
'''Import Metadata:'''<br />
<br />
# Profiles (profiles-Metadata-Form.zip)<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
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.<br />
<br />
=== Security Settings ===<br />
<br />
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:<br />
* Profile Custom Element<br />
** User ID - Field has Read/Edit permissions to the Site Administrators group. Read permissions for Anonymous and Authenticated Users groups.<br />
* Profiles Metadata Form (the metadata form will need to be unlocked to change the field security settings)<br />
** Type - Field has Read permissions to the Site Administrators group. <br />
** User ID - Field has Read permissions to the Site Administrators group. <br />
** UniqueID - Field has Read permissions to the Site Administrators group.<br />
<br />
For additional details on field security, view the [[Profile_Custom_Element|Profile Element]] and [[Profiles_Metadata_Form|Profiles Metadata Form]] wiki pages.<br />
<br />
== Subsites ==<br />
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.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''profile'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''profile''.<br />
# Configure the ''/webadmin/profile/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/profile/'' subsite Content Security to give permissions to the group of administrators who will manage the Profiles.<br />
<br />
=== Profiles ===<br />
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. <br />
<br />
If you don't have a specific subsite then create a ''Profiles'' subsite under the site root. <br />
<br />
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]].<br />
<br />
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.<br />
<br />
== Templates ==<br />
=== Profile Template ===<br />
The Profile Template is the template that all the profile pages are created from.<br />
To construct your Profiles Template complete the following steps. <br />
<br />
# 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 [[PT_Profile_Roles|Profile Roles]]). <br />
# Place the ''Profile'' Custom Element on this page.<br />
# Click ''Render Mode'' in the element interface.<br />
# Select ''Display existing element data (content reuse)'' on the ''Rendering Mode'' tab.<br />
# Select the ''Filter'' tab. <br />
# Select Filter Type to ''Show subset of records''.<br />
# Select the field drop-down as the ''uniqueID'' field. <br />
# Select the operator as ''Equals''.<br />
# Click the '...' button to open the ColdFusion expression window.<br />
# 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''.<br />
# Click ''OK'' on the render mode window.<br />
# Click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and choose the ''Full Page'' Render Handler.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
# Go to the CommonSpot Site Administration and bind the ''Profiles'' metadata form to this new ''Profile Template''.<br />
<br />
=== Update Profile Site Config ===<br />
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]].<br />
<br />
== CCAPI Configuration ==<br />
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.<br />
<br />
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.<br />
<br />
'''Important:''' Make sure that the CommonSpot user account in the [[CCAPI_Config|CCAPI Configuration]] is a member of the Site Administrators group.<br />
<br />
# Create a new page called 'ccapiProfile'. Recommend creating this page in the ''/webadmin/profile/'' subsite. <br />
# Add the 'Profile' element to the page.<br />
# Select the 'Profile' element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the text 'ccapiProfileElement'.<br />
# Publish this page and put in read mode (aka "View Page as Published").<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml block into the <elements> section:<br />
<source lang="xml"><br />
<Profile><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiProfileElement</controlName><br />
</Profile><br />
</source><br />
<br />
# To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapiProfile' page that was just created. <br />
# 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:<br />
<source lang="java"><br />
var jsSubSiteID = ##;<br />
</source><br />
# Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<source lang="java"><br />
var jsPageID = ####;<br />
</source><br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Admin Datasheet ==<br />
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.<br />
<br />
# Create a page from the Base Plus One titled 'Manage Profiles' with the page name 'index' in the ''/webadmin/profile/'' subsite.<br />
# In the body of the page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: ''/ADF/apps/pt_profile/customcf/profile_admin_ds.cfm''<br />
# From the Datasheet element interface, click the ''Datasheet'' icon.<br />
# From the ''Datasheet Views'' dialog, select the ''Click here to create a new datasheet view'' text.<br />
# Enter the following information and then click ''Next'':<br />
## Name: All Profiles<br />
## Private: unchecked<br />
## Default View: unchecked<br />
## Description: View to manage all of the profiles<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog, choose the ''Profile'' custom element and click ''Next''.<br />
# 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''.<br />
# You will be brought to the Datasheet View page. Click ''Close'' to return to your page.<br />
# You will now see the datasheet element on this page. Click the Datasheet element interface icon again and this time choose ''Edit Columns''.<br />
# Select the column field ''UniqueID'' and then the edit button. <br />
# 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''<br />
# Click ''Finish''.<br />
# In the Header field, clear out the text and leave the text field blank. Click ''Finish''.<br />
# Publish this page.<br />
<br />
== Profile Dashboard ==<br />
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.<br />
<br />
To configure the detail viewing page, complete the following steps.<br />
<br />
# 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.<br />
# In the content area of the page place the Custom Script element.<br />
# Click the element indicator and select the ''Edit'' button.<br />
# In the Explicit Module path, enter the following path: ''/ADF/apps/pt_profile/customcf/profile_dashboard.cfm''<br />
# Publish the page.<br />
<br />
=== Update Profile Site Config ===<br />
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 <DASHBOARD_URL> tag value with this page URL. <br />
<source lang="xml"><br />
<DASHBOARD_URL>/profiles/Profile-Dashboard.cfm</DASHBOARD_URL><br />
</source><br />
<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Profile]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Profile_Version_2.0_Install&diff=6167PT Profile Version 2.0 Install2012-12-10T17:01:08Z<p>Ssmith: /* CCAPI Configuration */</p>
<hr />
<div>== Download ==<br />
Download the Profile Application from the [http://community.paperthin.com/projects/pt_profile/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_profile/''' <br />
<br />
== Site Configuration ==<br />
The Profile Application is built within the ADF. The ADF must be installed in the site to run the Profile Application, follow the [[Installation|ADF Installation]] instructions.<br />
<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (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:<br />
<source lang="java"><br />
loadApp("ptProfile");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
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.<br />
<br />
The fields for the Profile Configuration custom element are defined below.<br />
<br />
To allow each site to have its own configuration for the Profile:<br />
* Locate the ''/_cs_apps'' directory in your site. If a ''/_cs_apps/config/'' directory does not exists, then create the directory.<br />
* 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''.<br />
* Verify the tag field data with the descriptions of the tags below.<br />
* We will come back to this configuration file later to populate the data.<br />
<br />
=== XML Tags ===<br />
The following are the tags of the Profile XML Config file:<br />
# '''CE_NAME''' - The profile custom element name within the site.<br />
# '''CE_ID_FIELD''' - The field ID within the profile custom element that stores the username.<br />
# '''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.<br />
## '''SUBSITE_ID''' - Specifies the subsite ID that profile pages for the role will be created in.<br />
## '''TEMPLATE_ID''' - Specifies the template ID that profile pages for the role will be created with.<br />
# '''DASHBOARD_URL''' - Site relative URL for the Profile Dashboard page.<br />
# '''LB_WIDTH''' - Width for the profile edit form lightbox.<br />
# '''LB_HEIGHT''' - Height for the profile edit form lightbox.<br />
# '''JQUERY_UI_THEME''' - JQuery UI Theme to use throughout the application.<br />
<br />
== Import Custom Elements ==<br />
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/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "Profile Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Element:'''<br />
<br />
# Profile (Profile-Custom-Element.zip)<br />
# Profile Gallery (Profile-Gallery-Custom-Element.zip)<br />
<br />
'''Import Metadata:'''<br />
<br />
# Profiles (profiles-Metadata-Form.zip)<br />
<br />
=== Verify Imports ===<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
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.<br />
<br />
=== Security Settings ===<br />
<br />
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:<br />
* Profile Custom Element<br />
** User ID - Field has Read/Edit permissions to the Site Administrators group. Read permissions for Anonymous and Authenticated Users groups.<br />
* Profiles Metadata Form (the metadata form will need to be unlocked to change the field security settings)<br />
** Type - Field has Read permissions to the Site Administrators group. <br />
** User ID - Field has Read permissions to the Site Administrators group. <br />
** UniqueID - Field has Read permissions to the Site Administrators group.<br />
<br />
For additional details on field security, view the [[Profile_Custom_Element|Profile Element]] and [[Profiles_Metadata_Form|Profiles Metadata Form]] wiki pages.<br />
<br />
== Subsites ==<br />
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.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''profile'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
# Create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''profile''.<br />
# Configure the ''/webadmin/profile/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/profile/'' subsite Content Security to give permissions to the group of administrators who will manage the Profiles.<br />
<br />
=== Profiles ===<br />
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. <br />
<br />
If you don't have a specific subsite then create a ''Profiles'' subsite under the site root. <br />
<br />
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]].<br />
<br />
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.<br />
<br />
== Templates ==<br />
=== Profile Template ===<br />
The Profile Template is the template that all the profile pages are created from.<br />
To construct your Profiles Template complete the following steps. <br />
<br />
# 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 [[PT_Profile_Roles|Profile Roles]]). <br />
# Place the ''Profile'' Custom Element on this page.<br />
# Click ''Render Mode'' in the element interface.<br />
# Select ''Display existing element data (content reuse)'' on the ''Rendering Mode'' tab.<br />
# Select the ''Filter'' tab. <br />
# Select Filter Type to ''Show subset of records''.<br />
# Select the field drop-down as the ''uniqueID'' field. <br />
# Select the operator as ''Equals''.<br />
# Click the '...' button to open the ColdFusion expression window.<br />
# 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''.<br />
# Click ''OK'' on the render mode window.<br />
# Click ''More'' in the element interface. Then the ''Custom Render Handlers'' menu option, and choose the ''Full Page'' Render Handler.<br />
# Submit Page and then Save as Template.<br />
# Remember to submit the template for public use.<br />
# Go to the CommonSpot Site Administration and bind the ''Profiles'' metadata form to this new ''Profile Template''.<br />
<br />
=== Update Profile Site Config ===<br />
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]].<br />
<br />
== CCAPI Configuration ==<br />
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.<br />
<br />
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.<br />
<br />
'''Important:''' Make sure that the CommonSpot user account in the [[CCAPI_Config|CCAPI Configuration]] is a member of the Site Administrators group.<br />
<br />
# Create a new page called 'ccapiProfile'. Recommend creating this page in the ''/webadmin/profile/'' subsite. <br />
# Add the 'Profile' element to the page.<br />
# Select the 'Profile' element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the text 'ccapiProfileElement'.<br />
# Publish this page and put in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml block into the <elements> section:<br />
<source lang="xml"><br />
<Profile><br />
<pageID>#####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiProfileElement</controlName><br />
</Profile><br />
</source><br />
<br />
# To populate the <pageID> and <subsiteID> tags, view the source code for the 'ccapiProfile' page that was just created. <br />
# 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:<br />
<source lang="java"><br />
var jsSubSiteID = ##;<br />
</source><br />
# Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<source lang="java"><br />
var jsPageID = ####;<br />
</source><br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Admin Datasheet ==<br />
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.<br />
<br />
# Create a page from the Base Plus One titled 'Manage Profiles' with the page name 'index' in the ''/webadmin/profile/'' subsite.<br />
# In the body of the page, add a Custom Script element.<br />
# From the Custom Script element interface, click the ''Edit'' icon.<br />
# Enter the following text into the Explicit Module path: ''/ADF/apps/pt_profile/customcf/profile_admin_ds.cfm''<br />
# From the Datasheet element interface, click the ''Datasheet'' icon.<br />
# From the ''Datasheet Views'' dialog, select the ''Click here to create a new datasheet view'' text.<br />
# Enter the following information and then click ''Next'':<br />
## Name: All Profiles<br />
## Private: unchecked<br />
## Default View: unchecked<br />
## Description: View to manage all of the profiles<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog, choose the ''Profile'' custom element and click ''Next''.<br />
# 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''.<br />
# You will be brought to the Datasheet View page. Click ''Close'' to return to your page.<br />
# You will now see the datasheet element on this page. Click the Datasheet element interface icon again and this time choose ''Edit Columns''.<br />
# Select the column field ''UniqueID'' and then the edit button. <br />
# 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''<br />
# Click ''Finish''.<br />
# In the Header field, clear out the text and leave the text field blank. Click ''Finish''.<br />
# Publish this page.<br />
<br />
== Profile Dashboard ==<br />
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.<br />
<br />
To configure the detail viewing page, complete the following steps.<br />
<br />
# 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.<br />
# In the content area of the page place the Custom Script element.<br />
# Click the element indicator and select the ''Edit'' button.<br />
# In the Explicit Module path, enter the following path: ''/ADF/apps/pt_profile/customcf/profile_dashboard.cfm''<br />
# Publish the page.<br />
<br />
=== Update Profile Site Config ===<br />
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 <DASHBOARD_URL> tag value with this page URL. <br />
<source lang="xml"><br />
<DASHBOARD_URL>/profiles/Profile-Dashboard.cfm</DASHBOARD_URL><br />
</source><br />
<br />
<br />
[[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
[[Category:Profile]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6051PT Calendar Version 3 Install2012-11-09T07:13:09Z<p>Ssmith: /* Manage Events Datasheet */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v3.0 HAS NOT BEEN RELEASED!!<br />
<!-- IMPORTANT: '''ADF 1.5.3''' or greater is '''REQUIRED''' for this application. --><br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.5.3 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Calendar Template - ''Optional''===<br />
<br />
The Calendar template will be used to render Calendar display pages.<br />
<br />
# Create a CommonSpot page called 'Calendar' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
<br />
<!-- <br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
---><br />
<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Forums elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<source lang="xml"><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</source><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<source lang="java"><br />
var jsSubSiteID = ##;<br />
</source><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<source lang="java"><br />
var jsPageID = ####;<br />
</source><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Organizations' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = NAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called 'Manage Event Categories' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID''', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''ApprovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the Multiple View Page Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
<br />
<!--<br />
* [[PT_Calendar2_Monthly Grid View Page|Calendar Monthly Grid View Page]]<br />
* [[PT_Calendar2_Monthly List View Page|Calendar Monthly List View Page]]<br />
* [[PT_Calendar2_Weekly Grid View Page|Calendar Weekly Grid View Page]]<br />
* [[PT_Calendar2_Weekly List View Page|Calendar Weekly List View Page]]<br />
* [[PT_Calendar2_Daily View Page|Calendar Daily View Page]]<br />
* [[PT_Calendar2_Event Details Page|Calendar Event Details Page]]<br />
--><br />
<br />
== Calendar Page Mapping Configuration - Optional ==<br />
<br />
<!--<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--><br />
<br />
<br />
==Calendar Month Grid Widget (Small)==<br />
<br />
<!--<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--><br />
<br />
<!--<br />
<br />
==Calendar Cache Dashboard==<br />
<br />
<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--></div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6050PT Calendar Version 3 Install2012-11-09T06:46:48Z<p>Ssmith: /* Manage Event Categories Datasheet */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v3.0 HAS NOT BEEN RELEASED!!<br />
<!-- IMPORTANT: '''ADF 1.5.3''' or greater is '''REQUIRED''' for this application. --><br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.5.3 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Calendar Template - ''Optional''===<br />
<br />
The Calendar template will be used to render Calendar display pages.<br />
<br />
# Create a CommonSpot page called 'Calendar' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
<br />
<!-- <br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
---><br />
<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Forums elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<source lang="xml"><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</source><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<source lang="java"><br />
var jsSubSiteID = ##;<br />
</source><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<source lang="java"><br />
var jsPageID = ####;<br />
</source><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Organizations' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = NAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called 'Manage Event Categories' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID''', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
##Check the checkbox of the field called "Hidden".<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = Category Name Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID'', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''AppovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the Multiple View Page Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
<br />
<!--<br />
* [[PT_Calendar2_Monthly Grid View Page|Calendar Monthly Grid View Page]]<br />
* [[PT_Calendar2_Monthly List View Page|Calendar Monthly List View Page]]<br />
* [[PT_Calendar2_Weekly Grid View Page|Calendar Weekly Grid View Page]]<br />
* [[PT_Calendar2_Weekly List View Page|Calendar Weekly List View Page]]<br />
* [[PT_Calendar2_Daily View Page|Calendar Daily View Page]]<br />
* [[PT_Calendar2_Event Details Page|Calendar Event Details Page]]<br />
--><br />
<br />
== Calendar Page Mapping Configuration - Optional ==<br />
<br />
<!--<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--><br />
<br />
<br />
==Calendar Month Grid Widget (Small)==<br />
<br />
<!--<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--><br />
<br />
<!--<br />
<br />
==Calendar Cache Dashboard==<br />
<br />
<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--></div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Calendar_Version_3_Install&diff=6049PT Calendar Version 3 Install2012-11-09T06:20:00Z<p>Ssmith: /* Manage App Configuration Page */</p>
<hr />
<div>Back to [[PT_Calendar|PT Calendar]]<br />
<br />
IMPORTANT: v3.0 HAS NOT BEEN RELEASED!!<br />
<!-- IMPORTANT: '''ADF 1.5.3''' or greater is '''REQUIRED''' for this application. --><br />
<br />
== Download ==<br />
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository. <br />
<br />
Extract the zip files into the following directory:<br />
'''/ADF/apps/pt_calendar/'''<br />
<br />
== Site Configuration ==<br />
The Calendar Application is built within the ADF. The ADF 1.5.3 or greater must be installed in the site to run the Calendar Application, follow the ADF [[Installation]] instructions.<br />
<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc)|See Site Configuration (ADF.cfc) for more info]]) file (located in your site's /_cs_apps/ directory) 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:<br />
<source lang="java"><br />
loadApp("ptCalendar");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Styles ==<br />
There are several out of the box style options for the Social Media application. Most of the styles are defined in the following style sheets located in the /style directory within the ADF Social Media App directory:<br />
<br />
* '''/ADF/apps/pt_calendar/style/calendar.css'''<br />
<br />
You have two options: you can either load them into your Base Plus One (recommended) or your can load them into the Calendar Templates you create.<br />
<br />
Note: the classes and styles defined for the Calendar app are targeted tightly for the layout generated by the Social Media 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.<br />
<br />
== Import Custom Elements ==<br />
The Calendar App has several Custom Components defined within CommonSpot. These components are available in the Calendar's "exported-objects" folder located at the root of the ptCalendar application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)<br />
<br />
To import these objects, you will need to be an administrator for your site. <br />
<br />
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.<br />
<br />
'''Import Custom Elements:'''<br><br />
Global Custom Elemnts<br />
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)<br />
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)<br />
#[[Calendar Organizations]] (Calendar-Organizations-Custom-Element.zip)<br />
#[[Calendar Event Recurrence]] (Calendar-Event-Recurrence-Custom-Element.zip)<br />
#[[Calendar Event Details]] (Calendar-Event-Details-Custom-Element.zip)<br />
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)<br />
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)<br />
Local Custom Elements<br />
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)<br />
<br />
== Verify Imports ==<br />
<br />
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. <br />
<br />
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/".<br />
<br />
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. <br />
<br />
Example: The Calendar Event Categories custom element contains 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.<br />
<br />
== App Configuration ==<br />
The Calendar App uses a custom element to store site specific configurations. <br />
<br />
<!-- Most of these configuration fields will not need to be modified from their default values. Although, there are a few fields that the values will need to be customized for your specific install of the application. These fields are be listed below.--><br />
<br />
Here is a list of most of the available configuration fields:<br />
<br />
===General Tab===<br />
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)<br />
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)<br />
# '''Send New Event Emails to Category Notification Users''' - <br />
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users <br />
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users <br />
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users <br />
# '''Send Event Approved Email to Contact''' - <br />
# '''Event Approved Label''' - <br />
# '''Event Approved Email Message''' - <br />
# '''Send Event Denied Email to Contact''' - <br />
# '''Event Denied Label''' - <br />
# '''Event Denied Email Message''' -<br />
<br />
===View Page===<br />
# '''calendarViewPageMode''' -<br />
# '''calenderViews''' -<br />
# '''defaultCalendarView''' -<br />
# '''calendarViewParamName''' -<br />
<br />
===Rendering and Display Tab===<br />
# '''App UI Theme''' - The Calendar app utilizes [http://jqueryui.com/themeroller/ jQueryUI Themes] for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.<br />
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)<br />
# '''Event Details ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)<br />
# '''Calendar Small Grid Cell Width''' - (Default: 30)<br />
# '''Calendar Small Grid Cell Height''' - (Default: 24)<br />
# '''Calendar Large Grid Cell Width ''' - (Default: 130)<br />
# '''Calendar Large Grid Cell Height''' - (Default: 150)<br />
# '''ColdFusion Date Mask''' - ColdFusion Date Mask used for the display of dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: M/D/YYYY)<br />
# '''ColdFusion Time Mask''' - ColdFusion Time Mask used for the display of times. [http://www.cfquickdocs.com/cf9/#TimeFormat TimeFormat on cfquickdocs.com] (Default: h:mm tt)<br />
# '''ColdFusion Long Date Mask''' - ColdFusion Date Mask used for the display of long or full dates. [http://www.cfquickdocs.com/cf9/#DateFormat DateFormat on cfquickdocs.com] (Default: yyyy)<br />
# '''Broken Recurrence Event Suffix''' - Text that is appended to the end of the title of a broken recurrence event that was created from a recurrence pattern. (Default: ''blank'')<br />
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event. (Default: - Copy)<br />
<br />
===Performance and Debugging Tab===<br />
# '''Enable Event Cache''' - (Default: No)<br />
# '''Calendar Cache Type''' - (Default: ''blank'')<br />
# '''Calendar Cache DSN''' - (Default: ''blank'')<br />
# '''Enable Verbose Output''' - (Default: No) <br />
<br />
Note: The app configuration fields not listed here should NOT need to be modified from their default values.<br />
<br />
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.<br />
<br />
===Configure the App UI Theme Field===<br />
#Go to your '''CommonSpot Site Administration'''<br />
#From the menu on the left open '''Element & Forms'''<br />
#Click '''Elements'''<br />
#A '''Manage Elements''' window will open<br />
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''<br />
#Click the '''Filter''' button<br />
#Scroll to the bottom of the '''Calendar App Elements''' list<br />
#Find the '''ptCalendar Configuration''' global custom element<br />
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element<br />
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields<br />
#A 'Custom Element Field Definitions' window will open<br />
#Go to the 'Rendering and Display' tab<br />
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT<br />
#Click the 'Other Properties' Tab<br />
#From the "Select an installed jQuery UI Version:" drop down list select the latest jQuery UI library that is available in your install of the ADF. (ie. '''jquery-ui-1.8''')<br />
#Click '''Save'''<br />
<br />
== Subsites ==<br />
It is '''highly recommended''' to have a Web Admin subsite that contains a Calendar subsite that will contain the Management pages for the calendar administrators. This allows security to be setup for the subsite to allow only administrators access for the webadmin subsite.<br />
<br />
Your site may already have a ''webadmin'' subsite. The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.<br />
<br />
=== Web Admin ===<br />
The Calendar Web Admin subsite will be used house the Calendar Management Pages.<br />
# If it does not exist, create a new subsite under the site root called ''webadmin''.<br />
# Create a new subsite under ''webadmin'' called ''calendar''.<br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'. <br />
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.<br />
<br />
=== Calendar ===<br />
The Calendar subsite will be used house the Calendar Display Pages.<br />
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.<br />
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.<br />
<br />
== Templates ==<br />
===Web Admin Template - ''Optional''===<br />
<br />
The Web Admin template will be used to render web admin management pages.<br />
<br />
# If it does not exist, create a CommonSpot page called 'Web Admin' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to place this template int the webadmin subsite.)<br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
===Calendar Template - ''Optional''===<br />
<br />
The Calendar template will be used to render Calendar display pages.<br />
<br />
# Create a CommonSpot page called 'Calendar' from the Base Plus One template. (The subsite for this is not critical but it may be a good idea to create this template in the 'calendar' subsite.) <br />
# Submit and activate the page.<br />
# Save the page as a template.<br />
# Submit the template for public use.<br />
<br />
== Management Pages ==<br />
Create these 7 Admin pages: <br />
#[[#CCAPI Configuration|CCAPI Configuration]]<br />
#[[#Manage App Configuration Page|Manage App Configuration Page]]<br />
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]<br />
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]<br />
#[[#Manage Events Datasheet|Manage Events Datasheet]]<br />
#[[#Manage Events Grid|Manage Events Grid]]<br />
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional<br />
<br />
<!-- <br />
#[[#Manage Service Accounts Page with Multiple Datasheets|Manage Service Accounts Page with Multiple Datasheets]]<br />
#[[#Social Media Dashboard Page|Social Media Dashboard Page]]<br />
You may also want to create this optional page for service feed debugging: <br />
#[[#Social Media Stream Debug Page - Optional|Social Media Stream Debug Page]]<br />
---><br />
<br />
=== CCAPI Configuration ===<br />
The Calendar Application uses the [[CCAPI|ADF CCAPI]] to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.<br />
<br />
First, follow the steps to set up the [[CCAPI Config|CCAPI Config]] file for the site. Once that configuration is complete, follow the steps below to set up the CCAPI config for the Photo Gallery application. Make sure to update the ''wsVars'' section with the correct URLs and username/password.<br />
<br />
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite. <br />
# Add each of the following Forums elements to the page:<br />
##[[Calendar Event Details]]<br />
##[[Calendar Event DateTime]] <br />
##[[Calendar Event Recurrence]] <br />
##[[Calendar Event Categories]] <br />
##[[Calendar Organizations]] <br />
<br />
# For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.<br />
# In the Element Name field, enter the appropriate name for each element:<br />
## ccapiCalendarEventDetailsElement<br />
## ccapiCalendarEventDateTimeElement<br />
## ccapiCalendarEventRecurrenceElement<br />
## ccapiCalendarEventCategoriesElement<br />
## ccapiCalendarOrganizationsElement<br />
<br />
# Publish this page and view in read mode.<br />
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:<br />
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder <br />
<br />
<source lang="xml"><br />
<CalendarEventDetails><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDetailsElement</controlName><br />
</CalendarEventDetails><br />
<CalendarEventDateTime><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventDateTimeElement</controlName><br />
</CalendarEventDateTime><br />
<CalendarEventRecurrence><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventRecurrenceElement</controlName><br />
</CalendarEventRecurrence><br />
<CalendarEventCategories><br />
<pageID>####</pageID><br />
<subsiteID>##</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarEventCategoriesElement</controlName><br />
</CalendarEventCategories><br />
<CalendarOrganizations><br />
<pageID>####</pageID><br />
<subsiteID>#</subsiteID><br />
<elementType>custom</elementType><br />
<controlName>ccapiCalendarOrganizationsElement</controlName><br />
</CalendarOrganizations><br />
</source><br />
<br />
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created. <br />
<br />
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:<br />
<source lang="java"><br />
var jsSubSiteID = ##;<br />
</source><br />
<br />
Identify the following line in the source code and enter this numeric value into the <pageID> tag:<br />
<source lang="java"><br />
var jsPageID = ####;<br />
</source><br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage App Configuration Page===<br />
The Calendar Configuration Page will be used to manage the ptCalendar Configuration custom element. Follow these steps to configure the datasheet and page for adding the configuration settings.<br />
<br />
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.<br />
# In the main content of the page, add a '''Custom Script''' element.<br />
# Enter the explicit module path for:<br />
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''<br />
# Publish the page.<br />
<br />
'''Create a Calendar Configuration Record'''<br />
We are creating a single Calendar Configuration element record to be used within the application. <br />
<br />
#Click the '''Add Configuration''' button<br />
#You can update the following fields: <br />
## '''General Tab'''<br />
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)<br />
### '''Event Notification From Address''' - add a valid ''FROM'' address <br />
## '''View Page'''<br />
### '''Calendar View Page Mode''' - set this option to 'Single'<br />
### '''Calendar Views''' - make sure all 5 options are checked<br />
### '''Default Calendar View''' - select MonthGrid (you can change this later) <br />
## '''Rendering and Display Tab'''<br />
### '''App UI Theme''' - select a UI theme <br />
## '''Performance and Debugging Tab'''<br />
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)<br />
#Submit the form to create '''a configuration record'''. <br />
<br />
Doing this will save the default field values in the configuration record of the custom element. <br />
<br />
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.<br />
<br />
[[Reset ADF|Reset the ADF]]<br />
<br />
===Manage Calendar Organizations Datasheet===<br />
The '''Calendar Organizations''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Organizations''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Organizations' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Organizations View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Organizations<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''UniqueID''', '''Name''', '''Ordinal''' and '''Active''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Active'<br />
## Click Finish<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = NAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Event Categories Datasheet===<br />
<br />
The '''Calendar Event Categories''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Event Categories''' element data.<br />
<br />
#Create a new page called 'Manage Event Categories' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Categories View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Event Categories<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''CatID'', '''Name''', '''CategoryIcon''', '''OrgIDlist''', '''Active''' and '''NotificationUserIDs''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm<br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":<br />
#*Hidden: Checked <br />
##Click Finish or Save. <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Notify Users'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = NAME Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Datasheet===<br />
<br />
The '''Calendar Event Details''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Event Details View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage events<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".<br />
# From the Datasheet Columns Dialog select the columns '''UniqueID'', '''Title''', '''EventDateTimeIDList''', '''EventRecurrenceID''', '''Category''', '''Organization''', '''EventApproved''' and '''AppovalUserID''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete/Copy'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Event Dates/Times'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Recurrence Properties'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Categories'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approval Status'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Approver'<br />
##Click Finish or Save<br />
##Click Finish or Save<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the Layout button<br />
##Default Sorting = TITLE Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
===Manage Events Grid===<br />
<br />
The Calendar Event can also be managed using the Calendar Event Grid view. This a custom management interface that does NOT use a datasheet. This view will be used to manage recurring events. The following steps will describe how to configure the custom scripts to manage the Calendar Events.<br />
<br />
#Create a new page called 'Manage Calendar Events Grid' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content container of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm<br />
# On the '''Parameters''' tab of the custom script element add following parameter:<br />
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''<br />
#Click Save<br />
#Add another Custom Script element to main content container of the page.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm<br />
#Click Save<br />
# Publish this page.<br />
<br />
===Manage Page Mappings Datasheet - ''Optional''===<br />
''Only used with the Multiple View Page Mode''<br />
The '''Calendar Page Mapping''' element is a global custom element. Managing data for global custom elements can be configured easily through the use of Datasheets. The following steps will describe how to configure the datasheet to manage the '''Calendar Page Mapping''' element data.<br />
<br />
#Create a new page called 'Manage Calendar Page Mappings' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.<br />
#In the main content of the page, add a Custom Script element.<br />
#From the Custom Script element interface, click the "Edit" icon.<br />
#Enter the following text into the Explicit Module path:<br />
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm<br />
# From the Datasheet element interface, click the "Datasheet" icon.<br />
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.<br />
# Enter the following information and then click "Next":<br />
## Name: All Page Mappings View<br />
## Private: unchecked<br />
## Default View: checked<br />
## Description: View to manage All Page Mappings View<br />
## Datasheet Source: Form Result/Custom Element Sheet<br />
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".<br />
# From the Datasheet View Columns Dialog select the columns '''MapID''', '''Subsite''', '''OrgID''', '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''DailyPage''' and '''DetailsPage''' from the Available Columns list and move them to the Selected Columns list and then click "Finish".<br />
# You will be brought to the Datasheet View page; click "Close" to return to your page.<br />
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".<br />
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm<br />
##Click Finish or Save. <br />
##In the Header field, switch the text to 'Edit/Delete'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm<br />
## Click Finish or Save <br />
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm<br />
## Click Finish or Save <br />
## In the Header field, switch the text to 'Organizations'<br />
##Click Finish or Save<br />
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":<br />
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: <br />
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm<br />
##Click Finish or Save<br />
#With the remaining columns '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''<br />
# Close the Edit Column window.<br />
#Go back to the Datasheet element interface, select the '''Layout''' button<br />
##Default Sorting = '''SUBSITE''' Ascending<br />
##Uncheck "Show Alphabet Characters for Filtering"<br />
##Uncheck "Allow JavaScript data sorting"<br />
##Click Save<br />
# Publish this page.<br />
<br />
== Calendar View Pages ==<br />
<br />
<!--<br />
* [[PT_Calendar2_Monthly Grid View Page|Calendar Monthly Grid View Page]]<br />
* [[PT_Calendar2_Monthly List View Page|Calendar Monthly List View Page]]<br />
* [[PT_Calendar2_Weekly Grid View Page|Calendar Weekly Grid View Page]]<br />
* [[PT_Calendar2_Weekly List View Page|Calendar Weekly List View Page]]<br />
* [[PT_Calendar2_Daily View Page|Calendar Daily View Page]]<br />
* [[PT_Calendar2_Event Details Page|Calendar Event Details Page]]<br />
--><br />
<br />
== Calendar Page Mapping Configuration - Optional ==<br />
<br />
<!--<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--><br />
<br />
<br />
==Calendar Month Grid Widget (Small)==<br />
<br />
<!--<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--><br />
<br />
<!--<br />
<br />
==Calendar Cache Dashboard==<br />
<br />
<br />
* [[PT_Calendar2_View Page Mapping|Calendar View Page Mappings]]<br />
--></div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Link_Builder_Configuration&diff=5275PT Link Builder Configuration2011-11-29T17:59:45Z<p>Ssmith: </p>
<hr />
<div>== Steps ==<br />
# Download the PT Link Builder application from the the|commons projects SVN (http://community.paperthin.com/svn/pt_link_builder/tags/2.0/).<br />
# Extract the zip file and place the directory in the "/ADF/apps/pt_link_builder/" directory.<br />
<br />
== Site Configuration ==<br />
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].<br />
* Open the sites 'ADF.cfc' ([[Site Configuration (ADF.cfc) | See Site Configuration (ADF.cfc) for more info]]) file in a text editor. Locate the ''Load the ADF Application into application space'' comment in the file. Add the following command under the comment section:<br />
<source lang="java"><br />
loadApp("ptLinkBuilder");<br />
</source><br />
* [[Reset ADF|Reset the ADF]] for the server and site.<br />
<br />
== Element Import ==<br />
* Import the Link-Builder-Data-Custom-Element.zip<br />
<br />
== Custom Field Type Import ==<br />
* Navigate to the CommonSpot administrator and open the Manage Custom Field Types dialog. <br />
* Import the Link Builder custom field type (link_builder/Link-Builder-Custom-Field-Type.zip). <br />
* Edit the properties and check the explicit module paths. If the paths are not correct for unlock the field type and edit the explicit paths to use “/ADF/extensions/…”. <br />
<br />
== Implementing the Link Builder Custom Field ==<br />
* When implementing the link builder field, the properties need to be setup for the field in the custom element. <br />
* Locate the link builder field in the custom element and edit the field. <br />
* Open the Properties and enter the URL to the Link Builder Actions page that was created. <br />
<br />
== Rendering Link Builder Data ==<br />
# In the render handler for the element containing the link builder field, this code is required to return the data from the Link Builder Data custom element. <br />
# Add the following code into your render handler when looping over the render handler data array: <br />
## // Get the Link Builder Data for the UUID's <br />
## linkDataArray = application.ADF.ceData.getCEData("Link Builder Data", "uuid", items[i].Values.LINKS); <br />
### Where “items[i].Values.LINKS” is the link builder field in the custom element. <br />
<br />
[[Category:Link Builder]]</div>Ssmithhttp://community.paperthin.com/adf-docs/index.php?title=PT_Link_Builder_Extract&diff=5274PT Link Builder Extract2011-11-29T17:59:01Z<p>Ssmith: </p>
<hr />
<div>== Steps ==<br />
# Download the PT Link Builder application from the the|commons projects SVN (http://community.paperthin.com/svn/pt_link_builder/tags/2.0/).<br />
# Extract the zip file and place the directory in the "/ADF/apps/pt_link_builder/" directory.</div>Ssmith