Difference between revisions of "PT Calendar Version 3 Install"

From ADF Docs
Jump to: navigation, search
m (Web Admin Calendar Management)
 
(216 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
Back to [[PT_Calendar|PT Calendar]]
 
Back to [[PT_Calendar|PT Calendar]]
  
  IMPORTANT: v3.0 HAS NOT BEEN RELEASED!!
+
  <!-- IMPORTANT: v3.0 HAS NOT BEEN RELEASED!! -->
  <!-- IMPORTANT: '''ADF 1.5.3''' or greater is '''REQUIRED''' for this application. -->
+
  <!-- IMPORTANT: '''ADF 1.6''' or greater is '''REQUIRED''' for this application. -->
 +
 
 +
IMPORTANT: PT Calender '''v3.0''' requires '''ADF 1.6''' or greater.
  
 
== Download ==
 
== Download ==
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar/index.cfm Community Site Project] or from the SVN Repository.   
+
Download the Calendar Application from the [http://community.paperthin.com/projects/pt_calendar2/index.cfm Community Site Project] or from the SVN Repository.   
  
 
Extract the zip files into the following directory:
 
Extract the zip files into the following directory:
Line 11: Line 13:
  
 
== Site Configuration ==
 
== Site Configuration ==
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.
+
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.
  
 
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].
 
* Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF [[Installation]].
 
* 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:
 
* 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:
<source lang="java">
+
 
loadApp("ptCalendar");
+
loadApp("ptCalendar");
</source>
 
* [[Reset ADF|Reset the ADF]] for the server and site.
 
  
 
== Styles ==
 
== Styles ==
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:
+
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:
  
* /ADF/apps/pt_social_media/style/calendar.css
+
* '''/ADF/apps/pt_calendar/style/calendar.css'''
  
 
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.
 
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.
  
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.
+
'''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.
 +
 
 +
=== Style Customization ===
 +
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.
 +
 
 +
Here is the recommended site-level location:
 +
* '''/_cs_apps/pt_calendar/style/calendar.css'''
  
 
== Import Custom Elements ==
 
== Import Custom Elements ==
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 Social Media application directory (e.g. /ADF/apps/pt_calendar/exported-objects/)
+
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/)
  
 
To import these objects, you will need to be an administrator for your site.  
 
To import these objects, you will need to be an administrator for your site.  
Line 36: Line 43:
 
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.
 
Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.
  
'''Import Custom Elements:'''
+
'''Import Custom Elements:'''<br>
 
+
Global Custom Elemnts
 
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)
 
#[[ptCalendar Configuration]] (ptCalendar-Configuration-Custom-Element.zip)
 
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)
 
#[[Calendar Page Mapping]] (Calendar-Page-Mapping-Custom-Element.zip)
Line 45: Line 52:
 
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)
 
#[[Calendar Event DateTime]] (Calendar-Event-DateTime-Custom-Element.zip)
 
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)
 
#[[Calendar Event Categories]] (Calendar-Event-Categories-Custom-Element.zip)
 +
Local Custom Elements
 
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)
 
#[[Calendar Display Properties]] (Calendar-Display-Properties-Custom-Element.zip)
 +
#[[Calendar Widget Properties Month Grid Single]] (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)
 +
#[[Calendar Widget Properties Upcoming Events Single]] (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)
 +
#[[Calendar Widget Properties Events RSS Feed Single]] (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)
 +
 +
  Note: If using the '''Multiple View Page''' Mode import the widget files with 'Multi' in the name.
  
 
== Verify Imports ==
 
== Verify Imports ==
Line 55: Line 68:
 
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.   
 
If the custom elements that are imported contain custom field types that are already in the site, the naming convention for the custom field type will be unique.  To resolve this, unlock the field types and elements, and reassign the element field type to the pre-existing field type.   
  
Example: The 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.
+
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.
 +
 
 +
* [[Reset ADF|Reset the ADF]] for the server and site.
  
 
== App Configuration ==
 
== App Configuration ==
The Social Media App uses a custom element to store site specific configurations.  
+
The Calendar App uses a custom element to store site specific configurations.  
  
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.
+
<!-- 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.-->
  
There are several configuration fields:
+
Here is a list of most of the available configuration fields:
  
===General Configuration Tab===
+
===General Tab===
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Example: commonspot-users)
 
# '''Calendar 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.
 
# '''Calendar App Use Event Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)
 
# '''Calendar App ToolTip Theme''' -  If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)
 
# '''Manage Event New URL''' - Site relative URL for adding new events via a lightbox page.(Example: /webadmin/lightbox/calendar/manage-add-new-event.cfm)
 
# '''Manage Event Copy URL''' - Site relative URL for copying new events via a lightbox page.(Example: /webadmin/lightbox/calendar/manage-copy-new-event.cfm)
 
 
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)
 
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)
 +
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)
 +
# '''Send New Event Emails to Category Notification Users''' -
 
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users  
 
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users  
 
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users  
 
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users  
 
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users  
 
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users  
# '''Calendar Small Grid Cell Width''' - (Default: 30)
+
# '''Send Event Approved Email to Contact''' -
# '''Calendar Small Grid Cell Height''' - (Default: 24)
+
# '''Event Approved Label''' -  
# '''Calendar Large Grid Cell Width ''' - (Default: 130)
+
# '''Event Approved Email Message''' -  
# '''Calendar Large Grid Cell Height''' - (Default: 150)
+
# '''Send Event Denied Email to Contact''' - 
 +
# '''Event Denied Label''' -
 +
# '''Event Denied Email Message''' -
 +
 
 +
===View Page===
 +
# '''calendarViewPageMode''' -
 +
# '''calenderViews''' -
 +
# '''defaultCalendarView''' -
 +
# '''calendarViewParamName''' -
  
 
===Rendering and Display Tab===
 
===Rendering and Display Tab===
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Example: commonspot-users)
+
# '''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.
# '''Calendar 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.
+
# '''Use Event Details Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)
# '''Calendar App Use Event Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)
+
# '''Event Details ToolTip Theme''' -  If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)
# '''Calendar App ToolTip Theme''' -  If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)
 
# '''Manage Event New URL''' - Site relative URL for adding new events via a lightbox page.(Example: /webadmin/lightbox/calendar/manage-add-new-event.cfm)
 
# '''Manage Event Copy URL''' - Site relative URL for copying new events via a lightbox page.(Example: /webadmin/lightbox/calendar/manage-copy-new-event.cfm)
 
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)
 
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users
 
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users
 
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users
 
 
# '''Calendar Small Grid Cell Width''' - (Default: 30)
 
# '''Calendar Small Grid Cell Width''' - (Default: 30)
 
# '''Calendar Small Grid Cell Height''' - (Default: 24)
 
# '''Calendar Small Grid Cell Height''' - (Default: 24)
 
# '''Calendar Large Grid Cell Width ''' - (Default: 130)
 
# '''Calendar Large Grid Cell Width ''' - (Default: 130)
 
# '''Calendar Large Grid Cell Height''' - (Default: 150)
 
# '''Calendar Large Grid Cell Height''' - (Default: 150)
 +
# '''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)
 +
# '''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)
 +
# '''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)
 +
# '''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'')
 +
# '''Copy Event Suffix''' - Text that is appended to the end of the title of a copied event.  (Default: - Copy)
  
