Thursday, July 30, 2009

Exchange 2007 Rollup 9 for SP1

MS released Exchange 2007 Rollup 9 for SP1 last week. The KnowledgeBase article (970162) reports twelve calendar, Outlook/OWA-related fixes:

  1. 954739 Exchange Impersonation feature does not work if a cross-forest topology has only a one-way trust relationship between forests (Ex07SP1)
  2. 961124 Some messages are stuck in the Outbox folder or the Drafts folder (Ex07SP1)
  3. 961544 Mobile users whose location is set to New Zealand cannot synchronize an exceptional occurrence after the daylight saving time (DST) update (KB 951072) is installed (Ex07SP1)CAS server
  4. 967479 Entourage clients cannot synchronize with mailboxes (Ex07Sp1/Win 08)
  5. 967525 Error 4 is returned when you synchronize a supported list of contact properties by using Exchange ActiveSync(Ex07SP1)
  6. 967676 E-mail address properties of contacts changed through Exchange Web Services (EWS) are not updated in Outlook or Outlook Web Access (OWA)(Ex07SP1)
  7. 968081 Monthly recurring meetings are declined if the "Schedule only during working hours" option is enabled(Ex07SP1)
  8. 968350 When you change the location field of a recurring calendar item to empty, the location field is set to the default value of the recurring series if this recurring item is synchronized on a Windows Mobile device (Ex07SP1)
  9. 969054 Error message after user replies to a message that has more than 300 recipients in Outlook Web Access (OWA): "Microsoft Exchange issued an unexpected response (500)" (Ex07SP1)
  10. 969324 Outlook crashes when you try to use Outlook to view e-mail messages that are arranged by subject in (Ex07SP1)
  11. 969838 An error message is returned when a user tries to change a recurring appointment in Office Outlook Web Access that was created in Outlook 2007 (Ex07SP1)
  12. 969969 OWA Error "Outlook Web Access has encountered a Web browsing error" when a user tries to delete a calendar item

Saturday, July 25, 2009

BlackBerry Permissions and Exchange Server-Side Holiday insertion

So remember a few days ago when we told you about a great simplification in setting up permissions?

Basically, and you should not be too surprised at this, the permission for BES admin are really really close to the permissions necessary for inserting holidays or running a full-state calendar migration.

Check out this post:

http://forums.crackberry.com/f50/exchange-2007-bes-install-guide-942/

which advises setting permissions as follows:



get-mailboxserver add-exchangeadministrator
BESAdmin –role ViewOnlyAdmin

get-mailboxserver add-adpermission –user
BESAdmin –accessrights ExtendedRight –extendedrights Send-As, Receive-As,
ms-Exch-Store-Admin

And then tells you to follow up with:

Open Active Directory and from the View menu select "Advanced Features". Then
go to each user that will be added to the BES and open their properties, go to
the security tab and add the user BESadmin and add the security permission "Send
As". (This will overcome some MS patches that prevent BES sending emails).
Methods are available to add BESadmin "Send As" rights to all users if required
but this method ensures only the required users have permissions added.

Make BESadmin a local Administrator of the server where you will be
installing the BES software. This is done by right mouse clicking my computer
and selecting “Manage”. From Computer Management expand “Local Users &
Groups” and select Groups. From Groups double click “Administrators” and add
BESadmin.

This is pretty much what we tell you to do in setting up a service account for running a Sumatra migration or inserting holidays, checking for broken meetings, or running the "terminated user" option in our code.

If you do not have a specific service account set up yet, this is a good place to start.

Tuesday, July 21, 2009

Server-side holiday insertion in Exchange 2007 - example

Well yes, we did go ahead and add the server-side holiday insertion into our mainstream migration code for Exchange 2007.

And we even field-tested it at a site in a mythical place called Canada.

This is a (slightly revised for purposes of pedagogy) holiday file, showing some of the flexibility of our approach. Notice you can have holidays which show as Free "F" or Busy (abbreviation is left as an exercise to the reader) so that our Canadian cousins can list USA holidays as information for everyone in their company, but make sure the time shows as Busy (i.e., do not book then) for Canadian holidays on their calendars.

In an example of instant karma, the test site told us of a wonderfully simple short cut to permissions in setting up insertion (for those of you who have not been through a migration) based on BlackBerry Enterprise Server permissions, which we'll blog on separately.

