Out of the box, each calendar has its own directory in the following location:
This location can be (should be) changed on the web admin console
There are two major sets of files for each calendar.
Defines the overall structure of the calendar
One per Calendar
sets name and url, overall theme, and click handlers
Four major settings
General Event information - name, theme, source (including qualification)
Core Mappings - fields displayed and date/time values used
Detail Mappings - fields displayed when event is clicked
Filter Mappings - fields to filter data by (including colors!)
The formats of these files are set by the adaptors. They read the files, they set the format.
Example of calendar.json
Here is a link to the extended docs on Community - calendar
Points to remember:
id is unique
displayPage sets the overall theme (changeable in the events)
If you include eventTypeOrder, you must list all events
Example of Event json
There are two basic methods for troubleshooting, Logs and Debugging.
Log files are available either from the admin Console, or directly from the web server.
The easiest way to get the logs are from the Admin Console. There are links to either a single log, or a zip of all the logs.
Along with the All logs you get an environment description like the following:
Application Directory: /home/kinetic/tomcat/webapps/kineticCalendar/
Available Processors: 1
Host OS: Linux 2.6.9-42.0.8.plus.c4 (i386)
Java Library Path: /home/kinetic/tomcat/shared/lib
Java Location: /usr/java/jdk1.5.0_09/jre
Java Version: Java(TM) 2 Runtime Environment, Standard Edition (1.5.0_09-b03)
JVM Min Heap: 253 MB
JVM Max Heap: 506 MB
Web Server: Apache Tomcat/5.5.20
This file was generated at Mon Feb 18 15:57:25 CST 2013.
When you are looking at java script files, the application minimizes things to make loading faster. However, this makes debugging the files nearly impossible. If you need to see all the js files add the following to the end of the URL - debugjs=true
As you see when you load the Web Admin Console, it contains some minor troubleshooting information on the Configuration tab. The Errors section will try to provide information about errors in either the calendars or events json files.
Example of eventTypeOrder error:
If you have made it through activity 2 without any errors, create some obvious errors and see how they are reported in the Web Admin Console
Open and look at the logs as both working and non-working calendars load.
This version of Calendar is made to take advantage of themes in a way similar to themes in Kinetic Request and Kinetic Survey. The application comes with a default theme - what I like to call the green theme - but it is configurable in many ways through CSS.
Here is an example of the base directory for the default theme:
Here is an example of the calendar jsp. You can see the links to both style sheets and jsp fragments:
The calendars.jsp renders the list of available calendars.
Default Theme CSS
The CSS for the default theme is in the following directory:
/kineticCalendar/themes/default/resources/css and is just called theme.css
The developers have done a great job of commenting the file. Here is an example:
Creating Your Own Theme
The best way to create your own theme is to copy the existing default theme, and then update the theme parameters in the calendar and event json. From above, the calendar theme holds the main display properties of the calendars, and each event can theme its jsp.
Calendar includes the option to display different languages per calendar. The default is US English, but you can include different options as needed. The calendar.jsp file can override the default language called from the applicationHeadContent.jspf file (<%@ include file="../../resources/lang/en/en_US.jsp" %>)
Here is a sample of the language file:
If you make changes, you will likely need to delete the "work" directory to refresh the jsp.
Copy and Create your own theme
Look through the calendas.jsp and calendar.jsp files to see the pattern of includes
Update colors or other settings through the default.css or in the jsps
Update part of the language used, either add a new language or update the english language settings
Click handlers are defined as having an action take place based upon a "click" on some portion of the calendar. We are going to talk about two examples. The first is a click handler that launches a URL based. The second is a click on an event that opens the underlying record.
URL Based Click Handler
This example will show you how to open a specific Remedy form when clicking on an open area in a Week or Day view of a calendar.
Here is the link to the specific article on Community.
We can use this to open a form in Remedy to either enter the data directly, or perhaps bring the data from the calendar and fill in the fields on the form.
Event Based Handler
This example will add a link to an event that displays the underlying record. It also introduces the concept of configuration values.
The example is set out very well on community here
At the very least, you can add a URL to the event jsp. Using the example above, you can set some config values that can be passed to the URL. Making the correct ticket show in mid-tier may require some workflow or customizing the URL further.
Add a click handler to your calendar. Either one is fine.