===Performace and Debugging Tab===
+
===Performance and Debugging Tab===
# '''CS USERS DSN''' - Where the Calendar will get the Users info for event category notifications. (Example: commonspot-users)
+
# '''Enable Event Cache''' - (Default: No)
# '''Calendar 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.
+
# '''Calendar Cache Type''' - (Default: ''blank'')
# '''Calendar App Use Event Tooltip''' - The Calendar app utilizes [http://craigsworks.com/projects/qtip/ jQuery qTip] for event detail tooltips. (Default: Yes)
+
# '''Calendar Cache DSN''' - (Default: ''blank'')
# '''Calendar App ToolTip Theme''' - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)
+
# '''Enable Verbose Output''' - (Default: No)  
# '''Manage Event New URL''' - Site relative URL for adding new events via a lightbox page.(Example: /webadmin/lightbox/calendar/manage-add-new-event.cfm)
+
 
# '''Manage Event Copy URL''' - Site relative URL for copying new events via a lightbox page.(Example: /webadmin/lightbox/calendar/manage-copy-new-event.cfm)
+
Note: The app configuration fields not listed here should NOT need to be modified from their default values.
# '''New Event URL''' - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)
+
 
# '''Event Notification From Address''' - The 'From' email address of the notification email sent to event category users
+
IMPORTANT: Follow the steps below to configure the '''App UI Theme Field''' for your site.
# '''Event Notification Email Subject''' - The subject of the notification email sent to event category users
 
# '''Event Notification Email Message''' - The standard message for the notification email sent to event category users
 
# '''Calendar Small Grid Cell Width''' - (Default: 30)
 
# '''Calendar Small Grid Cell Height''' - (Default: 24)
 
# '''Calendar Large Grid Cell Width ''' - (Default: 130)
 
# '''Calendar Large Grid Cell Height''' - (Default: 150)
 
  
Note: The other API fields in the configuration element (not listed here) should NOT need to be modified from their default values.
+
===Configure the App UI Theme Field===
 +
#Go to your '''CommonSpot Site Administration'''
 +
#From the menu on the left open '''Element & Forms'''
 +
#Click '''Elements'''
 +
#A '''Manage Elements''' window will open
 +
#From the '''Category''' drop down filter the list elements by selecting the '''Calendar App Elements'''
 +
#Click the '''Filter''' button
 +
#Scroll to the bottom of the '''Calendar App Elements''' list
 +
#Find the '''ptCalendar Configuration''' global custom element
 +
#Click the '''"Lock"''' icon to unlock the ptCalendar Configuration Element
 +
#Click the '''"Pencil"''' icon and select field definitions to open the configuration fields
 +
#A 'Custom Element Field Definitions' window will open
 +
#Go to the 'Rendering and Display' tab
 +
#Edit the 'App UI Theme (ui_theme)' field that uses the '''UI Theme Selector''' CFT
 +
#Click the 'Other Properties' Tab
 +
#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''')
 +
#Click '''Save'''
  
 
== Subsites ==
 
== Subsites ==
Line 119: Line 146:
 
Your site may already have a ''webadmin'' subsite.  The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.
 
Your site may already have a ''webadmin'' subsite.  The steps below will add a ''calendar'' subsite into the ''webadmin'' subsite.
  
=== Web Admin Calendar Management ===
+
=== Web Admin ===
# If it does not already exist, Create a new subsite under the site root called ''webadmin''.
+
The Calendar Web Admin subsite will be used house the Calendar Management Pages.
 +
# If it does not exist, create a new subsite under the site root called ''webadmin''.
 
# Create a new subsite under ''webadmin'' called ''calendar''.
 
# Create a new subsite under ''webadmin'' called ''calendar''.
 
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'.   
 
# Configure the ''/webadmin/calendar/'' subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'.   
 
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.
 
# Configure the ''/webadmin/calendar/'' subsite Content Security to give permissions to the group of administrators who will manage the Calendar.
  
=== Calendar Display Pages ===
+
=== Calendar ===
 +
The Calendar subsite will be used house the Calendar Display Pages.
 
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.
 
# Create a new subsite under the site root called ''calendar'' for an "all events" version of the calendar.
 
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.
 
# Create additional subsites under the ''calendar'' subsite for any organizations that will have filtered versions of the calendar.
Line 134: Line 163:
 
The Web Admin template will be used to render web admin management pages.
 
The Web Admin template will be used to render web admin management pages.
  
# 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).
+
# 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.)
 
# Submit and activate the page.
 
# Submit and activate the page.
 
# Save the page as a template.
 
# Save the page as a template.
 +
# Submit the template for public use.
  
===Calendar Template - ''Optional''===
+
=== Calendar Template ===
  
The Social Media template will be used to render Social Media pages.
+
This Calendar template will be used to create the Calendar display page(s) that render the different calendar views.  
  
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.
+
# 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.)
 
+
#* 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.
# 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').  
 
 
# Submit and activate the page.
 
# Submit and activate the page.
 
# Save the page as a template.
 
# Save the page as a template.
 
# Submit the template for public use.
 
# Submit the template for public use.
  
 +
This calendar template will be setup using the '''SINGLE''' calendar view page mode.
  
# Submit the template for public use.
+
<!-- For the steps to
 +
setup the Calendar using the '''MULTIPLE''' calendar view page mode see below.
 +
[[ADD LINK HERE]] -->
 +
 
 +
=== Calendar Template Setup ===
 +
 
 +
==== Calendar Display Views (Wide Content Area) ====
 +
 
 +
# In the '''WIDE''' content container element on the template page, add a Custom Script element.
 +
# From the Custom Script element interface, click the ''Edit'' icon.
 +
# Enter the following text into the Explicit Module path:
 +
#* ''/ADF/apps/pt_calendar/customcf/calendar_view_links.cfm''
 +
# Next in the '''WIDE''' content container, add the '''Calendar Display Properties''' Local Custom Element.
 +
# To configure the '''Calendar Display Properties''':
 +
## Click '''Data''' in the element interface.
 +
## From the 'Enter Custom Element Data' lightbox window that opens
 +
## 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.
 +
##* 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.
 +
# Submit the Display properties form.
 +
 
 +
==== Calendar Modules and Widgets (Narrow Content Area) - ''Optional Items'' ====
 +
<!-- Add these 5 modules and widgets to your template:
 +
#[[#Small Calendar Month Grid Widget|Small Calendar Month Grid Widget]]
 +
#[[#Event Request Form Button|Event Request Form Button]]
 +
#[[#Month Jump Drop Down Nav|Month Jump Drop Down Nav]]
 +
#[[#Event Request Form Button|Event Request Form Button]]
 +
#[[#Event Category Checkbox Filters|Event Category Checkbox Filters]] -->
 +
 
 +
# '''Small Calendar Month Grid Widget''' - Optional
 +
## In the '''NARROW''' content container element on the template page, add the '''Calendar Widget Properties-​​Month Grid-​​Single''' Local Custom Element.
 +
<!-- ##* ''/ADF/apps/pt_calendar/exported-objects/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip'' -->
 +
<!-- ##* When using the multiple calendar view page mode... use the '''-Multi''' Local Custom Element (see -->
 +
## To configure this widget:
 +
### Click '''Data''' in the element interface.
 +
### From the 'Enter Custom Element Data' lightbox window that opens
 +
### 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.
 +
