Saturday, July 31, 2010

Categories

Minimize

Archive

Minimize

Tag Cloud

Minimize

Altriva Team Blog

Minimize

Adding a Custom Calendar to the CRM UI

Posted by: Tim Dutcher on 7/29/2009
  • Categories:
  • CRM

Adding a custom event calendar to Dynamics CRM 4.0 can help team members stay in synch on events, milestones, and deadlines and can help provide visibility into major events. Although CRM 4.0 provides a calendar view in the product, a custom calendar is often needed to show events that are not time-based and are not linked to appointments or service activities.

This blog post provides examples of how various industries can utilize a custom calendar and provides technical details for how a custom calendar can be implemented.

One example of the potential use of a custom calendar is in the real estate industry. If the major milestones of a real estate transaction (appraisal, inspection, closing, possession, etc.) are stored as dates on the Opportunity record, then those dates can be shown on a calendar along with the client’s name and milestone description. This can help keep office team members, clients, and third-parties informed of major milestones for a real estate office’s transactions.

Another industry or team that can benefit from a custom calendar within Dynamics CRM is one that manages deadlines for tradeshow participation. Having been involved with several tradeshows in my own career I know that it takes a tremendous amount of coordination effort to make sure everything comes together.

Demonstration

In the following example, I created a custom entity named “Tradeshow” to track the various shows that a company could participate in and the related deadlines.

Tradeshow custom entity

Although it’s possible to list the tradeshows and deadlines in a view or in a custom report, using a calendar view is often beneficial to show overlaps in deadlines and to better visualize upcoming events.
 
A calendar view showing “MS Gold Partner Expo” and another trade show might appear like this:
 
 
Each entry in this calendar is a hyperlink that will display the Tradeshow record when clicked. Also, the calendar could be extended to show a checkmark image when the milestone or deadline is completed.
 
Choices for Implementing a Custom Calendar
There are several approaches you can take to populate and display a calendar within Dynamics CRM.
 
Build It
Depending on your company’s technical expertise, you might choose to build the calendar from scratch as an ASP.NET application, as a SQL Reporting Services report, or entirely in JavaScript. For instance, you might decide that the look and behavior of the Microsoft Webcast Calendar is exactly what you need so you fire up Visual Studio and start in on the application.
 
Start with Open Source
Rather than start from scratch, though, it’s often best to visit Open Source sites such as CodePlex, SourceForge, or The Code Project to obtain the source code for calendars that might provide most of the functionality that you need.  Here are some Open Source options:
License a Component
Another approach is to purchase a license to a programmable pre-built component. There are numerous components available including:
Mashup
Rather than deploy a component to your web server it’s also possible to incorporate a web-based calendar within Dynamics CRM. You can simply add a link in your CRM instance’s SiteMap or ISV.Config settings to point to an online calendar. Many online calendars exist including the following:
Implementing an Events Calendar with ScriptCalendar
I built the Tradeshow calendar (see above) using the JavaScript-based ScriptCalendar component ($69 server license). The component’s author provides a demonstration copy of the software with the limitation of only showing the first half of the month’s events.
 
Here are the steps I took to implement the ScriptCalendar component for the Tradeshow example (on a Dynamics CRM 4.0 demo VPC):
 
1.       Download the ScriptCalendar application and extract the files to C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV\Altriva\TradeShowCalendar\.
2.       Load Visual Studio 2005 and start a new Web Site application. This application queries Dynamics CRM to retrieve event details and writes the event information to an XML file that ScriptCalendar utilizes to display events. (Note: On the ScriptCalendar website you will find a sample ASP.NET C# application the demonstrates how to programmatically create an XML file that ScriptCalendar can utilize to populate the calendar.)
3.       Update the Dynamics CRM SiteMap to provide a link to the custom calendar. The URL should point to the default.aspx file you created in Visual Studio. Once the custom ASP.NET applications queries CRM and prepares the XML file for ScriptCalendar, your code should Response.Redirect to the calendar’s main HTML file (scrptcal.htm).
 
With ScriptCalendar, then, the implementation of a custom calendar is relatively simple. The only custom development needed is the code to query CRM and build the events XML file. However, you may be able to avoid custom code altogether if you schedule a SQL process (e.g., SQL Server Integration Services) to query CRM periodically and refresh the ScriptCalendar XML file. That approach might suffice if up-to-the-minute event information is not a requirement.
 
Other Uses for a Custom Calendar
Other examples of industries or teams that can use Dynamics CRM combined with a custom calendar to better manage events, milestones, and deadlines include the following:
  • Project managers
  • Information technology firms
  • Sales teams
  • Legal firms
  • General contractors
  • Recruitment firms
  • Financial advisors
Essentially, any company or group that coordinates or tracks milestones, events, or deadlines can make use of a standard or custom entity in Dynamics CRM to store important dates and a custom calendar to better visualize the information.
Create a trackback from your own site.

1 Comment

    • Jun 28 2010, 8:25 PM Jeff Murtari
    • great article thanks Would the CRM security model be adhered to by the calendar? I have 30 business units in CRM and want a shared calendar at the BU level but for users to only see the records from thier BU and not the whole system. Would be nice not to have to build multiple calendars?

Leave A Comment



Please enter the CAPTCHA phrase above.



  
  

Recent Comments

Minimize

"Hi Lee -- I would just create one-off workflows for each user in your system in that case. Or, create a number of sync users for yourself, and then bulk edit those sync users to another record." Read more
by Phil Edry on Allow Multiple Users to Sync the Same Contact to Outlook Effortlessly with Microsoft CRM

"Norbert and Jeff -- CRM Online couldn't support this exact setup due to current limitations with plug-ins. However, a different integration could be developed that would work with Online and BPOS. If you'd like additional information, please feel free to email info@altriva.com." Read more
by Phil Edry on CRM to SharePoint Site Creation and Clients List Integration

"great article thanks Would the CRM security model be adhered to by the calendar? I have 30 business units in CRM and want a shared calendar at the BU level but for users to only see the records from thier BU and not the whole system. Would be nice not to have to build multiple calendars?" Read more
by Jeff Murtari on Adding a Custom Calendar to the CRM UI

"I also have the same question as Norbert. I'm very interested in this if you're able to do this with CRM Online. " Read more
by Jeff Snyder on CRM to SharePoint Site Creation and Clients List Integration

"Would i be able to do this with the online versions of CRM and BPOS? " Read more
by Norbert on CRM to SharePoint Site Creation and Clients List Integration

"Thanks guys this has solved a major hurdle for us. I may be missing something obvious here but is it possible to modify the workflow, so that "Sync User" can be selected as we have a situtation where the PA would like to set the 'Sync User' for multiple contacts as their manager." Read more
by Lee Southam on Allow Multiple Users to Sync the Same Contact to Outlook Effortlessly with Microsoft CRM

"Good example... event more flexible then CRM Customization Manager" Read more
by Peter Olsson on Export CRM customizations using PowerShell

"Thanks! I encountered this same error, so this was helpful. It would be nice to know what attributes are causing the problem. I heard that some rollups actually changed the size of some attributes. I'm not sure how that would be related to CRM Online or if it could be impacted by the date the organization started using CRM." Read more
by Gretchen Mann on Importing Customizations from one CRM Online Instance to Another CRM Online Instance

  
Copyright 2010 by Altriva LLC