Please note that this has the following advantages:

  • It's run server-side with no user intervention
  • It is scriptable from the DOS command line
  • It's reversible, i.e., we built in UNDO capability for those occasional accidents
  • Handles multiple time zones

Any sites who have been through a migration with us are welcome to use this capability at no charge for Exchange 2007. Just drop us a line if you do not have the latest code.

Monday, July 13, 2009

GeekSpeak: Memory Leaks in System.DirectoryServices

It rained 22 days in June (in Boston). The last few days were glorious. And I missed the sun while dealing with a memory leak.

We hit this problem while translating legacy Exchange DNs into SMTP addresses in our Exchange Room analysis tool. The culprit -- System.DirectorServices (.Net 3.5)
calls to GetDirectoryEntry().Properties. With each call to System.Directoryservices, memory use jumped by 120 bytes. The annoyance became a problem after we looked up three fields - for 8,000 users.

Microsoft's MSDN Reference says: "Due to implementation restrictions, the SearchResultCollection class cannot release all of its unmanaged resources when it is garbage collected. To prevent a memory leak, you must call the Dispose method when the SearchResultCollection object is no longer needed.".

I did that. So did other folks posted similar problems in the MS forums. All were told to use dispose. It didn't work. After reading dozens of responses, someone said try the "using" contruct along with "dispose". I did. It worked.

For those of you who don't want to find the mines by stomping on the ground, here is sample code that shows System.DirectoryServices calls broken out into an excessive number of using blocks:



'return ONE value from AD given a filter
Public Function GetADField(byval strFilter as string, _
 byval strField as string) As String
 GetADField = ""
 Using dsDir As System.DirectoryServices.ActiveDirectory.Domain = _
  System.DirectoryServices.ActiveDirectory.Domain.GetCurrentDomain
    Using dsRoot As New DirectoryEntry(dsDir.Name)
      Using dsSearcher As New DirectoryServices.DirectorySearcher
        dsSearcher.SearchRoot = dsRoot
        dsSearcher.Filter = strFilter
        dsSearcher.SearchScope = SearchScope.Subtree
        dsSearcher.PropertiesToLoad.AddRange(New String() {strField})
        dsSearcher.FindAll() 'results
        Using dsResult As DirectoryServices.SearchResultCollection = _
            dsSearcher.FindAll() 'results
            Dim result As DirectoryServices.SearchResult
            For Each result In dsResult
             Using de As DirectoryEntry = result.GetDirectoryEntry()
               GetADField = de.Properties("mail").Value.ToString
               de.Dispose()
             End Using 'de
           Next 'result
           dsResult.Dispose()
           result = Nothing
        End Using 'dsResult
      dsSearcher.Dispose()
    End Using 'dsSearcher
   dsRoot.Close()
   dsRoot.Dispose()
  End Using 'dsRoot
  dsDir.Dispose()
 End Using 'dsDir
 Return GetADField
End Function



-Russ

Thursday, July 02, 2009

Bulk Move Meeting Maker to Oracle Calendar?

Keeping an eye on keyword searches that bring folks to our site usually has few surprises.

Then last month this one showed up: "bulk move meeting maker oracle calendar" (right in there with "calendar migration oracle to exchange" and "meeting maker exchange calendar convert").

Yes, Oracle does have a process to convert Meeting Maker into Oracle Calendar.

They smartly used the Meeting Maker export DAT format (just as we do - it's independent of operating system so it's the most natural format and live Meeting Maker data is a horror show of complexity).

Sidebar: Turnabout fair play with an "X" to Paul Lynde. That's the same
strategy we use to move data OUT of OCS, using the utilities Oracle provides for moving calendar data between servers.

BUT when we ran the MM to OCS conversion (a ways back when we were figuring out how to convert Oracle Calendar to Exchange), we discovered they had missed several key attributes and in general failed to impress us with their solution (we did try licensing our tech to them but they were not interested). Since their own published report example consists mainly of "Nothing to import" messages, you should be appropriately wary.

Cornell did this nice guide when they migrated out of Meeting Maker into OCS and Penn State apparently moved last year.

If you want a real geek instance of calendar comedy, check out their Troubleshooting Calendar Migration Guide for their Microsoft Exchange migration consisting largely of the equivalent of "Step 2: Discard remainder of killer whale carcass" making success seem as accessible as Larry Ellison's yacht habit.