### Next select the '''Organizations''','''Categories''' and/or check/uncheck the '''Approved''' checkbox to the filter the events you want to display.
 +
###* 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.
 +
## Submit the Widget Display properties form.
 +
# '''Event Request Form Button''' - Optional
 +
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.
 +
## Enter the following text into the Explicit Module path:
 +
##* ''/ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm''
 +
## Submit the Custom Script Element form.
 +
# '''Month Jump Drop Down Nav''' - Optional
 +
## Next in the '''NARROW''' content container element on the template page, add a Custom Script element.
 +
## Enter the following text into the Explicit Module path:
 +
##* ''/ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm''
 +
## Submit the Custom Script Element form.
 +
# '''Event Category Checkbox Filters'''  - Optional
 +
## Next in the '''NARROW''' column container, add the '''Calendar Display Properties''' Local Custom Element.
 +
## Next add the '''Calendar Event Categories''' Global Custom Element.
 +
## Click '''Render Mode''' in the element interface.
 +
## Select '''Display existing element data (content reuse)''' on the '''Rendering Mode''' tab.
 +
### Select the '''Filter''' tab.
 +
### Select Filter Type to '''Show subset of records'''.
 +
### Select the '''Field''' drop-down as the '''Categories.Active''' field.
 +
### Select the operator as '''Equals'''.
 +
### For the third value drop-down select '''1'''.
 +
<!-- ###* For instructions to filter the listed categories by specific organizations [[ADD LINK HERE]] -->
 +
### For the '''Sort Order''' drop-down select the '''Category Name''' field and choose '''Ascending'''
 +
### Click '''OK''' on the render mode window.
 +
## Now click ''More'' in the element interface.  Then the ''Custom Render Handlers'' menu option, and select the Render Handler:
 +
##* '''Calendar Category CheckBox List''' 
 +
## Click '''OK''' on the custom render handlers window.
 +
# Publish the changes to the template page.
 +
 
 +
== Management Pages ==
 +
Create these 7 Admin pages:
 +
#[[#CCAPI Configuration|CCAPI Configuration]]
 +
#[[#Manage App Configuration Page|Manage App Configuration Page]]
 +
#[[#Manage Calendar Organizations Datasheet|Manage Calendar Organizations Datasheet]]
 +
#[[#Manage Event Categories Datasheet|Manage Event Categories Datasheet]]
 +
#[[#Manage Events Datasheet|Manage Events Datasheet]]
 +
#[[#Manage Events Grid|Manage Events Grid]]
 +
#[[#Manage Page Mappings Datasheet - Optional|Manage Page Mappings Datasheet]] - Optional
 +
=== CCAPI Configuration ===
 +
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.
 +
 
 +
''The steps below use the standard [[CCAPI Config|CCAPI Config]] setup. If this is your first App installation
 +
it may be good to go ahead and follow these steps for the CCAPI setup.
 +
Advanced developers with CCAPI experience may want to consider using the new [[CCAPI Conduit Page Pool|CCAPI Conduit Page Pool]]
 +
configuration for populating the Global Custom Elements used in this application.''
 +
 
 +
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.
 +
 
 +
# Create a new page called 'ccapiCalendar'. Recommend creating this page in the ''/webadmin/calendar/'' subsite.
 +
# Add each of the following Calendar elements to the page:
 +
##[[Calendar Event Details]]
 +
##[[Calendar Event DateTime]]
 +
##[[Calendar Event Recurrence]]
 +
##[[Calendar Event Categories]]
 +
##[[Calendar Organizations]]
 +
 
 +
# For each element that was added, click on the element indicator and go to 'more...'.  Select 'Name' from the menu.
 +
# In the Element Name field, enter the appropriate name for each element:
 +
## ccapiCalendarEventDetailsElement
 +
## ccapiCalendarEventDateTimeElement
 +
## ccapiCalendarEventRecurrenceElement
 +
## ccapiCalendarEventCategoriesElement
 +
## ccapiCalendarOrganizationsElement
 +
 
 +
# Publish this page and view in read mode.
 +
# Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:
 +
## an example 'ccapi.cfm' file is in the '''pt_calendar > site-files > _cs_apps > config''' folder   
 +
 
 +
<pre>
 +
<CalendarEventDetails>
 +
  <pageID>####</pageID>
 +
  <subsiteID>##</subsiteID>
 +
  <elementType>custom</elementType>
 +
  <controlName>ccapiCalendarEventDetailsElement</controlName>
 +
</CalendarEventDetails>
 +
<CalendarEventDateTime>
 +
  <pageID>####</pageID>
 +
  <subsiteID>##</subsiteID>
 +
  <elementType>custom</elementType>
 +
  <controlName>ccapiCalendarEventDateTimeElement</controlName>
 +
</CalendarEventDateTime>
 +
<CalendarEventRecurrence>
 +
  <pageID>####</pageID>
 +
  <subsiteID>##</subsiteID>
 +
  <elementType>custom</elementType>
 +
  <controlName>ccapiCalendarEventRecurrenceElement</controlName>
 +
</CalendarEventRecurrence>
 +
<CalendarEventCategories>
 +
  <pageID>####</pageID>
 +
  <subsiteID>##</subsiteID>
 +
  <elementType>custom</elementType>
 +
  <controlName>ccapiCalendarEventCategoriesElement</controlName>
 +
</CalendarEventCategories>
 +
<CalendarOrganizations>
 +
  <pageID>####</pageID>
 +
  <subsiteID>#</subsiteID>
 +
  <elementType>custom</elementType>
 +
  <controlName>ccapiCalendarOrganizationsElement</controlName>
 +
</CalendarOrganizations>
 +
</pre>
 +
 
 +
To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created.
 +
 +
Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:
 +
<pre>
 +
    var jsSubSiteID = ##;
 +
</pre>
 +
 
 +
Identify the following line in the source code and enter this numeric value into the <pageID> tag:
 +
<pre>
 +
    var jsPageID = ####;
 +
</pre>
 +
 
 +
[[Reset ADF|Reset the ADF]]
 +
 
 +
===Manage App Configuration Page===
 +
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.
 +
 
 +
# Create a new page called '''Manage Configuration''' in the ''/webadmin/calendar/'' subsite.
 +
# In the main content of the page, add a '''Custom Script''' element.
 +
# Enter the explicit module path for:
 +
#* ''/ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm''
 +
# Publish the page.
 +
 
 +
'''Create a Calendar Configuration Record'''
 +
We are creating a single Calendar Configuration element record to be used within the application. 
 +
 
 +
#Click the '''Add Configuration''' button
 +
#You can update the following fields:
 +
## '''General Tab'''
 +
### '''New Event URL''' - clear this default entry (Only used if you have a public or non-admin event request form.)
 +
### '''Event Notification From Address''' - add a valid ''FROM'' address
 +
## '''View Page'''
 +
### '''Calendar View Page Mode''' - set this option to 'Single'
 +
### '''Calendar Views''' - make sure all 5 options are checked
 +
### '''Default Calendar View''' - select MonthGrid (you can change this later)
 +
## '''Rendering and Display Tab'''
 +
### '''App UI Theme''' - select a UI theme 
 +
## '''Performance and Debugging Tab'''
 +
### '''Enable Event Cache''' - Uncheck the event cache option. (This option will be re-enabled later in the install process.)
 +
