Tuesday, May 25, 2010

From the trenches: Exchange to Gmail

Ran into this and thought I'd pass it along.

CEO Of Company With 500 Employees: Here's Why We're Ditching Microsoft Outlook For Gmail

This is a corporation with only 500 users.  The number of companies we've seen with enterprise size considering ditching Google is easy to summarize: Zero.  There was one pathetic case we know of a company adopting Google then getting bought and having to drop it just as quickly, but my schadenfreude account is overdrawn this week.

Where we see a lot of Google Mail and Calendaring is in education and mainly for schools without a lot of endowment.  Note to readers: yes, that word has two meanings.

Updated May 26 to add this link:

Microsoft has a blog posting: Why are Businesses Leaving Google Apps?

Pick your Kool-Aid.

Thursday, May 20, 2010

Add2Calendar Example from Facebook

It amazes me that Add2Calendar works when I least expect it.

In my Facebook updates I had the following:


I highlighted it and right clicked the IE8 Accelerator and this is what was immediately populated into Outlook:


Which I consider to be very cool.

Saturday, May 15, 2010

Macintosh and Exchange: maybe no longer the horror it has been

If you've ever worked with us you know we want to deal with the Macintosh about as much as we want to spend our vacation at Chernobyl where we consider the radioactive waste level lower.

However, anecdotal evidence from some of our calendar buddies (Hi, Vince!) has given us indication of light at the end of the tunnel. Herewith is what we learned:
This gets us as giddy with excitement as is possible given that we want to suffocate the whole Macintosh platform in the first place.

There's a few other places migrating Exchange Admins should check out if your Windows-phobic execs conform to Jobsian non-conformity.

Exchange 2010: OWA has a good summary of Outlook Web Access via Safari on a Mac.

Entourage Mac for Exchange Servers: Tips and Reports has the most comprehensive list of Entourage / Exchange issues I've seen (and while there are a LOT of them most are for previous versions).

Thursday, May 13, 2010

ResourceWatch Error: The Service cannot be activated due to an exception during compilation

A client called after their ResourceWatch installation started to fail with this error:

Exception: System.ServiceModel.ServiceActivationException: The service '/ResourceDataService.svc' cannot be activated due to an exception during compilation. The exception message is: Could not load file or assembly 'App_Web_aza-n8ud, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies......

How odd----it's been running without issue for months.

There were two possible reasons for the failure:
  1. The virtual directory was renamed, or
  2. .Net Framework 3.5 was not installed

"Virtual Directory Renamed" When Sumatra The “Publish Web Site” deployment model in Microsoft’s Visual Studio hinges on the name of the web application mapping directly to the virtual directory name. Renaming the virtual directory without changing the ".compiled" directive causes the application to crash. If you don't have to rename the directory, don't. If you do, and it crashes, read Tom Fuller's post where he solves his 'Issue deploying WCF service to IIS 6 in non-updateable mode.'

