Tuesday, August 17, 2010

Migrating from Exchange to Live@Edu - NOT a no-brainer

We've been getting a lot of email from people who are weighing the decision between on-premises Exchange and Live @ Edu. We got worried when we started picking up on two assumptions that a lot of them are making: that both Live @ Edu and on-premises Exchange 2010 are functionally equivalent and that should you decide to move between them it is a simple, no-brainer activity to shift from on-premises Exchange 2010 to cloud-hosted Exchange later on.

Disillusionment Time!

There are two things you need to be aware of at the outset:
  1. Live @ Edu has limits compared to on-premises hardware (and this affects migrations disproportionately)
  2. Going from on-premises hardware to Live @ Edu is just as major a migration as going from (say) Oracle Calendar Server to Live @ Edu.
We've dealt with the first issue already in this blog, including some differences from a coding perspective.
Now let's talk about going from on-premises to Live @ Edu:
First the voice of experience, in this case a user going from E2K7 to Live @ Edu:
http://nzschooltech.blogspot.com/2010/04/migrating-from-exchange-2007-to-liveedu.html
Yes, you CAN devise and execute your own migration process. But but do not plan on it being either simple or fast.
Second, we have the voice of authority, Microsoft, warning about this:
http://outlookliveanswers.com/forums/p/519/4961.aspx#4961
So Microsoft is working the IMAP mail migration angle (be sure to test how long it takes), but calendars, contacts, tasks are not included.

Third, we have the voice of Sumatra:
If someone is moving your calendars, ask if the meetings come over live with guest lists and responses intact.
Our general recommendation: If you're looking at migrating from a legacy system and considering going into Live @ Edu sometime down the road -- all indications are that it is better to make your end-point decision FIRST. It will save you tons of work down the road.

Wednesday, August 11, 2010

Disable Meeting Forward Notifications

Gentle reader,
When migrating calendars and re-creating their state, Ms. Calendars finds it very useful to disable meeting forward notifications. Otherwise, Ms. Calendars does not know where the heck the darned invitations are or what has happened to them and has no reasonable way in this level of reality to respond to them appropriately.
To do so:
Disable External Meeting Forward Notifications for a Single User
Set-RemoteDomain -MeetingForwardNotificationEnabled $false

Disable Internal Meeting Forward Notifications for a Single User
Set-MailboxCalendarSettings -Identity user email@yourdomain.com
-RemoveForwardMeetingNotifications $true

Thursday, August 05, 2010

Wednesday, July 21, 2010

Outlook Live: Bulk E-Mail and Daily Recipient Rate Limits

Folks looking to go into Outlook Live should check this out:

Bulk E-Mail and Daily Recipient Rate Limits

Because when you re-create calendaring state as we do in a migration you are very likely to find some people who are hitting into this limit.

We sometimes do get the question: Why do you need to send messages if you are migrating calendars?

(We do, oh we really do!)

The answer: because calendaring in Exchange is a message-based protocol (Duh). Single appointments do not fall under this limit, but meetings DO. And remember, with meetings there's the invitation AND the response.

Saturday, July 17, 2010

Outlook Live and Outlook On-Premises Differences

You know.... there's a bunch of these differences between Outlook live and Exchange on-premises.
And like discovering land mines you're only going to know when you step on one of them.
Such is the case with Throttling Policies and the EWSFindCountLimit.
What does this have to do with calendar migrations? Just in our UNDO function (a prudent safeguard which many of you seem to find comforting).
Our QA team discovered weird behavior in Live @ Edu that does not exist in on-premises Exchange when we were trying to UNDO several test insertions at once. The default limit in ESWFindCOuntLimit is 1000 items (and this in our case includes things in the Deleted folder).
So some of our higher-end users were not being UNDO-ne.
We're fixing that and preparing for the next landmine.
Stay tuned.

Tuesday, July 06, 2010

Inserting into Live @ Edu vs. inserting into on premises hardware

We were working with a client doing a migration into Live @ Edu and wanted to get some absolute data on calendar migration performance on their machines versus everyone else. So in true Sumatra fashion we created a test database of 20 users and had them insert it in their test environment. It took 19 minutes.

And we then inserted the same database into our Exchange environment. That took 12 minutes (not surprising, we have good hardware and not an enterprise-level load)