#Submit the form to create '''a configuration record'''.
 +
 
 +
Doing this will save the default field values in the configuration record of the custom element.
 +
 
 +
See the [[#App Configuration|App Configuration]] portion of this page for more information on the fields and the correct values.
 +
 
 +
[[Reset ADF|Reset the ADF]]
 +
 
 +
===Manage Calendar Organizations Datasheet===
 +
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.
 +
 
 +
#Create a new page called '''Manage Calendar Organizations''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.
 +
#In the main content of the page, add a Custom Script element.
 +
#From the Custom Script element interface, click the "Edit" icon.
 +
#Enter the following text into the Explicit Module path:
 +
#* /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm
 +
# From the Datasheet element interface, click the "Datasheet" icon.
 +
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
 +
# Enter the following information and then click "Next":
 +
## Name: All Event Organizations View
 +
## Private: unchecked
 +
## Default View: checked
 +
## Description: View to manage All Event Organizations
 +
## Datasheet Source: Form Result/Custom Element Sheet
 +
# From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".
 +
# 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".
 +
# You will be brought to the Datasheet View page; click "Close" to return to your page.
 +
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
 +
#Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Edit/Delete'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
 +
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm
 +
## Click Finish or Save
 +
## In the Header field, switch the text to 'Active'
 +
## Click Finish
 +
# Close the Edit Column window.
 +
#Go back to the Datasheet element interface, select the Layout button
 +
##Default Sorting = ORGANIZATIONNAME Ascending
 +
##Uncheck "Show Alphabet Characters for Filtering"
 +
##Uncheck "Allow JavaScript data sorting"
 +
##Click Save
 +
# Publish this page.
 +
 
 +
===Manage Event Categories Datasheet===
 +
 
 +
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.
 +
 
 +
#Create a new page called '''Manage Event Categories''' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.
 +
#In the main content of the page, add a Custom Script element.
 +
#From the Custom Script element interface, click the "Edit" icon.
 +
#Enter the following text into the Explicit Module path:
 +
#* /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm
 +
# From the Datasheet element interface, click the "Datasheet" icon.
 +
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
 +
# Enter the following information and then click "Next":
 +
## Name: All Event Categories View
 +
## Private: unchecked
 +
## Default View: checked
 +
## Description: View to manage All Event Categories
 +
## Datasheet Source: Form Result/Custom Element Sheet
 +
# From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".
 +
# 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".
 +
# You will be brought to the Datasheet View page; click "Close" to return to your page.
 +
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
 +
#Within the Datasheet View Column Properties dialog choose the '''CatID''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Edit/Delete'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''Name''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm
 +
##Click Finish or Save.
 +
#Now within the Datasheet View Column Properties dialog choose the '''CategoryIcon''' column and click "edit":
 +
##Check the checkbox of the field called "Hidden".
 +
##Click Finish or Save.
 +
#Now within the Datasheet View Column Properties dialog choose the '''OrgIDList''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Organizations'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''ACTIVE''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
 +
##*/ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm
 +
## Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''NotificationUserIDs''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Notify Users'
 +
##Click Finish or Save
 +
##Click Finish or Save
 +
# Close the Edit Column window.
 +
#Go back to the Datasheet element interface, select the Layout button
 +
##Default Sorting = Category Name Ascending
 +
##Uncheck "Show Alphabet Characters for Filtering"
 +
##Uncheck "Allow JavaScript data sorting"
 +
##Click Save
 +
# Publish this page.
 +
 
 +
===Manage Events Datasheet===
 +
 
 +
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.
 +
 
 +
#Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the ''/webadmin/calendar/'' subsite.
 +
#In the main content container of the page, add a Custom Script element.
 +
#From the Custom Script element interface, click the "Edit" icon.
 +
#Enter the following text into the Explicit Module path:
 +
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm
 +
#Add another Custom Script element to main content container of the page.
 +
#From the Custom Script element interface, click the "Edit" icon.
 +
#Enter the following text into the Explicit Module path:
 +
#* /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm
 +
# From the Datasheet element interface, click the "Datasheet" icon.
 +
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
 +
# Enter the following information and then click "Next":
 +
## Name: All Event Details View
 +
## Private: unchecked
 +
## Default View: checked
 +
## Description: View to manage events
 +
## Datasheet Source: Form Result/Custom Element Sheet
 +
# From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".
 +
# 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".
 +
# You will be brought to the Datasheet View page; click "Close" to return to your page.
 +
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".
 +
## Select the "Subset of records" filter type.
 +
## Apply the following filter:
 +
### Field = Calendar_Event_Details.uniqueID
 +
### Operator = Value Contained In List
 +
### Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)
 +
## Click Finish or Save
 +
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
 +
#Within the Datasheet View Column Properties dialog choose the '''UniqueID''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Edit/Delete/Copy'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''EventDateTimeIDList''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Event Dates/Times'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''EventRecurrenceID''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Recurrence Properties'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''Category''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Categories'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''Organization''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Organizations'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''EventApproved''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Approval Status'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''AppovalUserID''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Approver'
 +
##Click Finish or Save
 +
##Click Finish or Save
 +
# Close the Edit Column window.
 +
#Go back to the Datasheet element interface, select the Layout button
 +
##Default Sorting = EVENTS DATES AND TIMES Ascending
 +
##Uncheck "Show Alphabet Characters for Filtering"
 +
##Uncheck "Allow JavaScript data sorting"
 +
##Click Save
 +
# Publish this page.
 +
 
 +
===Manage Events Grid===
 +
 
 +
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.
 +
 
 +
#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.
 +
#In the main content container of the page, add a Custom Script element.
 +
#From the Custom Script element interface, click the "Edit" icon.
 +
#Enter the following text into the Explicit Module path:
 +
#* /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm
 +
# On the '''Parameters''' tab of the custom script element add following parameter:
 +
#* '''editType=Grid''' &nbsp; &nbsp; &nbsp; &nbsp;&lt;---''This is a very important''
 +
#Click Save
 +
#Add another Custom Script element to main content container of the page.
 +
#From the Custom Script element interface, click the "Edit" icon.
 +
#Enter the following text into the Explicit Module path:
 +
#* /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm
 +
#Click Save
 +
# Publish this page.
 +
 
 +
===Manage Page Mappings Datasheet - ''Optional''===
 +
''Only used with the '''Multiple View Page''' Mode''
 +
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.
 +
 
 +
#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.
 +
#In the main content of the page, add a Custom Script element.
 +
#From the Custom Script element interface, click the "Edit" icon.
 +
#Enter the following text into the Explicit Module path:
 +
#* /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm
 +
# From the Datasheet element interface, click the "Datasheet" icon.
 +
# From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
 +
# Enter the following information and then click "Next":
 +
## Name: All Page Mappings View
 +
## Private: unchecked
 +
## Default View: checked
 +
## Description: View to manage All Page Mappings View
 +
## Datasheet Source: Form Result/Custom Element Sheet
 +
# From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".
 +
# 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".
 +
# You will be brought to the Datasheet View page; click "Close" to return to your page.
 +
# You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
 +
#Within the Datasheet View Column Properties dialog choose the '''MapID''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box: 
 +
##*/ADF/extensions/datasheet-modules/1.0/edit-delete.cfm
 +
##Click Finish or Save.
 +
##In the Header field, switch the text to 'Edit/Delete'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''Subsite''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
 +
##*/ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm
 +
## Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''OrgID''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
 +
##*/ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm
 +
## Click Finish or Save
 +
## In the Header field, switch the text to 'Organizations'
 +
##Click Finish or Save
 +
#Now within the Datasheet View Column Properties dialog choose the '''MonthlyGridPage''' column and click "edit":
 +
##In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
 +
##*/ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm
 +
##Click Finish or Save
 +
#With the remaining columns  '''MonthlyGridPage''', '''MonthlyListPage''', '''WeeklyGridPage''', '''WeeklyListPage''', '''Daily Page''' and '''DetailsPage''' repeat the steps from '''MonthlyGridPage'''
 +
# Close the Edit Column window.
 +
#Go back to the Datasheet element interface, select the '''Layout''' button
 +
##Default Sorting = '''SUBSITE''' Ascending
 +
##Uncheck "Show Alphabet Characters for Filtering"
 +
##Uncheck "Allow JavaScript data sorting"
 +
##Click Save
 +
# Publish this page.
 +
 
 +
== Calendar View Pages ==
 +
# 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.
 +
#* 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.
 +
#* 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.
 +
# Submit the Page.
 +
 
 +
== Getting Started Guide ==
 +
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.
 +
 
 +
=== Calendar App Configuration ===
 +
Make sure your App Configuration has been saved and the ADF reset.
 +
 
 +
# If you haven't already done so, go to your Calendar App '''Manage Configuration''' page and click the button to '''Add Configuration''' data.
 +
# Update the fields listed on the [[#App Configuration|App Configuration]] with your customized information
 +
# Reset the ADF
 +
 
 +
=== Calendar Organizations Configuration ===
 +
Organizations are used to build filtered sub-calendars on your site. 
 +
<!-- 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. -->
 +
 
 +
Add a Organization via the '''Manage Calendar Organization''' datasheet:
 +
# Go to your Web Admin '''Manage Calendar Organizations''' page
 +
# 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.)
 +
# Check the 'Active' checkbox to enable the organization.
 +
# Optional - Select a '''Website''' URL for this Organization.
 +
# Optional - Set the '''Ordinal''' for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)
 +
# Click Submit
 +
 
 +
=== Event Categories Configuration ===
 +
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.
 +
Add the Event Categories via the '''Manage Event Categories''' datasheet:
 +
# Go to your Web Admin '''Manage Event Categories''' page
 +
# Give the new record an '''Category Name'''.
 +
# Check the 'Active' checkbox to enable the category.
 +
# Optional - Select a '''Category Icon''' for this category. Category Icons are small (20x20) icons that represent a category.
 +
# Optional - Set the '''Ordinal''' for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)
 +
# Click Submit
 +
 
 +
=== Calendar Page Mapping Configuration - Optional ===
 +
''Only used with the '''Multiple View Page''' Mode''
 +
 
 +
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).
 +
 
 +
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.
 +
 
 +
To configure Calendar Page Mappings for the All Events Pages complete the following steps.
 +
 
 +
# Go to the web admin page you created for "Calendar Page Mappings Manager"
 +
# Click "Add New Page Mapping"
 +
# From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.
 +
# 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.
 +
# Click Submit

Latest revision as of 23:16, 17 February 2022

Back to PT Calendar


IMPORTANT: PT Calender v3.0 requires ADF 1.6 or greater.

Download

Download the Calendar Application from the Community Site Project or from the SVN Repository.

Extract the zip files into the following directory: /ADF/apps/pt_calendar/

Site Configuration

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.

  • Make sure the ADF is setup and running on the site. If the ADF is not setup, then follow the instructions for ADF Installation.
  • Open the sites '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:
loadApp("ptCalendar");

Styles

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:

  • /ADF/apps/pt_calendar/style/calendar.css

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.

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.

Style Customization

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.

Here is the recommended site-level location:

  • /_cs_apps/pt_calendar/style/calendar.css

Import Custom Elements

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

To import these objects, you will need to be an administrator for your site.

Create a "PT Calendar App Elements" category and import all portions of each component in the order listed.

Import Custom Elements:
Global Custom Elemnts

  1. ptCalendar Configuration (ptCalendar-Configuration-Custom-Element.zip)
  2. Calendar Page Mapping (Calendar-Page-Mapping-Custom-Element.zip)
  3. Calendar Organizations (Calendar-Organizations-Custom-Element.zip)
  4. Calendar Event Recurrence (Calendar-Event-Recurrence-Custom-Element.zip)
  5. Calendar Event Details (Calendar-Event-Details-Custom-Element.zip)
  6. Calendar Event DateTime (Calendar-Event-DateTime-Custom-Element.zip)
  7. Calendar Event Categories (Calendar-Event-Categories-Custom-Element.zip)

Local Custom Elements

  1. Calendar Display Properties (Calendar-Display-Properties-Custom-Element.zip)
  2. Calendar Widget Properties Month Grid Single (/widgets/Calendar-Widget-Properties-Month-Grid-Single-Custom-Element.zip)
  3. Calendar Widget Properties Upcoming Events Single (/widgets/Calendar-Widget-Properties-Upcoming-Events-Single-Custom-Element.zip)
  4. Calendar Widget Properties Events RSS Feed Single (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)
 Note: If using the Multiple View Page Mode import the widget files with 'Multi' in the name.

Verify Imports

The imported components' render handlers and custom field types must be verified. During the import process, the render handler and custom field types paths may have been changed to reflect the current site's path.

Review and update these paths to reference the ADF path. In most cases, this will just require to be unlocked and a change in the path from the site name to 'ADF'. Check the paths for the custom field types that were imported with the custom elements by unlocking them and fixing the explicit paths to point to "/ADF/extensions/".

If the custom elements that are imported contain custom field types that are already in the site, the naming convention for the custom field type will be unique. To resolve this, unlock the field types and elements, and reassign the element field type to the pre-existing field type.

Example: The 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.

App Configuration

The Calendar App uses a custom element to store site specific configurations.


Here is a list of most of the available configuration fields:

General Tab

  1. New Event URL - Site relative URL for a public facing form page for submitting a new Event requests. (Example: /new-event-form.cfm)
  2. CS USERS DSN - Where the Calendar will get the Users info for event category notifications. (Default: commonspot-users)
  3. Send New Event Emails to Category Notification Users -
  4. Event Notification From Address - The 'From' email address of the notification email sent to event category users
  5. Event Notification Email Subject - The subject of the notification email sent to event category users
  6. Event Notification Email Message - The standard message for the notification email sent to event category users
  7. Send Event Approved Email to Contact -
  8. Event Approved Label -
  9. Event Approved Email Message -
  10. Send Event Denied Email to Contact -
  11. Event Denied Label -
  12. Event Denied Email Message -

View Page

  1. calendarViewPageMode -
  2. calenderViews -
  3. defaultCalendarView -
  4. calendarViewParamName -

Rendering and Display Tab

  1. App UI Theme - The Calendar app utilizes jQueryUI Themes for styling of buttons, etc. There are some pre-installed themes that come with the ADF in the Thirdparty folder.
  2. Use Event Details Tooltip - The Calendar app utilizes jQuery qTip for event detail tooltips. (Default: Yes)
  3. Event Details ToolTip Theme - If using event detail tooltips, select one of the 6 pre-packed themes. (Default: Cream)
  4. Calendar Small Grid Cell Width - (Default: 30)
  5. Calendar Small Grid Cell Height - (Default: 24)
  6. Calendar Large Grid Cell Width - (Default: 130)
  7. Calendar Large Grid Cell Height - (Default: 150)
  8. ColdFusion Date Mask - ColdFusion Date Mask used for the display of dates. DateFormat on cfquickdocs.com (Default: M/D/YYYY)
  9. ColdFusion Time Mask - ColdFusion Time Mask used for the display of times. TimeFormat on cfquickdocs.com (Default: h:mm tt)
  10. ColdFusion Long Date Mask - ColdFusion Date Mask used for the display of long or full dates. DateFormat on cfquickdocs.com (Default: yyyy)
  11. 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)
  12. Copy Event Suffix - Text that is appended to the end of the title of a copied event. (Default: - Copy)