".Net Framework 3.5" The other reason this fails is because .Net Framework 3.5 is not installed. (This is easily checked, and if you didn't rename the virtual directory, this is likely the problem.)

In this case, the app was moved to a different box, the virtual directories remained the same, BUT, .Net framework was not installed.

Monday, May 10, 2010

Managing Automatic Meeting Responses in Outlook 2010

An Oracle Calendar System migration client called because his end users were complaining ..... "Now that we have migrated how can we disable those irritating meeting invitations and responses?"

Keep in mind -- this is not about the migration process. This is about what happens when Oracle Calendar users transition from OCS to Exchange,

I'm not sure anyone has an answer for complaining end users, but I did come across a blog posting from Microsoft's Outlook team that talks about how to deal with meeting responses in Outlook 2010. (you know, the "I accept", "I decline" messages.....). The post describes how to create a rule to deal with those responses:

  1. Keep meeting declines;
  2. Keep all responses if they have a comment;
  3. Otherwise, move tentative and accept messages into a sub folder (and out of the inbox!)

Read the blog post here!

The net result is that Exchange and Outlook will look more like what an OCS user community has been conditioned to expect over the years.

Friday, May 07, 2010

OWA bug fix - Change the start time of a recurring meeting with exceptions now works

When you change the start time of a recurring meeting series in Microsoft Exchange Server 2007 by using Outlook Web Access (OWA), any exceptions to individual meetings in the series are not removed. There's news to Sumatra's calendar customers. Their end users have dealt with this issue for several years.

Rejoice! Microsoft fixed it. For Exchange 2010. There is no joy in Exchange 2007 land - the fix is not for your servers. See KB 980051.

I'll update this post once I know the hotfix number or the rollup version.

Wednesday, May 05, 2010

"Add2Calendar" an IE8 - Web Accelerator

I receive one or two emails every day inviting me to attend some work, hobby, school, or sporting event. Many of these events, however, do not offer the "add this event to your Outlook calendar" functionality. If I want to add these events to my calendar, I have to do so manually - "cut and paste" the event details into a new Outlook appointment. Ok, it's not hard, it's tedious. It caused me to automate the process, via an Internet Explorer 8 "Web Accelerator".

I first learned about accelerators in an MSDN "Roadshow" put on by two Microsoft Developer Evangelists (Chris Bowen and Jim O'Neil.) They said it was simple to create one... I didn't believe them. I thought it was going to take several days to get started. It didn't. It was as simple as they said!

My accelerator parses highlighted text from the web browser, and return a calendar invitation "on-the-fly" that Outlook easily interprets. There are several ways of adding appointments to Outlook -- I chose iCalendar, since Outlook supports this open standard calendaring format.

What will the user see?

Here is an example of the accelerator in use. I received an email telling me about an upcoming Cambridge Science Festival event. The email directed me to "Boston.com" where I read the event details. I highlighted the event name and time, and right-hand clicked to launch the accelerator:



Here is what appeared in my calendar:



Voila! You can see Add2Calendar captured the event name, date and time, the event summary in the notes area, plus the URL of the event.
For the more technically inclined
This accelerator requires two components:
  1. An XML file to define how the browser communicates with that service, and
  2. A "URL-based service"
The process to create the XML file is well documented in MSDN. Here is the XML that defines how the browser communicates with the service:

<?xml version="1.0" encoding="UTF-8"?>
<os:openServiceDescription
xmlns:os="http://www.microsoft.com/schemas/openservicedescription/1.0">
<os:homepageUrl>http://www.sumatra.com</os:homepageUrl>
<os:display>
<os:name>Add appointment with Sumatra's Add2Calendar</os:name>
<os:icon>http://www.sumatra.com/images/favicon.ico</os:icon>
<os:description>
Highlight something on a web page and add the item into your calendar
</os:description>
</os:display>
<os:activity category="Appointment">
<os:activityAction context="selection">
<os:execute method="post"
action="http://www.sumatra.com/add2calendar/">
<os:parameter name="sel" value="{selection}" type="text" />
<os:parameter name="docURL" value="{documentUrl}" type="text" />
</os:execute>
</os:activityAction>
</os:activity>
</os:openServiceDescription>


I created my URL-service using PHP. The accelerator passes two parameters back to the PHP code ($sel and $DocURL). If those variables are not null, the PHP code can determine if it should show the "add the accelerator to your browser" page, or parse the selection string and return an iCalendar file.

The PHP code creates a form with a button to add the accelerator to the browser. There is also javascript to check if the accelerator exists:

<script language=\"JavaScript\">
window.onload = function()
{
if (window.external.IsServiceInstalled ('http://www.sumatra.com/add2calendar/add2calendar.xml','Appointment'))
{
document.getElementById('btnAdd2Calendar').disabled = true;
alert("Sumatra Add2Calendar accelerator is already installed!");
}
}
</script>
<BODY>
<h1>Welcome to Sumatra's Add2Calendar Web Accelerator.</h1gt;<br>
<h2>Overview:</h2><p>Not all web sites have an "add this event to your calendar" button....
<br><br><br><Please click the button to add the accelerator to your browser.<br>
<button id="btnAdd2Calendar" onclick="window.external.AddService('http://www.sumatra.com/add2calendar/add2calendar.xml')">Install Sumatra's Add2Calendar Accelerator</button>
<p>Copyright © 2000-2010 Sumatra Development LLC. All rights reserved.<br>


Hopefully this gets you started!

The accelerator doesn't parse everything, yet. It's work in progress. If you use the accelerator, and you have comments (and issues, too!), please post or email us: info AT sumatra DOT com