Then we inserted the same data into Outlook Live @ Edu. It took 71 minutes.

Just to be sure we were not doing something really wrong we ran it twice and got the same manatee-like languid pace. We're used to measuring migrations with a clock, not a calendar.

We're sure we're not processor bound on our client system. The question is whether we're processor-bound on the server (likely) or network-bound (not as likely). The results are in any event troubling for anyone wanting to do a bulk calendar migration.

But wait -- there's even MORE BAD NEWS FOR calendar migrations!

According to Message, Mailbox, and Recipient Limits (tip 'o the hat to Duncan in London), there are limits of 30 messages per minute and 500 recipients per day. And the logs from London's test runs indicate they are already hitting this limit.

Taking calendar data over in a full-state method we re-create all of these and it is not unusual for the even moderately-scheduled user to hit these limits.

Stay tuned. We're working on creative solutions.
There is a ray of hope, though. This thread indicates others are running into the same absurd limits and Microsoft MAY be willing to make exceptions (check out the procedure at the end).

We suggest you folks who want to do a full-state calendar migration contact your Microsoft Rep and ask them if they can get these limits removed for the duration of your migration.

Wednesday, June 23, 2010

International characters going into Live at Edu migrations

Because we're nutcases about accuracy and dependability we checked international characters going into Live @ Edu migrations and found no problems.
So umlauts, acutes, cedillas, and various other characters should come out fine.

Thursday, June 03, 2010

Setting Permissions for a Live @ Edu Migration

OKAY, you are serious about getting out of Oracle Calendar and into the Exchange Cloud. So you need to know how to set up your permissions on your Live @ EDU Admin account so that the migration application has access to all accounts to do what it needs.


 

You only need to do this once and you can remove these (rather generous but necessary) permissions after you have verified the integrity of your data and removed the Keyword.


 

  1. Setup live@edu:
    1. Your domain must be Org-owned (you'll be setting RBACs….)
    2. Create a service account, e.g. deleg8@livetest.YOURDOMAIN.com
  2. On your PC, connect your local instance of Windows PowerShell to Outlook Live
    1. Prerequisites:
      1. You'll need Windows PowerShell 2.0.
        1. Get it here: http://support.microsoft.com/kb/968929
        2. If you have windows XP x86 must upgrade to SP3+; 
        3. If you have windows XP x64 use the windows server 2003 x64 version
      2. Launch PowerShell: Start > All Programs > Accessories > Windows PowerShell > Windows PowerShell right-hand click and "Run-As administrator"
    2. Set the credentials for your Windows Live ID and Password for your Outlook Live account, then define a session
      1. $LiveCred = Get-Credential 
      2. $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
        1. If it fails to execute, then:
          1. Set-ExecutionPolicy RemoteSigned 
          2. …. Or unrestricted if you are brave
      3. Start a session to import the Outlook Live commands into your session.
        1. Import-PSSession $Session
        2. Setup RBAC impersonation using built-in role "ApplicationImpersonation"
  3. Define RBAC impersonation in Powershell:
    1. New-ManagementRoleAssignment -Name EWSImpersonation -Role ApplicationImpersonation -User deleg8@livetest.YOURDOMAIN.com
    2. After you are done, disconnect Windows PowerShell from Outlook Live:
      1. Remove-PSSession $Session

Wednesday, June 02, 2010

Oracle Calendar to Exchange Live at Edu - the Video

We got a request for a video showing data migration from Oracle Calendar to Live @ Edu.

We put together an ad hoc committee to create the clearing for the conversation for possibility..... ah heck.... we just put some software up and did it.

Michael Moore has nothing to be afraid of.

You can also view it off our main site at http://www.sumatra.com/ocs-to-exchange.wmv

The melodious voice you hear is Zyg (whose role in Sumatra is the moody "Ben Affleck" character in contrast to Russ's "Matt Damon" persona).

Interested in trying it out? Our contact page is here.


Tuesday, June 01, 2010

Migrating Oracle Calendar Server into the Microsoft Exchange Cloud

The calendar gnomes have been busy.

We have gotten some requests to take Oracle Calendar Server into this Microsoft "cloud" thing (which last time I looked had a couple of different names).  Of course we started with Live @ Edu because that's where the first money is.

So if we look at Jimi's calendar in Oracle Calendar we see:


and if we look at his calendar in Sumatra's LIVE@ edu test system we see the exact same thing (minus the color which you cannot port anyway).



Some of you will notice the one appointment that's not there, which led us into looking at timing issues in Live @ Edu.  We found that changing our CAS and EWS URLs for the insertion to remove the "PSH" part removed the issue.

If your Outlook.com server is something like
PODnnnnnnPSH.outlook.com

use:
PODnnnnnn.outlook.com

instead on insertion.

... and Jimi's calendar comes out fine everywhere.  So in case you find yourself missing some data, check the URL you're pointing to.  We obviously don't have as much control over timing and performance in this scenario as we do in a native Exchange environment.  So the first few who go live with our tech are going to be taking the earliest risks for timing and the eternal X-Factor.



Oh yeah, this would work for Meeting Maker, Zimbra, Sun Java Calendar, anything else we can migrate.  But let's face it, Oracle Calendar Server is the one everyone is currently looking to drop ASAP.

This all involved minor changes to the SuExchange interface, mainly to specify Credentials to your CAS server.  Your Live admin account is the one to use:

This also means there's no need to "Run as..." with the Service Account.  Your  CAS credentials effectively ARE the Service Account.

There's also good news on conference rooms, which are looking like we can Accept and Decline them under our control but as always we want more field tests to make sure we're not drinking our own Kool-Aid: 


Keep in mind: our distinction is that we re-create meetings with guest lists and responses and re-create recurrence patterns in moving from OCS to Exchange, and that is the same whether going to the cloud or a native Exchange server.

So from the perspective of your end users it's a migration with results that make it act as though you've been using Exchange all along.

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

Monday, April 26, 2010

Ampersands in email addresses

Just ran a few thousand users from Oracle Calendar into Exchange (at a very security conscious site so we were not able to look at their mappings beforehand), and they had some problems with ampersands in email names.

Yep. Bad karma all around.

In fact, you should not be using most special characters for object names, as Microsoft documents here for Exchange 2003 and here for Exchange 2007.

Friday, April 16, 2010

Exchange Calendar Issues fixed with Rollups

Microsoft released rollups for its Exchange Servers on April 13, 2010:

I want to report the calendar-related issues that these rollups fix:

Exchange 2007 (SP1 and SP2) - No calendar-related fixes in this rollup

Exchange 2010

  1. RPC clients or MAPI on the Middle Tier clients may not receive responses from the mailbox server role on an Exchange 2010 server (KB981664)
Note: Microsoft recommends that you Clear the 'Check for publisher’s certificate revocation' for Outlook users. For OWA users, this rollup overwrites any customizations made to your "logon.aspx" pages.

Thursday, April 15, 2010

New one-step mapping method OCS to Exchange


 

Mapping OCS Users & Resources to Exchange Accounts

First, we assume that you have already imported the "users.txt", "resources.txt", and "foreign.txt" into the database using the xCalReader.

There is really only ONE step: Run the query Q_Build_MM_Exchange_User_Map_From_Users



 

THAT'S IT!

We urge you to review the mapping table "MM_Exchange_User_Map" to ensure all accounts have been mapped, and that all accounts have an email address.


 

What happens if I want to change the email address for a few users in the Users table?

Edit the table User_Adjusted_Maps. You must copy the userid, UserNum, and mmLogin from the Users table, although we recommend you copy ALL fields. This makes review easier because you know who the accounts belong to! Add the exchange alias (exch_alias) and exchange SMTP address (exch_email). In the following example, we changed Peter W's email to peterw@nl.th....


 



 


 

What happens if users do not have email in the Users table?

Look in the "Exchange_email_Src" tab for "***Missing Email***", or look for unusual email in the exchange_email tab.



 

Is there a "query" to copy all users with blank emails in the Users table to the User_Adjusted_Maps table?

Yes. It's called "Q_Add_Users_with_Missing_Emails_to_User_Adjusted_Maps"

You will have to add the Exchange Alias and Exchange email address, AND the Exchange type. The choices are "Individual" for a user or group calendar account, and "Resource" for a conference room.


 

I do not see that query in my database?

You must have database version Blank_Conversion_DB_v8.13.0.0413.mdb or greater


 

Meeting Maker sites migrating to Exchange

You can use the exact same queries and methods above, but make sure the email you want to have in Exchange is associated with the MM account you are migrating using MM Admin.