Performance and Debugging Tab

  1. Enable Event Cache - (Default: No)
  2. Calendar Cache Type - (Default: blank)
  3. Calendar Cache DSN - (Default: blank)
  4. Enable Verbose Output - (Default: No)

Note: The app configuration fields not listed here should NOT need to be modified from their default values.

IMPORTANT: Follow the steps below to configure the App UI Theme Field for your site.

Configure the App UI Theme Field

  1. Go to your CommonSpot Site Administration
  2. From the menu on the left open Element & Forms
  3. Click Elements
  4. A Manage Elements window will open
  5. From the Category drop down filter the list elements by selecting the Calendar App Elements
  6. Click the Filter button
  7. Scroll to the bottom of the Calendar App Elements list
  8. Find the ptCalendar Configuration global custom element
  9. Click the "Lock" icon to unlock the ptCalendar Configuration Element
  10. Click the "Pencil" icon and select field definitions to open the configuration fields
  11. A 'Custom Element Field Definitions' window will open
  12. Go to the 'Rendering and Display' tab
  13. Edit the 'App UI Theme (ui_theme)' field that uses the UI Theme Selector CFT
  14. Click the 'Other Properties' Tab
  15. 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)
  16. Click Save

Subsites

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.

Your site may already have a webadmin subsite. The steps below will add a calendar subsite into the webadmin subsite.

