SharePoint 2010 Calendar View: Hide End time, Remove ToolTip

Add a CEWP and add the below script as HTML Source.

// Created a new column on xRM Task list that concatenates the
// Due Date and Due Time into a single Date/Time field.
// Use the new Date/Time field in the Calendar view configuration as start/end date
// Use jQuery to:
// – change the monthly calendar time range displays (e.g., 3:30 pm – 3:30 pm)
// such that only a single time displays. There is no begin and end date/time
// field in the xRM Task list. Steve will use the Due Date and Due Time to track his activities.
// – Make the same change to tooltips.
// – link to edit form instead of display form. Return automatically to calendar
// the “populateCalendarEventLinkIntercept” technique came from Mike Smith:
// this technique handled all calendar view changes (day-week-month; previous/next)
// except the “n more Items” and “collapse” links when more than 3 items are on a month day.
// the setTimeout technique was suggested by Marc Anderson.
// it handles the more/collapse scenario
// load our function to the delayed load list
// but do not do this if page is in “Edit” mode


// hook into the existing SharePoint calendar load function
function populateCalendarEventLinkIntercept()

if (SP.UI.ApplicationPages.CalendarNotify.$4a) // 20111006 pre-SP1 – Office 365
var OldCalendarNotify = SP.UI.ApplicationPages.CalendarNotify.$4a;
SP.UI.ApplicationPages.CalendarNotify.$4a = function ()
if (SP.UI.ApplicationPages.CalendarNotify.$4b) // SP2010 SP1
var OldCalendarNotify = SP.UI.ApplicationPages.CalendarNotify.$4b;
SP.UI.ApplicationPages.CalendarNotify.$4b = function ()
// future service pack change may go here!
// if (SP.UI.ApplicationPages.CalendarNotify.???)

// }

function doModifyCal() {
// get text “Previous Month” or “…Week” or “…Day”
var dateUnit = $(“#AsynchronousViewDefault_CalendarView a[title^='Previous']“).filter(“:first”).attr(“title”);
// remove “Previous ” from text, leaving only “Month”, “Week” or “Day”
dateUnit=dateUnit.substring(dateUnit.indexOf(” “)+1);
// if there is a more/collapse control (which happens when there are more than three items on month date)
// set its click event to execute this doModifyCal function.
// include a pause to allow for latent data population from separate asynchronous thread
if ($(“”).eq(0).length) {
$(“”).eq(0).click(function() {
window.setTimeout(doModifyCal, 0);
// if there is at least one non-reformatted time display, clean it up
// A dash in the title signifies that this has not yet been reformatted
// well – not really. I’ll refine this later. The dash would have to be
// within the first 7 characters: hh:mm – hh:mm
var str=””;
var y=$(‘ div[title~="-"]‘).filter(“:first”);
if(y.length) {
var urlString = urlencode(location.href);
var CalData = $(‘’).eq(1);
$(‘div[title]‘, CalData).each(function() {
str=str.slice(“-”)+2); // remove begin time from all link tool tips
if(dateUnit==”Month”) {
//check for and remove begin time from single-item-per-day times
$(“”).each(function() {

// additionally, replace the onclick action of each task item’s link such that a modal Edit form
// will pop up instead of modal Display form. This involves creating a new function that
// calls SP.UI.ModalDialog methods made available to SP2010 through the EcmaScript Client Object Model
// ref –
// do not include “more/collapse” link
// For clarification purposes we are going to:
// change this:
// task title
// to this:
// task title
var Links = $(“a:not(.ms-cal-nav)”, CalData);
Links.each(function() {
$(this).attr(“href”,”javascript:void();”).attr(“onclick”,”modalEdit(‘” + str + “‘);return(false);”);

function callBackRefresh(dialogResult, returnValue) {
var calDetail2 = $(“#AsynchronousViewDefault_CalendarView > > table”)

// We are here because someone clicked on a task item link in one of the
// calendar views.
function modalEdit(page) {
var options = {
url: page,
title: ‘Edit Task’,
allowMaximize: false,
showClose: true,
dialogReturnValueCallback: callBackRefresh,
autoSize: true
function urlencode(link) {
link = encodeURI(link);
link = link.replace(‘+’, ‘%2B’);
link = link.replace(‘%20′, ‘+’);
link = link.replace(‘*’, ‘%2A’);
link = link.replace(‘/’, ‘%2F’);
link = link.replace(‘@’, ‘%40′);
return link;


InfoPath 5337 error

Error: 04/01/2013 08:43:41.45  w3wp.exe (0x0C78)        0x229C  InfoPath Forms Services               Runtime – Business Logic              7tge                Medium               Exception thrown from business logic event listener: System.NullReferenceException: Object reference not set to an instance of an object.     at Microsoft.Office.InfoPath.Server.SolutionLifetime.XmlEventExternal.<>c__DisplayClass10.<add_Changed>b__c(Object sender, XmlEventArgs e)     at Microsoft.Office.InfoPath.Server.SolutionLifetime.XmlEventExternal.<>c__DisplayClass20.<FireChangedEvent>b__1c()     at Microsoft.Office.InfoPath.Server.DocumentLifetime.OMExceptionManager.CallFormCodeWithExceptionHandling(UserMessages userMessages, OMCall d)            0ba576c2-222a-4d18-bc06-7fab0ce977a1


1)      Check for unwanted change events

2)      Check for unwanted data connections

3)      Check for unwanted fields on the form


I was able to fix the issue by deleting the changed event under FormCode.cs (an extra event that got created when I accidentally double-clicked on a field on the form).

SharePoint 2010 – Code Build Issue: Could not load assmebly

If you are in the process of upgrading code from MOSS 2007 to SharePoint 2010 and you are trying to build the old projects, you might receive errors stating that the assemblies: Microsoft.SharePoint.AdministrationOperation and others cannot be loaded. This is due to the fact that the entries in web.config or any other files in the solution are referring to the old references: In order to fix the issue, you can replace all the 12.0 references in the solution to 14.0 and that should take care of it.