PT Calendar Version 4.8 Install
Back to PT Calendar
IMPORTANT: v4.8 of this application requires ADF 2.7 or greater and CommonSpot 10.8.3 or 10.9.1 or 11.0 or greater.
Contents
- 1 Download
- 2 Site Configuration
- 3 Styles
- 4 Import Custom Elements
- 5 Verify Imports
- 6 App Configuration
- 7 Subsites
- 8 Templates
- 9 Management Pages
- 10 Calendar View Pages
- 11 Getting Started Guide
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 2.7 or greater must be installed in the site to run the Calendar 4.8 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 Elements
- ptCalendar Configuration (ptCalendar-Configuration-Custom-Element.zip)
- Calendar Page Mapping (Calendar-Page-Mapping-Custom-Element.zip)
- Calendar Organizations (Calendar-Organizations-Custom-Element.zip)
- Calendar Event Recurrence (Calendar-Event-Recurrence-Custom-Element.zip)
- Calendar Event Details (Calendar-Event-Details-Custom-Element.zip)
- Calendar Event DateTime (Calendar-Event-DateTime-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 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 Date Range Single (/widgets/Calendar-Widget-Properties-Date-Range-Single-Custom-Element.zip)
- Calendar Widget Properties Events RSS Feed Single (/widgets/Calendar-Widget-Properties-Events-RSS-Feed-Single-Custom-Element.zip)
Custom Metadata Form Elements
- PT Calendar Event Details Viewer Metadata Form (/PT-Calendar-Event-Details-Viewer-Metadata-Form.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.
NOTE: Each custom field type that needs to be updated as described above has already been configured for use in the Calendar app, please review the configuration in the "Other Properties" tab and re-set those settings when switching to the proper field type.
- Reset the ADF for the server and site.
App Configuration
The Calendar App uses a custom element, "ptCalendar Configuration", to store site specific configurations.
Here is a list of most of the available configuration fields:
General Tab
- 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 - a checkbox (Default: unchecked)
- Event Notification From Address - The 'From' email address of the notification email sent to event category users (Default: events@ptcalendar.com)
- Event Notification Email Subject - The subject of the notification email sent to event category users (Default: Event Submission Notification)
- Event Notification Email Message - The standard message for the notification email sent to event category users (Default: A calendar event was submitted and the following Event Categories were selected: [EventCats])
- Send Event Approved Email to Contact - a checkbox (Default: unchecked)
- Event Approved Label - (Default: Approved)
- Event Approved Email Message - (Default: This event has been approved.)
- Send Event Denied Email to Contact - a checkbox (Default: unchecked)
- Event Denied Label - (Default: Denied)
- Event Denied Email Message - (Default: This event has been Denied.)
View Page
- calendarViewPageMode - radio buttons (Default: Single)
- calenderViews - multiple checkboxes (Default: empty)
- defaultCalendarView - selection list (Default: empty)
- calendarViewParamName - text field (Default: calview)
Rendering and Display Tab
- App UI Theme - Deprecated field. (Please use CommonSpot 10.x resource loader and the "jQueryUIDefaultTheme" to load the specific UI theme for your app.)
- Use Event Details Tooltip - The Calendar app utilizes 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 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)
- ColdFusion Date Mask - ColdFusion Date Mask used for the display of dates. DateFormat on cfdocs.com (Default: M/D/YYYY)
- ColdFusion Time Mask - ColdFusion Time Mask used for the display of times. TimeFormat on cfdocs.com (Default: h:mm tt)
- ColdFusion Long Date Mask - ColdFusion Date Mask used for the display of long or full dates. DateFormat on cfdocs.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)
Performance and Debugging Tab
- Calendar Cache Type - selection list:(memory, file, database) (Default: no default selected)
- Enable Event Cache - checkbox (Default: unchecked)
- Enable Event Cache for Events Management - checkbox (Default: No)
- Calendar Cache DSN - (Default: the name of the current site's content datasource')
- Max Number of Years for Future Events Cache - (Default: 0)
- Max Number of Years for Past Events Cache - (Default: 0)
- Enable Verbose Output - (Default: unchecked)
Note: The app configuration fields not listed here should NOT need to be modified from their default values.
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.
- If it does not exist, create a new subsite under the site root called webadmin.
- 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 permissions to the group of administrators who will manage the Calendar.
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 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.
- 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.
- Save the page as a template.
- 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.
- 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.
- Submit and activate the page.
- Save the page as a template.
- 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)
- 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
- 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.
- 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 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 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
- Manage App Configuration Page
- Manage Calendar Organizations Datasheet
- Manage Event Categories Datasheet
- Manage Events Datasheet
- Manage Events Grid
- Calendar Events Cache Dashboard
- 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.
- 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:
- 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
<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 = ####;
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.)
- General Tab
- 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.
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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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.
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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 Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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 <---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 Events Filtering Parameters (Optional)
The optional Filtering Tools custom script parameters can be used to create a Calendar Events management page that only displays Events from a specific Organization and/or Calegory and also limits what filtering options are available.
- "OrganizationName" - Add a valid Organization Name to only show events for a specific organization
- "OrganizationID" - Add a valid OrganizationID to only show events for a specific organization
- "CategoryName" - Add a valid Category Name to only show events for a specific category
- "CategoryID" - Add a valid CategoryID to only show events for a specific category
- "hideOrganizationFilter" (true/false - default:false) -
- "hideCategoryFilter" (true/false - default:false) -
- "showAdvancedFilter" (true/false - default:true) -
Custoim Script Parameters List Example (with Names only showing the Category filter): organizationID=Athletics categoryID=Soccer hideOrganizationFilter=false hideCategoryFilter=true showAdvancedFilters=true
Custoim Script Parameters Grid Example (with only a category ID and all the Advanced fitlers hidden): editType=Grid categoryID=DDD4997D-DEED-E699-7912617222570D25 showAdvancedFilters=false
Note: If an Organization paramter is used with a Category parameter, it must be a valid category for that specific organization
Calendar Events Cache Dashboard
To view or reset the Calendar Events Cache you will want to setup the 'Calendar Events Cache Dashboard' utility page.
- Create a new page called 'Calendar Events Cache Dashboard' from the Base Plus One (or a Web Admin template) and in the /webadmin/calendar/configuration 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_cache_dashboard.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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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
- In the Render Handler field, select the 'Change' button. Enter the following value into the Explicit Module text box:
- 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 in the Calendar Display Properties element as described in the 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 with your customized information
- 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:
- 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
GCE Viewer Page for PT Calendar Details Search Results - Optional
This feature allows the Calendar Event Details element records listed on a CommonSpot Search Results Element render handler to link to the correct event details displayed on a Calendar Event Details App view page. If the search results item links to a single event the GCE View Page will forward the Event Details view page, if multiple recurring events are matched then the GCE Viewer Page will list the matched events as a list of event date links.
Important: This set-up guide assumes that you have “Full-Text Search” configured and at least one search collection setup for your site.
If you haven’t already done so, install the PT Calendar Event Details Viewer custom metadata form via the Site Admin Element & Forms > Metadata forms dialog:
- Click on the Import Metadata Form at the bottom of the Metadata Forms dialog
- From the File Field click the “Choose File” button
- From your local hard drive select the PT-Calendar-Event-Details-Viewer-Metadata-Form.zip file from where you have the pt_calendar\exported-objects app directory saved
- Click Next
- Follow the remainder of the import wizard prompts to finish the Custom Metadata Form installation
- After the PT Calendar Event Details Viewer Metadata Form .zip archive is installed you will need to re-copy the “calendar_search_redirect_rh.cfm” file to your “/ADF/Apps/pt_calendar/renderhandlers/” folder on your server to make sure this file has the latest updates.
Setup a Calendar Details GCE Viewer Page:
- Create a new page in the “/calendar” subsite from the “Base Plus One” Template (or other Site specific subsite and/or soft template)
- Page Standard Metadata:
- Name: calendar-event-details-forwarder
- CommonSpot Title: Calendar Event Details Select
- Page Title: Calendar Event Details Select
- Description: A calendar event details select list or redirect page
- Uncheck “Page Index”
- Uncheck “Full Text and Search Element Results”
- Click Next
- Set applicable “custom properties” for this new page
- Click Save
- Page Standard Metadata:
- On the newly created page insert the “Calendar Event Details” Global Custom Element in the main content area container
- From the element indicator icon for the “Calendar Event Details” Global Custom Element click on the Render Properties option and select the option:
- One Record - Base on URL (Developer Use)
- Click Save
- Then from the element indicator icon for the “Calendar Event Details” Global Custom Element click on the Custom icon:
- Use the “Linked Calendar Page” field to select the main “All Events” calendar view page you set up for viewing calendar event details you created during the main calendar app install.
- Important: This is NOT the “Calendar Details GCE Viewer Page” you are currently editing
- Click Save
- Use the “Linked Calendar Page” field to select the main “All Events” calendar view page you set up for viewing calendar event details you created during the main calendar app install.
- Publish this page.
- From the element indicator icon for the “Calendar Event Details” Global Custom Element click on the Render Properties option and select the option:
Configure the Calendar Event Details GCE Viewer Page:
- From the CommonSpot Site Admin go to the Element & Forms > Elements left menu item
- After the “Manage Elements” dialog opens go to the “Calendar Event Details” global custom element.
- From the pencil icon select the “View Page & Search Properties” menu item.
- Set the following settings
- Element Viewing Page: {select the ‘Calendar Event Details Select’ page you just created}
- Title: Events Title
- Description: Description
- Enable full-text indexing: X - checked
- Full-Text Collection: {select the collection where calendar details data should be indexed.}
- Click Save
- Set the following settings
- From the pencil icon select the “View Page & Search Properties” menu item.
- After the “Calendar Event Details” global custom element is configured with the new GCE Viewer Page you will need to ‘Reindex” the ‘Full-Text Collection’ selected during its configuration.
Note: When the GCE Viewer Page is configured it can also be used for linking to calendar event details from other CS elements like a Calendar Event Details Datasheet row using the /ADF/extensions/datasheet-modules/1.0/pageID-to-link-for-global-ce-records.cfm Datasheet Module (found in ADF 2.7 or above).