Web Admin

The Calendar Web Admin subsite will be used house the Calendar Management Pages.

  1. If it does not exist, create a new subsite under the site root called webadmin.
  2. Create a new subsite under webadmin called calendar.
  3. Configure the /webadmin/calendar/ subsite Content Security to give 'No Rights' to 'Anonymous Users' and 'Authenticated Users'.
  4. Configure the /webadmin/calendar/ subsite Content Security to give permissions to the group of administrators who will manage the Calendar.

Calendar

The Calendar subsite will be used house the Calendar Display Pages.

  1. Create a new subsite under the site root called calendar for an "all events" version of the calendar.
  2. Create additional subsites under the calendar subsite for any organizations that will have filtered versions of the calendar.

Templates

Web Admin Template - Optional

The Web Admin template will be used to render web admin management pages.

  1. 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.)
  2. Submit and activate the page.
  3. Save the page as a template.
  4. Submit the template for public use.

Calendar Template

This Calendar template will be used to create the Calendar display page(s) that render the different calendar views.

  1. 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.)
    • 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.
  2. Submit and activate the page.
  3. Save the page as a template.
  4. Submit the template for public use.
This calendar template will be setup using the SINGLE calendar view page mode. 


Calendar Template Setup

Calendar Display Views (Wide Content Area)

  1. In the WIDE content container element on the template page, add a Custom Script element.
  2. From the Custom Script element interface, click the Edit icon.
  3. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/calendar_view_links.cfm
  4. Next in the WIDE content container, add the Calendar Display Properties Local Custom Element.
  5. To configure the Calendar Display Properties:
    1. Click Data in the element interface.
    2. From the 'Enter Custom Element Data' lightbox window that opens
    3. 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.
      • 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.
  6. Submit the Display properties form.

Calendar Modules and Widgets (Narrow Content Area) - Optional Items

  1. Small Calendar Month Grid Widget - Optional
    1. In the NARROW content container element on the template page, add the Calendar Widget Properties-​​Month Grid-​​Single Local Custom Element.
    2. To configure this widget:
      1. Click Data in the element interface.
      2. From the 'Enter Custom Element Data' lightbox window that opens
      3. 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.
      4. Next select the Organizations,Categories and/or check/uncheck the Approved checkbox to the filter the events you want to display.
        • 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.
    3. Submit the Widget Display properties form.
  2. Event Request Form Button - Optional
    1. Next in the NARROW content container element on the template page, add a Custom Script element.
    2. Enter the following text into the Explicit Module path:
      • /ADF/apps/pt_calendar/customcf/calendar_event_request_form_lb_btn.cfm
    3. Submit the Custom Script Element form.
  3. Month Jump Drop Down Nav - Optional
    1. Next in the NARROW content container element on the template page, add a Custom Script element.
    2. Enter the following text into the Explicit Module path:
      • /ADF/apps/pt_calendar/customcf/month_nav_drop_down.cfm
    3. Submit the Custom Script Element form.
  4. Event Category Checkbox Filters - Optional
    1. Next in the NARROW column container, add the Calendar Display Properties Local Custom Element.
    2. Next add the Calendar Event Categories Global Custom Element.
    3. Click Render Mode in the element interface.
    4. Select Display existing element data (content reuse) on the Rendering Mode tab.
      1. Select the Filter tab.
      2. Select Filter Type to Show subset of records.
      3. Select the Field drop-down as the Categories.Active field.
      4. Select the operator as Equals.
      5. For the third value drop-down select 1.
      6. For the Sort Order drop-down select the Category Name field and choose Ascending
      7. Click OK on the render mode window.
    5. Now click More in the element interface. Then the Custom Render Handlers menu option, and select the Render Handler:
      • Calendar Category CheckBox List
    6. Click OK on the custom render handlers window.
  5. Publish the changes to the template page.

Management Pages

Create these 7 Admin pages:

  1. CCAPI Configuration
  2. Manage App Configuration Page
  3. Manage Calendar Organizations Datasheet
  4. Manage Event Categories Datasheet
  5. Manage Events Datasheet
  6. Manage Events Grid
  7. Manage Page Mappings Datasheet - Optional

CCAPI Configuration

The Calendar Application uses the ADF CCAPI to populate and modify the calendar app element records. The CCAPI needs to be configured to handle this calendar functionality.

The steps below use the standard CCAPI Config setup. If this is your first App installation 
it may be good to go ahead and follow these steps for the CCAPI setup. 
Advanced developers with CCAPI experience may want to consider using the new CCAPI Conduit Page Pool 
configuration for populating the Global Custom Elements used in this application.

First, follow the steps to set up the 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.

  1. Create a new page called 'ccapiCalendar'. Recommend creating this page in the /webadmin/calendar/ subsite.
  2. Add each of the following Calendar elements to the page:
    1. Calendar Event Details
    2. Calendar Event DateTime
    3. Calendar Event Recurrence
    4. Calendar Event Categories
    5. Calendar Organizations
  1. For each element that was added, click on the element indicator and go to 'more...'. Select 'Name' from the menu.
  2. In the Element Name field, enter the appropriate name for each element:
    1. ccapiCalendarEventDetailsElement
    2. ccapiCalendarEventDateTimeElement
    3. ccapiCalendarEventRecurrenceElement
    4. ccapiCalendarEventCategoriesElement
    5. ccapiCalendarOrganizationsElement
  1. Publish this page and view in read mode.
  2. Edit the 'ccapi.cfm' file for the site and add the following xml blocks into the <elements> section:
    1. an example 'ccapi.cfm' file is in the pt_calendar > site-files > _cs_apps > config folder