We are surprised that anybody nowadays is considering leaving one waning calendar-only product for another waning calendar-only product.

If it works for you, that's all the matters.

As always our message is: try it out for yourself beforehand and follow Reagan's maxim of "trust but verify."

But also be prepared to migrate again in a few years.

Tuesday, June 23, 2009

Double Booking in Exchange 2003? Look to BES Versions

Gentle Reader,

As a blogging calendar geek Ms. Calendars sometimes gets requests from the field. When they are useful to the general calendar-server managing public, she publishes them.

So it has come to pass that a question came in:

You mentioned on your site about the "perennial exchange problem of double-booked meetings". I thought I would drop you a line to see if this qualifies. We have Exchange 2003 and Blackberry Enterprise Server 4.1.3. Our users run Outlook 2003. We get these periods where users claim they are getting double booked meetings. More often than not we see one as tentative and one as accepted in the same time period. Do you have a resource that clearly explains why this happens? Is BES the culprit? Thanks in advance. Rick
Double bookings are really not unusual in Outlook. Microsoft itself has a guide on How to troubleshoot missing and duplicate appointments in Outlook. It is a work of singular genius: wonderfully complete in what could be causing the problem, and mostly silent on solutions or protocols to solutions (in contrast to Russ's latest blog entry), all the while referring you to other links which will hopefully keep you from realizing you are being given the runaround.

Just because we make a good living out of working with Exchange does not mean we're going to drink the Kool-Aid or praise the manure as BBQ.

But it does advise keeping abreast of your software updates, and that did turn out to be the problem.
In the end the problem has been solved by updating to BES version 4.1.6. The release notes go over the brand new BlackBerry Calendar Synchronization Tool. And to see what effect this will have on your Exchange server, see Technical Note: Impact of using the BlackBerry Calendar Synchronization Tool. So keep an eye on your BES servers, folks.
In general, we've noticed pretty big changes going on in CDO on E2K3: see here and here. With two years of E2K7 migrations under our belt, we're encouraging folks to migrate into E2K7 rather than E2K3.
We have another report of calendar weirdness from the field, this one with BES and E2K7, which we are pretty sure is related to the known problems with cached mode and the incremental change system. We'll blog on that later.
In general, if you notice weird behavior on your calendars, start with your BES server and work back from there. BES is the source of most calendar headaches we hear tell of.

Friday, June 19, 2009

Sex Sells....but you still can't print

I attended an MSDN conference this week where I learned more about Silverlight 3. Compared to V2.0 its new features make it slicker:
  • 3D graphics are sexier;
  • Runs as a desktop app and in the browser;
  • Apps run online or offline (and run faster).
Should you consider Silverlight or WPF for your Intranet / Line of Business (LOB) apps? My take:
  • Silverlight will make a very Rich Internet App (RIA). BUT you still can't print without a major code hack, and it has basic HTTP binding (no full security).
  • If you have existing WinForm apps, WPF may be the better choice (it's a logical extension of your existing platform).
  • If you have most of your stuff in ASP.Net, then start with Silverlight (it has a small footprint, produces great cross-platform apps, and is easy to deploy).

Before you blindly walk down the path, figure out what 'features' your end users want, and then figure out which product supports those features. Here are two MSDN blogs that compare the two technologies: Jennifer Marsman (a Microsoft Developer-Evangelist) summarized the differences (although the post is a year old); The Swiss MSDN Team updates it for Silverlight 3.

-Russ

Thursday, June 11, 2009

Free/Busy not working in Outlook 2007 (Exchange 2007)

Zyg interrupted my Friday development meeting and asked why a client could not see Free/Busy in Outlook 2007, but saw F/B in OWA. He drops this on us without even bribing us with coffee and bagels. Someone says the Exchange Availability service has problems. But that makes no sense. OWA uses the availability service (pointing directly at the CAS servers). Outlook 2007 does too. Well sort of. It uses the autodiscover to find the availability service. I bet autodiscover was not correctly configured. I was wrong - it was DNS. Here is how we figured it out:

Use Outlook 'Test E-mail Autoconfiguration'
Outlook 2007 has a tool "Test E-mail Autoconfiguration" to identify the current autodiscover URLs. You can find this tool by launching Outlook 2007, then holding the Ctrl key and right-clicking on the Outlook icon in the system tray while clicking your heels together. In the form, enter an email address and password, uncheck Use Guessmart and Secure Guessmart Authentication and click Test. We looked at the log tab and saw AutoDiscover is failing -


or there was a problem with the autodiscover URL. The errors 0x800C8203 and 0x80072EE7 pointed to DNS - either DNS did not resolve the name or there was no web server at that URL. (We hope it's just a name resolution.) We checked by configuring logging in Outlook: Tools, Options, Other, Advanced, Check logging. We restarted outlook, opened a meeting, then refreshed free busy. (BTW, remember to turn off logging after you are done!) We saw:


Fix the problem in DNS

DNS. Ugh. I’d rather talk to my teenagers about sex, drugs, and the merits of doing their homework than wrestle with DNS. But the problem was simple - add a Forward Lookup Zone, then add a CNAME record. We used “DNSmgmt” (Start-Administrative Tools – DNS)

Forward Lookup Zone: Right-click on your existing forward lookup zone and select a New Zone. A wizard will walk you through the steps. The goal is to redirect ‘autodiscover.domain’ to ‘servername.domain’. You do this in five steps:

  1. Select Primary zone for the zone type;

  2. Store the zone in Active Directory

  3. Set the replication to all DNS servers in AD (this is just for internal requests)

  4. Enter the FULL NAME, e.g. autodiscover.ex2007.sumatra.local

  5. Allow both nonsecure and secure dynamic updates (this minimizes the possibility of Exchange giving you a hard time should you resign your Certificate.)

Create a new CNAME: Right-hand click on your newly created autodiscover zone and select New CNAME

  1. Browse the fully qualified domain name, traverse the DNS tree, and look for the Host (A) record in the DNS (e.g., it might be (same as parent folder).

  2. We did not add a name to the CNAME record. Click OK and you are done.

  3. Wait a few minutes until the DNS changes are sent throughout the organization.

And that worked.
-RVI

Tuesday, June 09, 2009

Oracle Calendar Migration: International Characters

As Roseanne Roseannadanna said, it's always something.

The European calendar migration business has been picking up for us lately, and Oracle Calendar is the main thing folks want to get out of. Oracle Calendar is where Meeting Maker was five years ago, but they have a larger installed base and even more irate users (Beehive did not help things).

So let's look at Jerry's calendar with this entry, a mix of German and Spanish.


Using our standard export tool on the OCS side, UNICPOUTU, this exports as:

K Events:

S 9691980

D 30

T Du mußt Amboß oder Hammer sein, Señor

I 0

R N2

M Garcia Jerry

W Garcia Jerry

A TRUE 3 10O

Which is perfectly fine.


It comes into our database correctly as:

And will insert into Exchange just as you see.

So we're pretty sure we're covered here.

But, we've had some reports of some UNICPOUTU exports not including accented characters (and they're translated to reasonable substitutions so we know something is going on). The Oracle Admin Guide section on Calendar International Support goes into fair detail on how to configure for all your various options. As always, when in doubt, check with us. We want to take as much information to your target system as accurately as possible.

Sensitive to some of the other options that might be coming down the pike, we've added a new character set option to our conversion code:

So in case we need to do Japanese or some other non-European character set we'll be able to respond.

This means the OraCalReader also has a new command line switch: /CHARSET whose values values can currently be "UTF" and "ASCII."

One additional note: Time Zones. We've been handling European and Asia-Pac time zones in OCS to Exchange migrations for years. No worries.

Friday, June 05, 2009

Script to automate Oracle Calendar Server exports

Thanks to Marco Siefert, KUTTIG GmbH, Germany for this script that he's just used on a migration from OCS to Exchange right now. It would work just as well of course for exporting in an Oracle Calendar to Zimbra migration.

No matter what I do in blogger, the indentations get screwy so I'm also putting this in the next round of migration documentation.

#!/bin/sh

export CAL_HOME=/opt/oracle/OraOcs10gHome/ocal/bin
#Set allowpasswordoption = TRUE in [UTL] section of unison.ini of OCS calendar

$CAL_HOME/uniuser -ls -format "%s%:%g%:%uid%:%id%:%node-id%:" -n 1 -p sysoppassword > users.txt
$CAL_HOME/uniuser -resource -ls "S=*" -n 1 -p sysoppassword> resources.txt
while read mylinedo
#Replacing spaces with % so it can be passed to awk

str=$myline

str=${str/\ /%}
#Declaring variables

surname=""

givenname=""

uid=""

startch=":"

endch=":"
#Launching export command with awk

echo sysoppassword awk -v str=$str -v st=$startch -v end=$endch 'BEGIN{

if (length(str)>0){

system("echo Processing line "str)
#Cutting variables out of the line

s=index(str,startch)

e=index(str,end)

givenname=substr(str,s,e-1)

surname=substr(str,e+1)

uid=surname

surname=substr(surname,0,index(surname,":")-1)

uid=substr(uid,index(uid,":")+1)

uid=substr(uid,0,index(uid,":")-1)

#Replacing % in uid for unicpoutu tool, not replacing it in givenname because that is used in the export filename

gsub("%"," ",uid)

system("echo UID="uid)

#When we have a givenname then start with export

if (length(givenname) > 0)

system("$CAL_HOME/unicpoutu -u \"UID="uid"\" -f exp-"surname"-"givenname".txt -n 1")

}

else system("echo ---------------------------------------")

}'

done <>


Reference our earlier posts on exporting data from Oracle Calendar. For example, How to Extract Data from Oracle Calendar Server for a migration into Exchange or Zimbra.

In the script the value for CAL_HOME and sysoppassword have to be replaced before running.

To provide a password to unicpoutu change the config file "unison.ini" before exporting (can be found in $CAL_HOME\ocal\misc). The line allpasswordoption = TRUE should be added to the [UTL] section.

Tuesday, June 02, 2009

Exchange 2007 Rollup 8 for SP1

MS released Exchange 2007 Rollup 8 for SP1 last week. The KnowledgeBase http://support.microsoft.com/kb/968012 reports four calendar fixes:

  • 959990 An error occurs when you try to update a recurring appointment by using an Outlook client that is connected to an Exchange 2007 server
  • 966535 Duplicate messages are sent to an external recipient if the recipient is included in multiple distribution lists in an Exchange Server 2007 environment
  • 967097 Users may receive duplicate calendar items for the updated instance on mobile devices
  • 967109 delegate cannot accept a meeting request for an online meeting in an Exchange Server 2007 environment

Thursday, May 28, 2009

Oracle Calendar Migration: ICS vs UNICPOUTU

We've been asked why we don't just migrate out of Oracle Calendar using ICS format.

We could, but the results are way better using UNICPOUTU.

Let's look at Jimi Hendrix's meeting with Jerry Garcia and John Lennon in ICS format. The meeting title is "Jimi, Jerry, John"


You'll notice that any of the recurrence pattern syntax is absent, as is any concept of the meeting ATTENDEES. Yes, you can take this and you can insert it as is into Exchange or any other calendar system that reads iCalendar. BUT without recurrences, attendees (and therefore attendee response status) and with no connection to managed conference rooms or resources.

It is very easy to insert this way -- but it is also less functional when it arrives at the target system. Users will need to add back all their guests and send invitations, which the guests then need to respond to. And don't forget the great conference room land grab that's going to happen the second your people get wind the conference rooms are not yet booked on the new system.

And let's look at the same meeting in UNICPOUTU export, Oracle Calendar's own format.

It is CRUCIALLY better because while we are (still) lacking the recurrence patterns (don't worry, we re-create those), we have the attendee list and the attendee responses! This means we can re-create the full state of the meeting and make it live in Exchange. This also allows us to re-create the status in conference rooms.

Yes, this means in a system like Exchange that we need to re-propose the meetings and respond to them. But the results at the end are much more seamless and require less user interaction to get back to its previous state. After doing this for almost nine years though we think we've gotten good at it.

Wednesday, May 27, 2009

Name changes and calendar behavior in Exchange 2007

This might seem a little esoteric, but it's still important.

Let's look at name changes in Exchange / Active Directory and how they have an impact on calendaring.

User Name Changes has done a good job of sketching out the mechanics of name changes and its repercussions for email. However, as with anything else there's some consequences for calendars that we feel the need to document.

So let's look at Marge Bouvier and her calendar in Exchange 2007.


In the way of many marriages, Marge changes her name to Simpson after marrying her high school sweetheart, Orenthal.

If we change her name (leaving her alias alone) and go back into her calendar we note that the display name at the top is "Marge Simpson." New meetings are created as "Marge Simpson" but previously created meetings are still labeled "Marge Bouvier."



What happens when previously existing meetings are modified?

So glad you asked.

In her GUESTs' calendars (for example Russ) the original meeting looks like this:

If Marge updates it (say by adding an agenda), the invitation comes into Russ's inbox looking like it's from Marge Simpson:


But accepting it and looking at it in Russ's calendar, it will STILL identify the organizer as "Bouvier."

SO NOW, let's look at it the other way: When the organizer modifies a meeting Marge is a guest in.

Say, Russ modifies his original meeting:



Like this:

MARGE sees the following update come into her inbox (identifying her as Marge Simpson):


And now this exception is listed in Russ's calendar as having Marge Simpson as a guest.

Confused?

If you're not confused you haven't been paying close attention.

The situation is at least comprehensible because updates are at least still going between Marge and everybody else in the organization. What makes this possible is that her Alias ("marge") remained constant. Meetings which are unchanged keep her as "Marge Bouvier" meetings which are new or get updated list her as "Marge Simpson" (most of the time).

If her alias started as "marge.bouvier" and it needed to morph to "marge.simpson" things would be a lot wilder and woollier with all previous meetings now invalid and updates being impossible (exactly as happens with email in this situation).

I leave as an exercise to the interested reader what happens to any Delegate rights Marge had set up prior to her name change.

Friday, May 22, 2009

True Conference Room Anecdote

So I was having lunch a few weeks ago with two people, let's call them Bill and Kelly, who were stalwarts of the Meeting Maker world back when.

Not surprisingly the talk turned to calendaring.

Kelly was telling me how her non-profit Boston office has two conference rooms, and one being necessary for an auditor for an extended period of time, lots of non-software interpersonal skills (what someone outside of psych-speak would call "peer pressure" or "bribery" or possibly "extortion") were brought to bear to free up the conference room.

It's as we tell you: The most important things to consider in your calendar system or migration are the inanimate objects. People will do anything for conference rooms.

Friday, May 15, 2009

Server-Side Exchange 2007 Holiday Insertion

OK. We know you keep asking for it.

The Sumatra Utilities has had this sort of weird cult following (and we mean weird -- we're not sure we want to meet some of the people who send us email) for its ability to insert holidays server-side on Exchange. But based on CDO it was restricted to Exchange 2003 (and those daring Luddites with a 2000 fixation).

Since the E2K7 code was wide-open for ResourceWatch development, Russ's team just kinda, sorta, threw in the holiday insert. So Memorial Day on my calendar went in server-side via an improved holiday CSV.


And since the code is based on the migration tool we have options to tag "(Migrated)", which was how I actually did it the first time before I went "D'Oh!":

So in answer to the questions we always get:

  • Yes, we're now automatically inserting our own Keyword so it's easier to undo (for those of you who ignore our advice by inserting on your production server without an isolated test).
  • No, you can't use an existing .hol file. We actually have more capability than the .hol files allow.
  • Yes, if you still want to do this client-side there are plenty of directions online, like Customize the Outlook calendar with your company's important HR dates
  • Yes, we added the capability to do a "Stockholder's Meeting" on June 30, 2009 from 12:00 noon to 3:00 PM in ALL Calendars server-side.
  • Yes, we're field testing it with a few folks now.
  • No, we haven't decided if it's going to be a give-away. We're leaning towards bundling it.

Wednesday, May 13, 2009

Is there anybody out there? In a word: No.

So our article Corporate Microsoft Exchange to Google Calendar migrations: Is there anybody out there? generated lots of feedback -- all of it confidential.

We're used to this by now.

But here are the high-level conclusions:
  • CORPORATE Google Calendar? Fuggedaboutit. Does not exist at the enterprise level. Actually it doesn't seem to exist in business beyond the "Mom and Pop started this store and needed some calendaring" level. There is one exception in Europe via an SAP consultancy we're too curious to let drop.
  • Educational: Sure - but we've been put off by free not being a viable business model for us.

So don't wait up for us to do a full state calendar migration from Exchange / Oracle Calendar / Meeting Maker to Google.

Tuesday, May 05, 2009

Preview of ResourceWatch

We thought we'd give you a taste of something that's been in development and now in beta. We've been doing analysis of resource use in Exchange for a while, and when one of our favorite clients in the world asked us about turning our analysis into something they could use on an on-going basis, we kind of just started writing it.

Since pictures are worth more than words, I'll start the screen grabs here.






That's the screen display, based on Silverlight. We just all love the way the data comes up on the screen.

But since Microsoft believes Silverlight has no need to ever print anything, we have a separate portion handling output (we call it the "Printer-friendly version"), and these are representative samples:




So what the heck can you do with this? Well you can finally
  • Have statistics on how often conference rooms / resources are used
  • Know how many people have used them
  • See when the high demand days / times are
  • Start to quantify decisions like "Do I need two conference rooms on this floor or will one do?"







Saturday, May 02, 2009

Broken E2K7 Meetings Part 2: Getting rid of them.

So you have some broken meetings, eh?

It's easy for your users to just delete them -- but your conference rooms have a certain inflexible uncreative temperament that means some biological entity capable of passing the Turing test needs to be looking over their collective shoulders.

Or you could use software.

Specifically our software.

First let's revisit the broken meetings in Conference Room 222 of our previous post. The 10:00 AM meeting is broken, and should not be in the calendar.

How do we have the audacity to call it "broken?"

Well it's not in the owner's calendar, and he tried to cancel it. I'd argue it's pretty clear it should not be in the resource calendar.

So now we probably want to divide this into two steps: Finding the broken meetings and removing the broken meetings.

Those of you with experience with SuExchange2007 will be aware of the little "test" button in the corner. This is where we send you to test that you really do have adequate permissions for the calendar insertion we're about to do.


This is also where we're headed to get this menu:

I've taken the liberty of filling in Conference Room 222's alias: "room222" and indicating that it is a resource.

Now, click this button:

And it will create a text file called "_suExLog_BrokenMtgs.txt" which includes our test subject:



Pressing "Delete Broken Meetings" will remove them and log that to a report.


This is scriptable so if you're interested let us know.

Sorry, folks, this one only works for Exchange 2007.

Thursday, April 30, 2009

Corporate Microsoft Exchange to Google Calendar migrations: Is there anybody out there?

One of my favorite lines from Pink Floyd's The Wall: Is there anybody out there?

In this case, corporate users going from Microsoft Exchange to Google Calendar who want to move corporate calendars.

We've gotten asked about this several times in the past few weeks. But no requests have been from actual corporate customers wanting to preserve calendar data. All requests so far have been theoretical discussions or from universities adopting the free Google Apps ride and wanting full-state migration to be free while they're riding.

I mean it's not hard for me to believe that most corporation would not be really psyched about putting their data in the hands of a third party.

McKinsey & Co learned the hard way: Corporate data slips out via Google calendar.

Since free Google Apps for Education is an easy sell to most cash-strapped universities, we've mainly been hearing about this from the education sector. And I've not seen any company with more than 1000 users even considering Google.

Or am I just thinking about this wrong and have not yet realized that the real corporate market is something that keeps Exchange data completely out of the hands of Google Calendar?

Anybody have any feedback?

Tuesday, April 28, 2009

New Means of Creating Broken Meetings in E2K7. Part 1: Getting them

Broken meetings used to be relatively simple to create with Outlook 2003.

Outlook 2007 did a good job of correcting some of the problems by tightening the behavior when an owner deletes a meeting.

BUT in Exchange 2007 using Outlook Web Access (OWA) it turns out to (still) be relatively simple to create broken meetings to clog up your resource calendars.

I'll admit this is slightly convoluted AND bad user behavior, but we can do this using standard, completely legitimate commands. This makes us leery about what other methods remain to be discovered.

So first let's look at my calendar:

Three meetings each with Conference Room 222 already reserved.

Highlight the one at 10:00 AM and press DELETE. This dialogue box displays:


NOW for the deviltry. If you press "Send" right now everything will be hunky-dory and the meeting will be cancelled cleanly. But let's not.

Instead, let's say that you DELETE the conference room AND add "zyg" as a required guest:

THEN hit SEND. In Zyg's calendar we see the meeting has been cleanly deleted.


Aside: Adding "zyg" is a crucial step. If you try to send without a Required user you get an appropriate warning.


Anybody care to guess what the calendar for Conference Room 222 looks like? Right. The meeting is still in there.

Kudos go to Russ and the insertion team for discovering this.

So ends Part I: Creating the broken meeting. Watch this space to see how you can find and remove the broken meetings.

Note that KB 954284 Outlook 2007 does not send out meeting cancellations if you remove all invited attendees from a previously created appointment describes a similar situation using Outlook 2007 rather than OWA.