<CalendarEventDetails>
  <pageID>####</pageID>
  <subsiteID>##</subsiteID>
  <elementType>custom</elementType>
  <controlName>ccapiCalendarEventDetailsElement</controlName>
</CalendarEventDetails>
<CalendarEventDateTime>
  <pageID>####</pageID>
  <subsiteID>##</subsiteID>
  <elementType>custom</elementType>
  <controlName>ccapiCalendarEventDateTimeElement</controlName>
</CalendarEventDateTime>
<CalendarEventRecurrence>
  <pageID>####</pageID>
  <subsiteID>##</subsiteID>
  <elementType>custom</elementType>
  <controlName>ccapiCalendarEventRecurrenceElement</controlName>
</CalendarEventRecurrence>
<CalendarEventCategories>
  <pageID>####</pageID>
  <subsiteID>##</subsiteID>
  <elementType>custom</elementType>
  <controlName>ccapiCalendarEventCategoriesElement</controlName>
</CalendarEventCategories>
<CalendarOrganizations>
  <pageID>####</pageID>
  <subsiteID>#</subsiteID>
  <elementType>custom</elementType>
  <controlName>ccapiCalendarOrganizationsElement</controlName>
</CalendarOrganizations>

To populate the <pageID> and <subsiteID> tags, view the 'source' code for the 'ccapiCalendar' page that was just created.

Identify the following line in the source code and enter this numeric value into the <subsiteID> tag:

     var jsSubSiteID = ##;

Identify the following line in the source code and enter this numeric value into the <pageID> tag:

     var jsPageID = ####;

Reset the ADF

Manage App Configuration Page

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.

  1. Create a new page called Manage Configuration in the /webadmin/calendar/ subsite.
  2. In the main content of the page, add a Custom Script element.
  3. Enter the explicit module path for:
    • /ADF/apps/pt_calendar/customcf/manage_configuration_header.cfm
  4. Publish the page.

Create a Calendar Configuration Record We are creating a single Calendar Configuration element record to be used within the application.

  1. Click the Add Configuration button
  2. You can update the following fields:
    1. General Tab
      1. New Event URL - clear this default entry (Only used if you have a public or non-admin event request form.)
      2. Event Notification From Address - add a valid FROM address
    2. View Page
      1. Calendar View Page Mode - set this option to 'Single'
      2. Calendar Views - make sure all 5 options are checked
      3. Default Calendar View - select MonthGrid (you can change this later)
    3. Rendering and Display Tab
      1. App UI Theme - select a UI theme
    4. Performance and Debugging Tab
      1. Enable Event Cache - Uncheck the event cache option. (This option will be re-enabled later in the install process.)
  3. Submit the form to create a configuration record.

Doing this will save the default field values in the configuration record of the custom element.

See the App Configuration portion of this page for more information on the fields and the correct values.

Reset the ADF

Manage Calendar Organizations Datasheet

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.

  1. Create a new page called Manage Calendar Organizations from the Base Plus One (or a Web Admin template) and in the /webadmin/calendar/ subsite.
  2. In the main content of the page, add a Custom Script element.
  3. From the Custom Script element interface, click the "Edit" icon.
  4. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/manage_calendar_organizations_header.cfm
  5. From the Datasheet element interface, click the "Datasheet" icon.
  6. From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
  7. Enter the following information and then click "Next":
    1. Name: All Event Organizations View
    2. Private: unchecked
    3. Default View: checked
    4. Description: View to manage All Event Organizations
    5. Datasheet Source: Form Result/Custom Element Sheet
  8. From the Datasheet Source dialog choose the "Calendar Organizations" custom element and click "Next".
  9. 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".
  10. You will be brought to the Datasheet View page; click "Close" to return to your page.
  11. You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
  12. Within the Datasheet View Column Properties dialog choose the UNIQUEID column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/extensions/datasheet-modules/1.0/edit-delete.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Edit/Delete'
    4. Click Finish or Save
  13. Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm
    2. Click Finish or Save
    3. In the Header field, switch the text to 'Active'
    4. Click Finish
  14. Close the Edit Column window.
  15. Go back to the Datasheet element interface, select the Layout button
    1. Default Sorting = ORGANIZATIONNAME Ascending
    2. Uncheck "Show Alphabet Characters for Filtering"
    3. Uncheck "Allow JavaScript data sorting"
    4. Click Save
  16. Publish this page.

Manage Event Categories Datasheet

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.

  1. Create a new page called Manage Event Categories from the Base Plus One (or a Web Admin template) and in the /webadmin/calendar/ subsite.
  2. In the main content of the page, add a Custom Script element.
  3. From the Custom Script element interface, click the "Edit" icon.
  4. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/manage_event_categories_header.cfm
  5. From the Datasheet element interface, click the "Datasheet" icon.
  6. From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
  7. Enter the following information and then click "Next":
    1. Name: All Event Categories View
    2. Private: unchecked
    3. Default View: checked
    4. Description: View to manage All Event Categories
    5. Datasheet Source: Form Result/Custom Element Sheet
  8. From the Datasheet Source dialog choose the "Calendar Event Categories" custom element and click "Next".
  9. 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".
  10. You will be brought to the Datasheet View page; click "Close" to return to your page.
  11. You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
  12. Within the Datasheet View Column Properties dialog choose the CatID column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/extensions/datasheet-modules/1.0/edit-delete.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Edit/Delete'
    4. Click Finish or Save
  13. Now within the Datasheet View Column Properties dialog choose the Name column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-cat-names-with-icon.cfm
    2. Click Finish or Save.
  14. Now within the Datasheet View Column Properties dialog choose the CategoryIcon column and click "edit":
    1. Check the checkbox of the field called "Hidden".
    2. Click Finish or Save.
  15. Now within the Datasheet View Column Properties dialog choose the OrgIDList column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Organizations'
    4. Click Finish or Save
  16. Now within the Datasheet View Column Properties dialog choose the ACTIVE column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/extensions/datasheet-modules/1.0/value-to-yes-no.cfm
    2. Click Finish or Save
  17. Now within the Datasheet View Column Properties dialog choose the NotificationUserIDs column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/manage-convert-id-list-cs-usernames.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Notify Users'
    4. Click Finish or Save
    5. Click Finish or Save
  18. Close the Edit Column window.
  19. Go back to the Datasheet element interface, select the Layout button
    1. Default Sorting = Category Name Ascending
    2. Uncheck "Show Alphabet Characters for Filtering"
    3. Uncheck "Allow JavaScript data sorting"
    4. Click Save
  20. Publish this page.

Manage Events Datasheet

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.

  1. Create a new page called 'Manage Calendar Events' from the Base Plus One (or a Web Admin template) and in the /webadmin/calendar/ subsite.
  2. In the main content container of the page, add a Custom Script element.
  3. From the Custom Script element interface, click the "Edit" icon.
  4. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm
  5. Add another Custom Script element to main content container of the page.
  6. From the Custom Script element interface, click the "Edit" icon.
  7. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/manage_calendar_event_details_header.cfm
  8. From the Datasheet element interface, click the "Datasheet" icon.
  9. From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
  10. Enter the following information and then click "Next":
    1. Name: All Event Details View
    2. Private: unchecked
    3. Default View: checked
    4. Description: View to manage events
    5. Datasheet Source: Form Result/Custom Element Sheet
  11. From the Datasheet Source dialog choose the "Calendar Event Details" custom element and click "Next".
  12. 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".
  13. You will be brought to the Datasheet View page; click "Close" to return to your page.
  14. You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Filter".
    1. Select the "Subset of records" filter type.
    2. Apply the following filter:
      1. Field = Calendar_Event_Details.uniqueID
      2. Operator = Value Contained In List
      3. Value = request.ptCalendar.eventManager.eventIDlist (note: use the UDE button)
    3. Click Finish or Save
  15. You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
  16. Within the Datasheet View Column Properties dialog choose the UniqueID column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/event-edit-delete-copy.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Edit/Delete/Copy'
    4. Click Finish or Save
  17. Now within the Datasheet View Column Properties dialog choose the EventDateTimeIDList column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-date-time-blocks.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Event Dates/Times'
    4. Click Finish or Save
  18. Now within the Datasheet View Column Properties dialog choose the EventRecurrenceID column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-recurrence-properties.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Recurrence Properties'
    4. Click Finish or Save
  19. Now within the Datasheet View Column Properties dialog choose the Category column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-cat-names-with-icons.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Categories'
    4. Click Finish or Save
  20. Now within the Datasheet View Column Properties dialog choose the Organization column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Organizations'
    4. Click Finish or Save
  21. Now within the Datasheet View Column Properties dialog choose the EventApproved column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-approval-status.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Approval Status'
    4. Click Finish or Save
  22. Now within the Datasheet View Column Properties dialog choose the AppovalUserID column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/extensions/datasheet-modules/1.0/userID-to-name.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Approver'
    4. Click Finish or Save
    5. Click Finish or Save
  23. Close the Edit Column window.
  24. Go back to the Datasheet element interface, select the Layout button
    1. Default Sorting = EVENTS DATES AND TIMES Ascending
    2. Uncheck "Show Alphabet Characters for Filtering"
    3. Uncheck "Allow JavaScript data sorting"
    4. Click Save
  25. Publish this page.

Manage Events Grid

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.

  1. 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.
  2. In the main content container of the page, add a Custom Script element.
  3. From the Custom Script element interface, click the "Edit" icon.
  4. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/manage_events_filtering_tools.cfm
  5. On the Parameters tab of the custom script element add following parameter:
    • editType=Grid        <---This is a very important
  6. Click Save
  7. Add another Custom Script element to main content container of the page.
  8. From the Custom Script element interface, click the "Edit" icon.
  9. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/manage_calendar_events_month_grid.cfm
  10. Click Save
  11. Publish this page.

Manage Page Mappings Datasheet - Optional

Only used with the Multiple View Page Mode

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.

  1. 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.
  2. In the main content of the page, add a Custom Script element.
  3. From the Custom Script element interface, click the "Edit" icon.
  4. Enter the following text into the Explicit Module path:
    • /ADF/apps/pt_calendar/customcf/manage_page_mappings_header.cfm
  5. From the Datasheet element interface, click the "Datasheet" icon.
  6. From the "Datasheet Views" dialog, follow the "Click here to create a new datasheet view" link.
  7. Enter the following information and then click "Next":
    1. Name: All Page Mappings View
    2. Private: unchecked
    3. Default View: checked
    4. Description: View to manage All Page Mappings View
    5. Datasheet Source: Form Result/Custom Element Sheet
  8. From the Datasheet Source dialog choose the "Calendar Page Mapping" custom element and click "Next".
  9. 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".
  10. You will be brought to the Datasheet View page; click "Close" to return to your page.
  11. You will see the datasheet element on this page now. Click the Datasheet element interface icon again and this time choose "Edit Columns".
  12. Within the Datasheet View Column Properties dialog choose the MapID column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/extensions/datasheet-modules/1.0/edit-delete.cfm
    2. Click Finish or Save.
    3. In the Header field, switch the text to 'Edit/Delete'
    4. Click Finish or Save
  13. Now within the Datasheet View Column Properties dialog choose the Subsite column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/manage-convert-subsiteid-subsiteurl.cfm
    2. Click Finish or Save
  14. Now within the Datasheet View Column Properties dialog choose the OrgID column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/apps/pt_calendar/datasheet-modules/convert-id-list-to-org-names.cfm
    2. Click Finish or Save
    3. In the Header field, switch the text to 'Organizations'
    4. Click Finish or Save
  15. Now within the Datasheet View Column Properties dialog choose the MonthlyGridPage column and click "edit":
    1. In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
      • /ADF/extensions/datasheet-modules/1.0/pageID-to-link.cfm
    2. Click Finish or Save
  16. With the remaining columns MonthlyGridPage, MonthlyListPage, WeeklyGridPage, WeeklyListPage, Daily Page and DetailsPage repeat the steps from MonthlyGridPage
  17. Close the Edit Column window.
  18. Go back to the Datasheet element interface, select the Layout button
    1. Default Sorting = SUBSITE Ascending
    2. Uncheck "Show Alphabet Characters for Filtering"
    3. Uncheck "Allow JavaScript data sorting"
    4. Click Save
  19. Publish this page.

Calendar View Pages

  1. 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.
    • 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.
    • 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) section.
  2. Submit the Page.

Getting Started Guide

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.

Calendar App Configuration

Make sure your App Configuration has been saved and the ADF reset.

  1. If you haven't already done so, go to your Calendar App Manage Configuration page and click the button to Add Configuration data.
  2. Update the fields listed on the App Configuration with your customized information
  3. Reset the ADF

Calendar Organizations Configuration

Organizations are used to build filtered sub-calendars on your site.

Add a Organization via the Manage Calendar Organization datasheet:

  1. Go to your Web Admin Manage Calendar Organizations page
  2. 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.)
  3. Check the 'Active' checkbox to enable the organization.
  4. Optional - Select a Website URL for this Organization.
  5. Optional - Set the Ordinal for this Organization. (This field is only used if you Organizations will NOT be sorted by the Organization Name.)
  6. Click Submit

Event Categories Configuration

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. Add the Event Categories via the Manage Event Categories datasheet:

  1. Go to your Web Admin Manage Event Categories page
  2. Give the new record an Category Name.
  3. Check the 'Active' checkbox to enable the category.
  4. Optional - Select a Category Icon for this category. Category Icons are small (20x20) icons that represent a category.
  5. Optional - Set the Ordinal for this Category. (This field is only used if you Caegories will NOT be sorted by the Category Name.)
  6. Click Submit

Calendar Page Mapping Configuration - Optional

Only used with the Multiple View Page Mode

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

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.

To configure Calendar Page Mappings for the All Events Pages complete the following steps.

  1. Go to the web admin page you created for "Calendar Page Mappings Manager"
  2. Click "Add New Page Mapping"
  3. From the "Choose Main Subsite" drop down select the subsite where the calendar view pages will reside.
  4. 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.
  5. Click Submit