Welcome

Welcome to 3Sharp’s blog sites. 3Sharp is passionate about engaging with technical communities in discussing a wide variety of technologies – whether the uber-cool, the bad, or the ugly. Please contact us at info@3sharp.com if you have any questions about our blogs.

Powered By:

Syndication

Blog Stats

Bloggers (posts, last update)

Latest Posts

Cisco buying Postpath?

I know that the rumors had been floating around for a while, but now the news is out. Cisco is purchasing the privately held Postpath for $215 million dollars. This is really interesting to me in that I've been working with Postpath for a short while and I'm really wondering about the value that Cisco is going to pull out of this deal. For starters, in this article, it's mentioned that Postpath:

"...provides a browser-independent AJAX Web client."

The reason I have a problem with that line is that the Postpath client is actually Zimbra's client.

Postpath1

I'm sure technical blogs are popping up all over the place talking about the things that Postpath can and can't do, but having installed it a couple of times and poked around inside, it seems like there is going to be a battle over some of the features. For example:

  • ActiveSync - Postpath reverse-engineered ActiveSync rather than licensing it (say, like Apple), and I'm not sure how Microsoft will react to a large company like Cisco selling reverse-engineered technology.
  • Exchange compatibility - I know that Postpath advertises that it integrates well with Exchange 2003 (and can exist in that environment), but how does it work with Exchange 2007, where there are significant changes to the architecture.
  • Price comparison - When I looked at Postpath the cost comparison felt a little bit shady, but I don't want to sink into a full teardown. The main point is that they make some pretty grand claims about the savings that they can provide a company.

I really don't want to turn this into a Postpath bashing blog post, but I really don't see why so many people think that this will allow Cisco to become a major player in the messaging marketplace. If they were purchasing something like Zimbra, then I would give credence to the idea that they were looking to field a product that would really be commercially viable.

Having installed and used at least 5 messaging platforms in the past year, I kind of have to wonder about Cisco's choice. At least it wasn't Lotus...

posted @ 8/27/2008 3:15 PM by Tim Robichaux

Synchronization Problems with EAS or Entourage?

Earlier today, I ran across an interesting issue - apparently several (mostly small - several running SBS) organizations have run into issues where Exchange ActiveSync or Entourage client sync fails when there are more than just a couple (and I mean as few as four) items in a folder. There is no correlation between the inability to synch and a specific folder or folder type - the issue has happened with contacts, the calendar, and just the standard Inbox folder. There aren't neessarily helpful error messages associated with this issue - timeouts are often seen, and the hex value 0×85010014 has also been seen.

This issue often is related to a third-party kernel driver - famv4.sys (File Access Manager, from Vision Works Solutions, Inc.). This file is used by some backup vendors to allow backup software access to open files. Generally, the  backup vendors using this file are smaller vendors instead of the big-name software companies.

To isolate whether famv4.sys is causing problems with synch operations, you can disable famv4.sys through the registry:

  1. Open regedt32 (or regedit, whichever) on the server
  2. HKLM\System\CurrentControlSet\Services
  3. Find "famv4" (no quotes)
  4. Change the value of "Startup" for famv4 to 4 (this disables the service)
  5. Close the registry editor
  6. Open a command prompt on the server
  7. Type "net stop famv4" (no quotes), hit enter

If your ActiveSync or Entourage (or both) clients can synchronize now, you've isolated the problem - the bad news is that your backup software isn't going to work right now, so make sure you either a) go back and re-enable famv4.sys in the registry or b) sort out a different way to back up the server -- which option you take depends upon what will work best in your environment.

If you experience this problem, you should contact your backup vendor to report the issue and request a fix. You may also want to contact Vision Works Solutions (link above) so they are also aware of the problem.

This problem is also discussed by someone who's experienced it here: http://www.mytechnicallife.com/2008/08/20/exchange-2007entourage-famv4sys-issue-summary-from-microsoft/ 

Here's hoping this one doesn't bite you.

(Question: Why is synchronization abbreviated sync instead of synch?? I really feel like the trailing "h" needs to be there; it just feels incomplete without it. So I use "synch" mostly. Except when I don't. I claim no reliability on this issue.)

posted @ 8/22/2008 5:11 PM by Missy Koslosky

Busy Networking Week!

This was a busy week as far as networking goes -- on Wednesday, there was a meeting of the Central Oregon Information Systems User Group - COISUG for short, and today, the WoTech got together for lunch. I love lunch.

COISUG's meeting was pretty cool - I missed the beginning, but was able to catch most of the action. Chris Avis of Microsoft did a nice long session on Windows Server 2008, Virtualization, and Hyper-V. As these are areas of interest that I don't get much of a chance to dig into, it was great to be able to relax and learn without the "OMG, deadline!" pressure that can sometimes happen. I've done a fair amount of virtualization in the past, using several different technologies to host the virtual machines, and now I'm looking forward to sinking my teeth into Hyper-V. I do think I need a new box for testing, though... Either that or I can build a virtual machine to host W2K8 and run Hyper-V in that virtual machine. That would be so ugly, even though I do have 4GB of RAM in my laptop.

Before we moved to Bend, it had been years since I'd been to a user group, and I'm so happy to be involved in the groups in this area - there is a great breadth of expertise in the area and it's really nice to be able to talk geek with others, especially since I'm not local to 3Sharp's office and don't get the daily dose of geek talk I would, were I there.

It looks like I'll be doing a presentation on Exchange 2007 at an upcoming COISUG meeting - it's been a while since I've given a presentation, and I'm really looking forward to it!

posted @ 8/22/2008 4:43 PM by Missy Koslosky

ESM on Vista

Yay for the Exchange Team! There's now a version of Exchange System Manager that can run on Vista - I know most folks running Vista are now used to just terminaling into the server to do whatever they need to do administratively, but it's NICE to have options!

posted @ 8/19/2008 2:42 PM by Missy Koslosky

A new e-mail idea...

Last night a co-worker and I were having a discussion about some of the things that we'd really like our e-mail clients to be able to do. One of the things that I was lamenting was the fact that there is no really easy way to have Microsoft Outlook tag e-mail so that you could build views that were built around tags rather than folders. This got us thinking and I think that I came up with a nifty way to do some e-mail-fu using metadata in a file system for some neat things.

The first idea that I had was that if you just were able to keep each e-mail item as a separate file, you could then use the built-in metadata features of some file systems to tag each item. If you did it this way, you could have a really light-weight e-mail client that would just build a view based on what tags you gave the e-mail. It would also be really simple to have the system (either server-side or client-side) tag e-mail as it came in. Then once it is looked at, it would get tagged as something else.

For example, one of the things that we talked about, was the idea that you could give your client the logic to thread and tag e-mail based on things like:

  • If it is a reply to someone in particular, it gets tagged for one view
  • If it is a reply in a thread, it gets tagged for that conversation
  • If it contains keywords that you have designated as important, a special tag gets added
  • On and on, in the same vein

The real beauty of this system is that all three cases could be applied to one e-mail that came in and all you would have to do is select a view or type of view to quickly sort through all your incoming and existing e-mail, based on those tags.

Another really cool idea that was brought up (I think he brought it up, but I can't remember at this point), is that you would be able to do some visualization that is not possible in a standard e-mail client. You could create views and viewers that would group your e-mail and messages and all that jazz as a tagged cloud. Then it would be really easy to analyze and comprehend things about your e-mail that it's not always easy to find. I know, personally, that I have a better time understanding complex relationships if I can draw them out or put them into a visual paradigm.

Another area that I think that this would make for some really neat features is in security, backups and speed. Instead of keeping all your data in databases, all of your information is in files. This way, you wouldn't need to have a client that was able to read or access a proprietary data format to access all those messages. Most of the file systems in use today support strong encryption and file-level security, so the integrity of the data is less at risk as well.

I think that this is a fun mental exercise and I would really like to see some changes to the way we look at messages, but I also know that this would require a lot of work and know-how that most people wouldn't want to sink into such a fringe concept. I think that with the changes we've seen in how messaging is approached (as in, the unification of multiple messaging formats and the convergence of information access devices like computers and cell phones), we'll see a lot more expansion into areas that are different in concept than we're used to. I would like to believe that changing the way we look at information was a quick process, but I know that there are many people who think that, "this is the way it's always been done and it's the way it'll always BE done."

This is getting to be a long post, so I'll wrap this up by saying that I really like the way that messaging of all types seems to be converging. I love the way that I can have a central place for all my communications. I like the fact, most of all, that I'm at a place where I can have these kind of discussions and really feel like I've come away with an idea that really fits who I am.

posted @ 8/16/2008 3:36 PM by Tim Robichaux

Microsoft ISA 2006

Recently we picked up a big project in the Platform team. We were all excited about it, and pretty soon we were all working hard at making it a success. One of the things that was a little bit broken was that were trying to come up with a good way to make files available to customers and team members who were not local. Sure, the team members could VPN in, but the customers couldn't. We looked at a couple of solutions like Microsoft Groove and publishing a Sharepoint site, but everything seemed to have a problem or issue that we really didn't like. What we ended up deciding on as a solution was using our existing TeamPlain Web Access for Team System. We had used that solution before to give access to another client to access the bug tracking list for a code project and everyone seemed to be happy with how it turned out.

Projects were created, permissions assigned, and then the fun started.

It seemed that people were able to log into the system and navigate with no problem, but they couldn't download any of the files. I looked into TFS and TeamPlain and I couldn't find anything that would prevent this issue. Looking at the error that was coming up on the client, I thought that it looked a lot like an error tossed out by ISA 2006.

Error Code: 500 Internal Server Error. The request was rejected by the HTTP Security filter. Contact your ISA Server administrator. (12217)

After some googleing, I found that this error is often seen in OWA implementations behind ISA 2006 and there is an option in the HTTP configuration on the publishing rule in ISA that you can set to prevent this error. I whipped open the ISA Server Management tool and started right-clicking. The only problem was that the "Configure HTTP" option that should have been there on that rule was missing. When I opened up the rule, on the "Traffic" tab, I should have been able to click the "Filtering" button and get to the same setting (which the fix is, for the impatient, turning OFF the "Verify normalization" and "Block high bit characters"). This was something of a big problem since without that switch, I wouldn't be able to share these files in the way that we had decided.

Sidenote:
The problem with the file download, at it's root, seems to be that the title of the file has some extra characters in it. What is supposed to be a %20 in the URL gets converted to %2520 and ISA chokes on this and says, "Not YOURS, no file for YOU." As you can guess, this is a pretty big problem when trying to use the system to deliver documents and foster collaboration.

Back to ISA 2006. It didn't work. Now, I had been unhappy with our ISA server for quite a while. It never got patched right, and all sorts of odd things have happened with it. I couldn't troubleshoot it, since it was a production system, so I did the second best thing, I built a new one. I lovingly patched it, and coddled it and configured it the best I was able. The neat thing was that I created a bunch of test rules, and they DID have the options that I needed to configure. The final step was to import the rules from the old ISA server. Oddly, when I imported them, the RULE WAS BROKEN on the NEW server. After much swearing, I wiped ISA from the box and started over. This time, at the suggestion of our Head of IT, I took an exported set of the rules from the old (BAD) server and imported them into the (NEW) server AFTER making a backup of the rules that worked. This time, when I imported the rules from the old server, everything WORKED.

I've been working with Microsoft products for a number of years, and this kind of behavior is quite common. I remember installing Windows 2000 Professional on the same hardware a couple of different times and getting different configurations each time. I wasn't surprised, but I was just glad that it worked. After some more configuration, I thought that I had everything the same as the existing firewall, and after some convincing of the Head of IT, at 6:00PM we switched over to the new system. The only problem that I was able to find was this morning, VPN was broken and one of the sites (http://getsharp.3sharp.com) was unreachable.

Now, I don't have VPN totally ironed out (I just switched us back to PPTP which is FINE when you are using strong passwords, which we are), but it looks like everything is doing well. Just because I am so happy about these, I will now list the things that used to be broken that now work:

  • Pandora Internet radio.
  • Performance Monitor on the ISA machine
  • Updates and patches on the ISA machine
  • File transfers using the TeamPlain web access

So, next on my list of things to do is building a new Edge server for our OCS deployment. We have been having some issues with this and it's due to us running out of IP addresses. I just got 13 more, and I'm totally pumped about the stuff we'll be able to publish with them!

posted @ 8/14/2008 4:01 PM by Tim Robichaux

Subtext 2.0

Hey! Apparently, a new version of Subtext is coming out! I've been waiting for this for a while, and I'm going to get it put on the IT list of things to get done. I don't think it will change the way we do business, but I am really looking forward to some of the refinements that it incorporates.

Update:
One of the things that is mentioned is improved integration with Windows Live Writer. This is one of the really exciting things, since the is a product I can't say enough nice things about. I'm VERY happy with it.

posted @ 8/14/2008 2:31 PM by Tim Robichaux

The OCS Edge Server: how many NICs do I need?

There are a lot of people out there who want to try to get around Microsoft's recommended configuration for the OCS Edge Server roles. For whatever reason, they don't like the thought of have two network interfaces, one on a publicly routable IP network, the other on the private network. I've talked in the past about some of the reasons why this configuration is not only recommended, but actually a good idea, but let's just say it took a lot of talking and thinking before I accepted that notion.

MVP Jeff Schertz has done a fantastic job of walking through the various permutations people have come up with, separating what will work from what won't, and explaining the pros and cons of each variant. I highly recommend this post.

I also want to amplify a point he makes: having multiple interfaces (whether physical or virtual) on the same subnet will cause interesting and otherwise inexplicable weirdness on a Windows machine. I'll write up the situation I'm seeing in a bit (not OCS!), but let me be clear: it's caused me all sorts of problems. Run, do not walk, away from any "solution" that requires this.

posted @ 8/14/2008 11:01 AM by Devin L. Ganger

Converting an InfoPath 2007 Form into a Word 2007 Document

With the introduction of the Office Open XML Formats in the 2007 release, the process for programmatically using XSLT to generate Word 2007 documents has changed somewhat since the Office 2003 days. For those of you not interested in working with XSLT, this post describes an alternative for programmatically generating Word 2007 documents from InfoPath 2007 forms...

posted @ 8/8/2008 3:20 PM by David Gerhardt

Using Gmail for Personal Email

Since 1999, I've used an mvps.org e-mail address as my primary method of personal communication; several months ago, the wonderful folks who run mvps.org (free!) for the MVP community had some issues, and made some changes to their policies. This led me to try an alternative approach - I started having Gmail fetch all messages from my mvps.org account.

After spending some time trying to adjust to Gmail's interface, and having difficulties with the un-sortability of e-mail in Gmail (I know, I know, Google's theory is that you can just search for messages, but frankly that just wasn't working for me), I set up Outlook to download my mail from Gmail using POP, while also leaving my email in Gmail, just in case. This lets me happily sort my mail (and Oh! I love to sort it, and I love the various views I can create, and I love Search Folders too!).

The good news about Gmail is that they really have removed a lot of the spam I was seeing -- for the past 30 days, I have over 6,000 messages in Gmail's spam folder - when I was using my mvps.org account without filtering the messages through Gmail, Outlook's junk mail rules took care of most of the spam, but I still needed to manually clear out messages, and I was in the habit of doing so every few days. With Gmail, because I rarely look at the web interface and rely on Outlook as my client, I wasn't looking in my spam folder. Bad idea for me, because apparently Gmail thinks that, among others, my husband's cousin, who's in China, and my MVP lead, who has a Microsoft address, are lousy spammers. And they're not, they're lovely people! Now I'm looking at going through all 6K spam messages to see who else has been mis-identified as a spammer. Sigh.

Other gripes about Gmail's online interface:

  • I'm really used to having inline spell and grammar checking. I don't make tons of errors, but I do make them. Outlook lets me know this on the fly, with Gmail I have to think about it.
  • I can't make folders. See my comment on search above. I LOVE folders and don't think search is adequate.
  • Why oh why can't I flag a message with a reminder?? Stupid stars just aren't enough of a visual cue for me.
  • I want a preview pane. The snippet of the message is helpful, but a reading pane is so much more useful

I do like the way Gmail handles conversations, and wish that Outlook was better in the conversation view; I've found it to be unreliable in the past.

Oh, and someone else named Missy apparently thinks that my Gmail address is actually her Gmail address. It isn't. Her friends send me cute jokes at times, but I've also gotten messages with business information that I KNOW I shouldn't have seen. If you're the other Missy, please sort out what your real Gmail address is, because I get enough mail as it is! (Why can't the messages from her friends be flagged as spam, instead of those from my friends??)

 

 

posted @ 8/8/2008 11:55 AM by Missy Koslosky

Shoulder Pain

I went and visited a brilliant massage therapist last night. Not only was she great at relaxing some of my more messed up muscles but she was also a great teacher. Two of the more meaning full things that she went over with me that I am now doing my best to work on, are as follows:

1.       Lift your sternum. The number one thing that she told was a very simple bit of advice that simplifies something that we should all do. Proper spinal alignment and posture are a big deal for those of us who sit in the same position for long periods of time.  For me that would be sitting at my desk at work and at home. At my desk I do all of my work in front of me, I reach out to get my mouse, or my keyboard, or the other things that I work with in front of me. What this does in the long term is stretches the muscles ( mainly my rhomboids) out in my back way more than they were ever designed to be stretched out, and it leaves them stretched for long periods of time. This is not good and causes all kinds of issues with the muscles. Makes my shoulders shrug more forward, and my neck sit more forward trying to hold up my huge head and look at my monitor through my beat up eyes. This is one of those things that gets worse and worse over time and compounds on itself. My therapist's simple advice to "lift the sternum" is a very simple thing that do, and remember to help with this all the time, not only at the desk but when doing anything. By lifting the little bit of junk in-between my ribs, my shoulder move back letting my rhomboids relax a bit, it moves my neck back helping it relax, and it stretches out my chest and forces the pectoral muscles to pull less on my rhomboids, again giving them some more of a break

2.       Change your mouse hand. Another one that she gave me that I've been doing when I have a chance is to change the hand that I use for my mouse. Being a nerd with resources, what I did was plug in a second mouse to my computer. This gives me the option to quickly switching from one to the other when I need to just move about, or when I need to be more precise and efficient. When I am web browsing, or reading something I am trying to commit to using the other mouse, and to move  my normal mouse hand on to the back of my arm rest. This moves my more used shoulder into a position where it is not stretched out in front of me giving it a bit of a chance to relax. As a secondary thing for me this is going to mean doing more with keyboard short cuts.

She had some other things, but I don't want to overload this post and I have some real paying work to do. I am going to try some more stuff over the next few weeks and months. As I try those I will write some more about this, and report and how I am doing. Kev loves pictures, right? below is what my desk top looks like with the two mice installed. To the left I my laptop that does music and travels with me. In the middle is my monitor that is dedicated to my terminal session to my home server, and the wide screen monitor to the right of the desk is my active work space. It is good to be a nerd with resources.

 

 

posted @ 8/7/2008 7:27 AM by Kevin Miller

70-562 Microsoft .NET Framework 3.5 ASP.NET Application Development Exam

This post is in response to a comment on an earlier Microsoft Exam post of mine.

I am currently studying for the 70-562 Microsoft .NET Framework 3.5, ASP.NET Application Development Exam.

You can't register for this exam at this time because it has not yet been released. At the time of this post it is scheduled to be released sometime in August 2008.

I am using the Programming Microsoft ASP.NET 3.5 book in preparation for this exam. Although this book is not targeted to the exam audience, it is jam packed with valuable information that covers all of the skills measured in the 70-562 exam.

In addition, I am reviewing the .NET Framework 2.0 Web-Based Client Development Training Kit book. I am also evaluating the uCertify exam preparation software. Although, these resources are specific to the .NET Framework 2.0, I have found them useful in preparing for this exam.

posted @ 8/1/2008 1:30 PM by Mike Rand

Track Progress

In my day job I end up with a great deal of writing. for that matter the group that I work in does a lot of writing. I did a project earlier this year where the amount of rewrites that I did killed my productively. One of the results of that is that I now highlight text in a document as I finish working with it in different colours to let me know if I can or should touch it again. Today in a meeting one of the ducks hinted that we needed something like what I have been doing. That made me put some words to paper about what I am doing. I added the following bits of texts to our internal company how to write wiki thing. I like the idea so much I figured I would share.

 

To ensure that we consistently track work in documents while as we are writing highlight the work in the document using the following colour codes:

·         Red = I "borrowed" this and it should be reworded

·         Yellow = This is 90% sure I can rewrite if I have too but I should consider it done

·         Green = This is done, If I touch it I have to pull 19 hairs out of my head.

·         Purple = This is what I was doing when I left the document yesterday

·         Nothing = still working on it

posted @ 7/28/2008 11:36 AM by Kevin Miller

First Look at Microsoft Online Services: the Sign-In tool

Continuing from my previous post on MOS...

I didn't really mention this in the previous post, but MOS is designed to provide a hosted alternative to the server-side applications. One of the goals is to continue working with existing native clients and client access methods, so (for example) you can access your Exchange Online mailbox through OWA (running from MOS), through Outlook, or even through EAS/Windows Mobile. In order to do this, though, your client applications need to know how to talk to MOS and provide the proper credentials.

You can do this the hard way or the easy way. The hard way is running around and reconfiguring each application by hand and teaching your users how to use a separate set of credentials. The easy way is to use the MOS Sign-In tool, a little .NET 3.0 application that runs on the client desktop. It interacts with Outlook 2007 RTM/SP1, LiveMeeting 8, and IE7+.

When this application is run, it will invite the user to logon to MOS. The first time they do so, they're required to change their password. It then detects the apporpriate applications, offers to configure them to work with MOS, and then just sits quietly on the desktop, providing a seamless SSO experience.

To be continued...

posted @ 7/28/2008 11:30 AM by Devin L. Ganger

First look at Microsoft Online Services: adding domains

I'm at an airlift here in Redmond for the new Microsoft Online Services (MOS), Microsoft's hosted services platform. Right now, MOS offers a combination of hosted Exchange (OWA, Outlook, and even EAS!), hosted SharePoint, and Live Meeting. We've just gone through an overview of the service, and it looks cool -- enough so that I'm now seriously considering switching my personal domains over to it (especially since they offer the ability to synchronize with your Active Directory deployment).

MOS is currently in beta and you can go sign up for a time-limited trial. There's only a certain number of trial accounts active at any given time, so your trial request may not be provisioned immediately; however, you can go to https://mocp.microsoftonline.com and sign up for one. You'll need a Windows Live account.

As you might imagine, MOS allows you to associate one or more DNS domains with your online account. When you register for your account, you're asked for a domain. This domain is not verified and, in fact, seems to be used simply as an internal administrative tag -- once your account and service is set up, you have to specifically add DNS domains. Adding them is a fairly simple process:

  1. Register your domain name with a registrar.
  2. Provision your domain with a DNS provider (often combined with step 1).
  3. Add the domain name to your MOS Admin Center.
  4. Run the verification wizard and add the auto-generated CNAME to your domain's DNS zone.
  5. Validate the domain in the MOS Admin Center.
  6. Start provisioning users with this domain, enable inbound e-mail on this domain, etc.

The verfication step is an important piece, because this helps MOS make sure that you're using a domain you're actually in control of. Otherwise, malicious people could sign in and hijack your domain, which would suck. The way Microsoft does this is actually simple and elegant: they generate a unique CNAME record (that looks very much like a GUID), and ask you to add this CNAME record, pointing back to a server under their control, to your zone. This has lots of advantages:

  • It's pragmatic. If you can add a CNAME record to a zone file, you effectively control the domain.
  • It avoids the nastiness that can result in WHOIS-based verification and allows people who register domains to continue using proxy companies, hiding their personal info from WHOIS spammers.
  • It's relatively easy. You simply have to add a simple record to your DNS; if you can't do this (or your DNS hoster can't do it for you), then you have much bigger problems managing your DNS and verifying your DNS domain under MOS is the least of your problems.
  • It's low-impact. The generated CNAME is highly unlikely to be queried during normal operations by your users; only MOS is likely to be looking for it. It doesn't require you to repoint your MX records or otherwise make major modifications to your infrastructure if all you want to do is start using online SharePoint and Live Meeting.

Note that just because you add a domain to MOS doesn't mean you have to use it for email! That's a separate operation, which is a two-step process of enabling inbound email for that domain and then updating your MX records appropriately.

More on other MOS functionality coming later...big thanks to the event staff for their kind permission for me to blog!

posted @ 7/28/2008 11:21 AM by Devin L. Ganger

Just a short shout out

I don't want to get into the middle of a huge flame war, but I wanted to say that I think Apple did an awesome job with the split-disk install of Leopard that I'm working with right now. I've had to install operating systems a number of times, and installed software all over the place, and one of the things I've noticed is an inconsistency in checking to make sure you have all the disks. I just got done walking through the wizard for installing a fresh copy of Leopard, and the last thing that I was asked was if I had the Mac OS X Install Disc 2 handy, since I would probably need it. The nice thing about this was that it was done just before the format, so it was the last little check, just to make SURE that you were ready to wipe things out.

Once more, not trying to incite a flame war, but I found this MUCH more comforting than when I tried to install Windows Media Center 2005 back a few years ago and only realized that I was missing a disk when halfway through installing files, I was told to insert Disc 2. It was my own fault for not checking before I started, but we don't reinstall every day, so it is nice to have little reminders, sometimes.

I don't remember when it was that I first saw it in Linux, but I do remember on Red Hat or Fedora, being given a list of the CDs that I would need to install the packages I had chosen. I remember at the time lamenting the fact that I couldn't install a base system off of one CD (which, as far as I know, is still the case if you don't download the DVD). Now, I use Ubuntu for all my Linux-licious needs, so one CD is all that I need and all that I want.

P.S. If you didn't know, you can install a small jailed copy of Ubuntu Desktop 8.04 on an existing NTFS partition. I just installed it on my co-worker's Server 2008 box for him to find in the morning. With getting the OS installed and dual monitors working and ready for a reboot back into Server 2008, I invested about 10 minutes in the prank. That's some nifty software!

posted @ 7/16/2008 5:05 PM by Tim Robichaux

How To Set Up Phone Paging on a Mitel 3300

Our Story So Far

I am not an expert in traditional telephony. I am at peace with this, but there are times where I need to step up to the plate and take one for the team. I've been managing and maintaining our Mitel 3300 ICP for a while now, and I am constantly struck as to how difficult it can be. For a large number of years, telephony of the traditional type, has been full of terms and concepts that may not be quite comprehensible to someone who is not well steeped in the lore of the big Bells.

Earlier today, I was working at my desk and I was asked if I could page some people to help move some equipment from the office across the hall. I'll admit that I was actually stumped. This was something that I had never thought about, and I had no idea how to go about it. With all of the phone systems that I had worked with, previously, there was normally a button on the phone that would page everyone else with a phone. This worked well in a small office where people were often not at their desks. Since just pushing the button seemed to work (and I was not responsible for the PBX), I washed it from my mind. Now that I am in charge of making our PBX sing, it's a bit of a different matter. Delving into the (meager) documentation that I have on the 3300, I found what seemed to be the thing to do. There was already a paging group set up.

PagingGroup

I added myself to the group (there were a few members in it, but none since we took over the PBX from our vendor), and then looked to see how to add a button to my phone. Navigating to the Multiline Set Key Assignment, finding my set than then finding an open button, I was presented with a large number of options. I selected the "Paging" option, saved and preceded to fail at paging people.

Looking into the help files, I was only able to find information on Loudspeaker Paging, which I was to find out, is very different from paging directly to the phones. After much searching around and digging, I found a refrence to a concept called "Direct Paging." I didn't see it when I was searching the help files (I actually found it in a 3300 User Guide, under the Advanced Features). I tried the steps contained in the instructions, but it looked like they weren't working.

Thinking that this might be a problem with how I set up my buttons, I looked back through my key settings and, lo and behold, I found an actual option to assign a button the "Direct Page" function.

DirectPage

With everything saved, I was able to pick up the handset, hit my new page button, dial the Page Group number, and send my shining voice out to the masses.

Back to the Good Stuff

It looks like in the telephony industry, there is a big difference in using the phone to send a message to an actual paging system and just sending a message to all the phones lying around in the company.

PagingTypes

It looks like there are quite a number of parallels between the two, however. The way the Loudspeaker Paging works is through an actual port or card that connects to a loudspeaker system. Depending on the level of complexity of the system, the 3300 can support up to 16 zones (well, it can really support 15 zones with one [00] reserved for the dreaded "Page All Zones" type of function). On the Direct Page side of the fence, the administrator has the option of setting up multiple Page Groups and all management and pages are handled by the 3300, instead of outside hardware. I'm not sure of the maximum number of Page Groups, but it seems like it is probably quite a few.

I don't want to spend a lot of time becoming an expert on Mitel. There are people who work with the hardware much more than I do, and I would rather focus on the specifics of integrating it with OCS 2007. Now, having said that, for the record, I love learning the little ins and outs of these systems. It's quite interesting and I've learned a lot about how PBXes work, and that's help me understand the link between the telephony world and VoIP.

Well, back to the phone closet!

posted @ 7/10/2008 4:53 PM by Tim Robichaux

DPM 2007 Rollup packages now available

While I was away on vacation last week, Microsoft finally released the DPM 2007 Rollup packages to Microsoft Downloads. (I blame Jason Buffington; I'm sure he waited until I was out of office.) There are  both x86 and x64 packages; both require you to download three separate files.

In addition to various bug fixes, this rollup (also known as a "feature pack") provides the following new functionality:

  • Official support for protecting Windows Server 2008 servers (and supported applications, such as Exchange Server 2007, running on Windows 2008), including protecting the system state.
  • You get support for backing up clustered Virtual Server 2005 R2 SP1 environments. Before, the cluster itself was not seen as a cluster by DPM, and depending on your configuration you may have needed to do some funky scripting.
  • Better tape handling. You can now share tape libraries between multiple DPM servers, reducing the cost of long-term tape retention and allowing better utilization of high-end tape libraries. You can also put multiple protection groups on a single tape; DPM 2007 RTM would start a new tape as it began writing each protection group, even if the previous tape was not fully used. This could get expensive.

I haven't yet been able to confirm whether the cleaning tape bug Tim noted has been fixed in this update, but I suspect not.

Applying this update is a four-step process:

  1. Install the main DPM update (DataProtectionManager2007-KB949779.exe)on your DPM servers.
  2. Install the SQL Server update (SqlPrep-KB949779.msp) on the machine hosting the SQL Server database for DPM. In a default install, this is the same machine that is your DPM server.
  3. Update the agents on your protected servers to version 2.0.8107.0. You can push them out through the console or manually run the .msp update package on your protected machines (using any supported push mechanism). You will need to restart the protected machines for the new agent version to take effect.
  4. Update the DPM Management Shell update (DPMManagementShell2007-KB949779.msp) on all of your DPM management stations (including the DPM servers themselves).

Although the official instructions give the update steps in the previous order, I have run all three udpates on my lab DPM servers before updating the agents on my protected servers, and as long as Microsoft doesn't say that's not supported, that's the way I'd recommend doing it -- that way, all of your PowerShell tasks are using the updates even if you don't have all the protection agents pushed out yet.

posted @ 7/9/2008 7:34 PM by Devin L. Ganger

FormatPainter Word 2007 Ribbon Control

I ran across an interesting situation today in the Word 2007 Ribbon. In a project that I'm working on, the FormatPainter Ribbon control wasn't showing up in a custom tab. Here is the Ribbon XML element that was being used:

<toggleButton idMso="FormatPainter" imageMso="FormatPainter" />

I double checked the idMso and control type in the Microsoft 2007 Office System Document: Lists of Control IDs Word Ribbon Controls Excel spreadsheet. I had entered the idMso correctly and I had the correct control type, according to the spreadsheet.

Next I wanted to see if the problem was isolated to my project and not with Word itself. I opened a new Word 2007 Add-In project and added the same code to a custom tab. Again, no Format Painter control. But, this time I was able to see the error message that indicated that the control type was incorrect. It turns out that the FormatPainter control is referenced as "control" not "togglebutton".

Here is the updated Ribbon XML element:

<control idMso="FormatPainter" imageMso="FormatPainter"/>

Now the FormatPainter control shows up as expected in my custom tab.

posted @ 7/3/2008 11:48 AM by Mike Rand

Deploying InfoPath Templates to a Production Environment

Microsoft just published another one of my technical articles: Best Practices for Deploying InfoPath 2007 Form Templates to a Production Environment. This article shows some best practices for moving form templates from a development environment to a production environment and includes steps for adding a debug view. The article also describes some techniques for optimizing browser form scenarios.

posted @ 7/3/2008 8:22 AM by David Gerhardt

.Text to Subtext Part 2

I know that it's been a while since I first posted about our migration from .Text to Subtext, but I now I'm actually getting down to it. The recipe is as follows:

  • 1 Install of .Text 0.92
  • SQL Server 2005
  • 1 Zip of SubText 1.5.2
  • 1 Zip of SubText 1.9.5b
  • 1 IIS Server
  • A desire to upgrade to a new blog platform

Once you have all your ingredients gathered, it's time to start the upgrade! The first step in any preparation is to prepare the environment. To do this, we first backed up our .Text database and created a new one to hold our new SubText install. Next, we did the same backup to all the files in the web root directory.

The hard part is going to be upgrading the database. The reason why we listed both versions of SubText in this ingredient list is because we first have to upgrade the database to 1.5.2 and THEN move it to 1.9.5b. Supposedly, there is an importer in 1.9.5b that works, but we were never able to get it working. To solve this, what I did was installed SubText 1.5.2 (which didn't have the upgrade script built in) and then I upgraded the rest of the way to 1.9.2. Once the files are installed and IIS is configured, it's time to upgrade the database. To do the database upgrade, I recommend downloading this script from this blog, opening up your SQL Manager, pasting the script in the query builder and executing some Ctrl-Shift-M Fu on it. A quick entering of credentials later, and you can run the query to update your database. Once you have your .Text migrated to SubText 1.5.2, it's easy to then update to the most recent release of 1.9.5b.

I don't want to actually host the upgrade script here, since it is the work of the fine folks of another blog, but I do want to stress that this is what worked for us. I'm sure that there are people out there who might be reading this and scoff at such a simplistic approach, but hey, it worked for us.

There were still a few more things that we had to do to make everything work right, but I think that's fodder for another post.

posted @ 7/2/2008 5:01 PM by Tim Robichaux

E-Mail Platforms Part One

Recently, I've gotten to install a bunch of different e-mail platforms. This has been quite an experience, both fun and frustrating. While I'm planning on writing about each platform in detail, later, I wanted to put down some of the problems that I ran into.This is just a short list of things that I noticed when installing some of the platforms. I’ll start off with the ones that weren’t much trouble and then move into the ones that were painful:

Zimbra – This was, by far, the easiest of the non-Exchange installs. With the Ubuntu server taking only about 15 minutes to install, and then another 15 to update and add the extra packages that are required, it was a pretty painless server setup. The install of Zimbra, itself, was quick and painless as well. The only information that you really have to have set up ahead of time is the license file. The one complaint that I had about this package was that I wasn’t able to find an easy way to add multiple users, from a text file or something like that. It may exist, I just didn’t spend too much time looking, since it was only 20 users. Another thing is that I don’t know of an easy way to change the certificate to a non-self-signed one. I know the instructions are out there, but it has just been a low priority.

Blackberry – Because it is built on the Exchange 2007 platform, the e-mail portion of this was very simple. Once it was time to install the Blackberry Enterprise Server software, things got a little more complicated. There were several prerequisites that needed to be installed, but the documentation and instructions was excellent. The instructions were clear and concise and had screen captures of how to do everything. The only thing that happened that I wasn’t happy with was that to register a handheld, you either have to plug it directly in to the server or the user has to be able to get an e-mail with the activation/configuration PIN. Once this info is entered in to the Blackberry device, the sync occurs, but when I first started the setup, I couldn’t provision users because I had not enabled inbound mail. The initial sync took a long time to complete (several hours) but I don’t think that’s because of the setup.

Domino – This has been a difficult product to set up, simply because it is so different from the Exchange way of doing things. There is also very little documentation regarding what I wanted to do, and what there is, often assumes that you are already very familiar with how to do some tasks that are not well described. When installing and setting up the Domino server, the most complicated part was getting SMTP mail working. It wasn’t too difficult, once I knew that I had to create a connection document for SMTP, but it was not something that I was used to doing. Another thing that I haven’t quite gotten is the Sametime integration. I have everything setup on the client machines, but DWA is being obstinate. The main difficulty that I’ve had is that I haven’t been able to find any good books on the product, so it takes me twice as long to figure out how to do something than it does with Exchange (or even Zimbra).

Postpath – Postpath was the most difficult product, hands down. To start off with, just installing the hosting OS was a total pain. Having worked extensively with Ubuntu, Red Hat, SUSE, and Gentoo, I thought that I wouldn’t have any problems with CentOS. That turned out to not be the case and I had to spend several hours wrestling with some of those OS issues. When it came time to install the packages, themselves, I was very unimpressed. The install, configuration and ongoing maintenance is all done from the command line. While I would not normally complain about this, it turned out to be a big problem when I couldn’t use SSH from a remote computer, so I had to do everything logged in to the console. The install was complex and most things were not explained very well. The documentation was also somewhat lacking, often just describing the options, but not what they do or change. My main gripe with the install process is that the license is only good for one install, so when I had to start over, I had to e-mail Postpath tech support to have them send me a new license key. I found several instances of people complaining about Postpath and it seems like for most versions, it is best to have Postpath servers added to an already existing Exchange environment. One of the threads that I was following had users describing using Exchange 2003 management tools to manage the Postpath servers, but I’m not quite brave enough to try, now that I have it working.

Most of my gripes were fairly minor because most of them came about because the software and methodology are very different that what (as an Exchange admin) I am used to. Zimbra seems like a product that a well trained monkey could install, but Domino needs a lot of experience and a good bit of time spent searching for answers.

posted @ 6/27/2008 1:26 PM by Tim Robichaux

Hyper-V

I was having a bit of a chat this morning in a discussion forum about Hyper-V and some of that stuff I want to share here. Personally and as a company we love hyper-v. the following are a few of the things that come up in the talk

Q: Do you really want to use hyper-V, Microsoft products are not baked until SP1 you know.
A: I am all for doing Hyper-v in production. Hyper-v is not a built from the ground up product it is built on a 5+ year old bit of technology that Microsoft bought and has continued to improve on and build on in-house. Microsoft.com currently uses it for their web servers, that is a pretty big test http://blogs.technet.com/windowsserver/archive/2008/06/25/microsoft-com-powered-by-hyper-v.aspx     

 

Q: A statement " However, Microsoft doesn't have DR and HA tools that VMware has, so they're going to behind the 8ball until then."

A: DPM can perform snaps and other backup types of Virtual servers, and store those on site, off site, or on tape. I call that the makings of a DR solution? We, Microsoft, and others deploy VM's on clusters, I call that an HA solution. There is even a KB or two that fully outlines the steps to set this up, it is not hard

 

Q: I need X that VMware does, and Hyper-V does not do.

A: most of the things that you want or need Hyper-V is going to do or there is an add-on that will do it for you. DPM for backup, a System Center for management, reporting, provisioning, and hardware to VM conversion http://www.microsoft.com/systemcenter/virtualmachinemanager/en/us/overview.aspx

 

Q: How much is an Enterprise server license to support Clustering?

A: Somewhere around 3k. Which is not that much considering the fact that with that license you can build 5 server 2008 VMs before you need another server license. In essence you get 6 servers when you purchase an enterprise license.

 

I don't think that VMware will go away, but I see their sales going down...

 

posted @ 6/27/2008 8:59 AM by Kevin Miller

Hyper-V in the hizzouse!

Everyone's being so coy in the Windows blogosphere today. "As you may have heard..." Heck with that; this is wicked cool. Hyper-V has Released To Manufacturing ... and is already available for download. As the link explains, it'll start coming down the Windows Update pipe July 8th. If you don't want your Windows Server 2008 machine to be updated yet, don't be blindly accepting updates.

Why wouldn't you want to get it first thing?

  • You're running a previous version of Hyper-V. If so, be aware that upgrading your VMs is not automatic. It's not a horrible process, but it will take some time. You have to manually export each VM, remove the VMs from the server, upgrade the server, re-import the VMs, then update the Integration Services. The more VMs you have, the more time this will take.
  • You're running some software that is not yet compatible with Hyper-V RTM but works with an earlier build. In this case, you want to wait until that software has a patch available.

I fit into both categories. I think I'm going to wait until I'm back from vacation to do it.

Oh, yes, just because Hyper-V is now RTM doesn't mean that you can go run to install Exchange 2007 on it in production. See Scott Schnoll's post for more info.

posted @ 6/26/2008 8:28 PM by Devin L. Ganger

These are not the solutions you're looking for

As IT professionals, we are more than often prone to fall to the perils of magical thinking. (I'm sure this is a side-effect of being human, which is a pesky and bothersome condition I will have to do something about one of these days.) Magical thinking in this context is when we have not internalized the intricacies of a problem and instead rely on formulas rather than true understanding to come up with solutions.

At one ISP I used to work at, we had a glorious reclaimed piece of technology, an Auspex NS-5500 file server. Every now and then on reboot, this old beast of a machine would fail to boot up; the cure was to open the cover over the drive cage and give it a good swift whack. We all assumed that this was because one of the drive connectors was a bit loose, but when our "magic" fix failed to work one night I discovered that it was in fact because one of the screws holding things in place was missing, allowing the drive bay to sag just a tiny bit. It was this tiny bit of sag that put just enough stress on the connector for drive 0. Had we actually opened the case up earlier, we'd have been able to solve the problem -- and prevent a year of whacking the server.

All too often, I see magical thinking in the field of security. Case in point: I recently heard about a gentleman who has a client that is requesting ETRN support be added back to Exchange 2007, either natively or through an add-on. They want to deploy the Edge role in their DMZ, have it queue up mail for the internal organization, and then have their Hub Transports (in the internal protected network) initiate a connection out to de-queue the messages using the ETRN SMTP extension. The reason they want this is that they've done due diligence and read some very thorough documents about computer network zones and have come to the conclusion that all network connections must be initiated from the most secure network. This, they say, removes the threat of malware taking over the Edge server in the DMZ and allowing an attacker to use it as a launching point to the protected network.

Now, the recommendation for connections to be initiated from a more secure network to a less secure network is a good general baseline to follow when it makes sense. However, it is not realistic in all cases (if we followed this to the letter, nobody would be able to receive e-mail from external senders except through random polling of Internet SMTP hosts, which is not at all scalable). This is doubly true if you don't understand how the underlying protocols work. Case in point: ETRN, defined by RFC 1985, "SMTP Service Extension for Remote Message Queue Starting". Quoting from section 3, "The Remote Queue Processing Declaration service extension" (emphasis added):

To save money, many small companies want to only maintain transient connections to their service providers.  In addition, there are some situations where the client sites depend on their mail arriving quickly, so forcing the queues on the server belonging to their service provider may be more desirable than waiting for the retry timeout to occur.

Both of these situations could currently be fixed using the TURN command defined in [1], if it were not for a large security loophole in the TURN command.  As it stands, the TURN command will reverse the direction of the SMTP connection and assume that the remote host is being honest about what its name is.  The security loophole is that there is no documented stipulation for checking the authenticity of the remote host name, as given in the HELO or EHLO command.  As such, most SMTP and ESMTP implementations do not implement the TURN command to avoid this security loophole.

This has been addressed in the design of the ETRN command.  This extended turn command was written with the points in the first paragraph in mind, yet paying attention to the problems that currently exist with the TURN command.  The security loophole is avoided by asking the server to start a new connection aimed at the specified client.

See the problem? ETRN was not designed to solve a security problem; it was designed to solve a financial problem back in days when always-on bandwidth was a lot more expensive and most ISPs metered traffic. It masquerades as solving a security problem only because it's designed to avoid a loophole in an insecure and exploitable feature. As a result, ETRN won't solve the problem these people want it to solve; all it does is tell the system in the DMZ to initiate a new connection to the Hub Transport servers. It doesn't reuse the existing connection initiated by the Hub Transport servers. They can't use a firewall rule to block outgoing access from the Edge to the Hub Transport and be safe, because they'll cut off all incoming traffic.

However, let us for a moment assume that it did work the way they wanted it to: my Hub Transport initiates an outbound SMTP session to the Edge. In this session, HT is the SMTP client, ET is the SMTP server. As soon as HT issues the ETRN command, they still have to swap roles -- HT is now using the SMTP server code paths, while the ET is using the SMTP client code paths. Any theoretical vulnerabilities that are in the HT SMTP implementation are still going to be there, still exposed to the message traffic about to be sent down the connection, still open to exploitation.

This is the magical thinking: firewalls and a DMZ will protect my traffic. This is not true; firewalls and networks zones are two components of a complete security plan. Neither firewalls nor network zones can protect legitimate traffic, nor are they designed to; they are designed to allow you to designate which traffic is legitimate. If you want to secure that traffic, you need to turn to other measures.

posted @ 6/26/2008 8:18 PM by Devin L. Ganger

masteringdpm.com back online

Things got hairy enough last week that I forgot to post, but my hosting provider got the problem sorted out and the website is back online.

posted @ 6/23/2008 8:26 AM by Devin L. Ganger

Windows Server 2008 Core

I just recently started on my journey to learn about and build a server based on Windows Server 2008 Core. I've installed the bits and I'm just now starting to get into the configuration. The first thing that I had to do was change the hostname:

netdom renamecomputer <OldName> /NewName:<NewName>

This gave me a much easier way to refer to the computer (the auto-generated name was WIN-<LongString>, the new name is griddle). The second thing I did was to enable remote administration by setting the firewall rules to allow the remote administration:

netsh advfirewall firewall set rule group="Remote Administration" new enable=yes

In my reading, I found that you can enable or disable the ability to remotely administer each set of servies individually (e.g. File Sharing, or Hyper-V), but since I'm just playing around, I opened them all up. The next part of the equation was to enable the Remote Desktop. I really haven't looked too far into this, but one of the things that I really like about the Linux distributions that I've worked with was that once I've set them up, I turn on ssh and then I can just connect directly to the command line in a secure and user friendly manner (well, friendly to me). I haven't found out how to do this in Server 2008 Core yet, so I'll stick to using a command prompt window in a GUI for now. To do this, we have to change the registry and then open the firewall:

cd C:\Windows\system32
cscript scregedit.wsf /ar 0
netsh firewall set service type=remotedesktop mode=enable

The main reason why I like to use ssh or Remote Desktop is because I spend a lot of time doing things that I'll only do once or twice to any particular machine. To make it easier, I like to plan out what commands I'm planning on running and then putting them in a text file. Then, I can just copy and paste, line by line, when I'm sure I have everything I need. That it a lot easier than trying to remember a sequence of commands and switches and options. The second (and to me, more important) reason why I do it this way is that I LOVE to multitask. It is quite rare that I ever have fewer than 3 remote server connections going at any time, along with a couple of instances of Internet Explorer, Excel and Word. Not to mention Outlook, Notepad++, Office Communicator, Pidgin, Powershell, and assorted others.

Well, that is the current setup of my Windows Server 2008 Core. The next steps will be to install Active Directory services, Hyper-V, and everything else I need for a little lab environment.

Note: I would prefer to have the AD server be running on a host, but I've been advised that it's not wise to have the host joined to a Domain Controller that is running as a guest. It's fine for the DC to be virtualized, but you want to make sure that you have a DIFFERENT DC running somewhere as well.

posted @ 6/19/2008 11:25 AM by Tim Robichaux

70-536 Microsoft .NET Framework 2.0 Application Development Foundation Exam

Yesterday I passed the 70-536 Microsoft .NET Framework 2.0 Application Development Foundation Exam. This is my first exam on my way to earning a MCPD: Enterprise Application Developer 3.5 certification.
My primary resource in studying for this exam was the MCTS Self-Paced Training Kit (Exam 70-536) Microsoft .NET Framework 2.0 Application Development Foundation Book. I highly recommend this book; however, you’ll need to read the comments and corrections:
·         MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0—Application Development Foundation comments and corrections Part 1
·         MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0—Application Development Foundation comments and corrections Part 2
·         MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0—Application Development Foundation comments and corrections Part 3
·         MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0—Application Development Foundation comments and corrections Part 4
Here are some more great resources:
·         Microsoft 70-536 Study Guide at C# Online.NET
·         Preparation Guide for Exam 70-536
·         Tech Ed cram session
The 70-536 exam is now considered “version agnostic”, this exam is required for .NET Framework 2.0 and .NET Framework 3.5 certifications. This means I will be able to move directly into the .NET Framework 3.5 certification exams!
While I’m glad to have passed this exam, I’m even more excited to get started studying for my next exam:  70-562 .NET Framework 3.5 ASP.NET Application Development.

posted @ 6/19/2008 9:41 AM by Mike Rand

DPM - Pick Your Cleaning Tape Well

Some important things to note when using DPM. If you are told that the drive needs to be cleaned, you need to make sure that you put the right cleaning tape in there. When we got our new Autoloader (Quantum SuperLoader 3 with a DLT-V4 drive), we ordered all of the tapes we needed, including several cleaning tapes. Once the SuperLoader was loaded, we started to run with DPM and configured Agents and Disks and all the assorted sundries that a good backup scheme needs. (If you want to know more about setting DPM, I recommend this book)

Once things were setup, I noticed that the drive was reporting that it was in need of cleaning. Loading a cleaning tape through the mailslot, I followed the standard procedure of attempting to clean the drive. For some reason it kept failing, and I couldn't figure out why. After three or four attempts, I pulled the tape out and took a really good look at it and then looked at the packaging. Almost at once I saw that it was not the right cleaning tape; we had been sent the wrong tapes. Wanting to get things up and running we RMA'ed the bad tapes and overnighted the good ones. It turned out that they only had one of the tapes we needed in stock, so we had them ship it anyway.

Now that I had the right tape, I ran the cleaning procedure again, and the gnarly orange light on the front panel went away, and the LCD reported that all was well. This was not the case, however, as every tape operation I tried in DPM failed. Erase, Clean, Create Restore Point On Tape, all returned errors that the device was not ready. I tried rescanning. I downloaded the diagnostics from Quantum. I tried power cycling. Nothing worked.

As I dug further into the problem, I found that there weren't many people who had similar problems so as a last resort, I started to look up the actual error codes that I was getting. Most of them appeared to be generic errors, but when I searched for one particular error (24052), the first result from Google caught my attention.

Google Search on the Error

Looking through the post, it seemed that this person was having the same problems that I was having, but with different hardware.

Forum post that contained the information

It appears that this is not a problem with the hardware or the tapes, but rather a bug in DPM. For some reason, it looks like what is happening is that in the DPM database, when you try to clean using an incorrect cleaning tape (or the cleaning fails, I suppose), the "OperationOccuring" state in the "tbl_MM_Drive" gets stuck in a state (state 3, whatever that is) that prevents DPM from seeing that device as ready to use, even though in the Management tab, the device is being reported as idle.

While I hate to hack a database to fix a problem, that seemed to be the quickest way, so taking the advice of the post, I whipped out my l33t SQL skillz and ran an update to that row that changed the state to "0".

UPDATE tbl_MM_Drive
SET OperationOccuring = 0
WHERE DriveID = '<My Device's GUID>'

Once this code was executed, I re-scanned the Library in DPM and then erased a tape as a test. It worked, and I danced around the office, just a bit (everyone else was gone by this point).

While this is not a thing that most people would come across in the day-to-day operation, it is something that was almost a show stopper for us. Backups are extremely important- I've already used DPM to restore some accidentally deleted files -and for our peace of mind we need those tapes for off-site archiving. This fix took me a while to find, simply for the fact that ruling out the autoloader and drive takes a lot of time. Now that it's out there, I hope that anyone else who has this problem has a quicker time!

posted @ 6/18/2008 11:51 AM by Tim Robichaux

masteringdpm.com temporarily down

If you've tried to get to masteringdpm.com in the past couple of days, you may have gotten a cryptic error message instead of a site with DPM goodness. I'm working with my hosting provider to get it put back up ASAP and will post again once it's back up.

posted @ 6/18/2008 11:43 AM by Devin L. Ganger

Tech-Talk: Making Backups Cool with DPM

While I was at the Tech-Ed NA IT Pro conference last week, Jason Buffington and I took the chance to invade the Tech-Ed Online fishbowl studio and record a quick Tech-Talk on using DPM. You can now view it online on the Tech-Ed IT Pro page and the Library page, or stream it directly. Now that Tech-Ed's over, maybe we'll both find the time to be on Xbox Live at the same time so we can continue our discussion in Call of Duty 4...

posted @ 6/18/2008 10:55 AM by Devin L. Ganger

Welcome, Mike Rand!

Just a quick shout-out to fellow 3Sharpie Mike Rand, who just posted his first post to the 3Sharp blog site last week. Mike's a super-smart developer here with mad SharePoint skills; I can't imagine why he hasn't blogged sooner than this, but I hope to see him posting more frequently! He's also pretty good at foosball.

posted @ 6/17/2008 12:46 PM by Devin L. Ganger

Updated Exchange Developer Roadmap

To reinforce yesterday's post about Exchange Web Services (EWS), I wanted to draw your attention to the Exchange Developer Roadmap posted on May 22 2008 on the Exchange API-spotting blog.

There shouldn't really be any surprises here, but there were a couple of items I wanted to highlight. First:

Given this commitment to Web services and our goal of making Exchange Web Services the richest developer interface for Exchange... (emphasis added)

Next:

Here's a preview of some of the functionality that we plan to add to the next release of Exchange Web Services:

  • Access to Folder Associated Items (FAI) and read/write access to user settings (Devin: this page in the MAPI reference indicates that FAIs are things like views and forms. I believe that this also fixes a known quirk of EWS that keeps you from creating Outlook-visible search folders that use certain property paths. I believe this also gives access to server-side rules, if they're not already accessible through a separate part of the API.)
  • Management of Personal Distribution Lists (Devin: very cool.)
  • Throttling capabilities that give Exchange administrators control over system resource consumption (Devin: this will be very nice for helping keep poorly written applications from taking down the Exchange servers.)
  • A powerful and easy-to-use server-to-server authentication model to enable building portals and enterprise mash-ups (Devin: let's hope this can ease some of the pain of building Exchange-aware SharePoint sites, at least those that don't require direct access to private mailbox content.)
  • An easy-to-use Microsoft .NET API that fully wraps the Web service calls, which makes Web service development even easier (Devin: I'll be interested in seeing how this stacks up against third-party offerings like the Independentsoft EWS client offering.)

Then they go on to list the APIs that will get removed (Exchange WebDAV, Store Events, CDO 3.0/CDOEx, and ExOLEDB) and moved to "extended support" (Exchange Server MAPI Client, CDO 1.2.1). Don't get too excited by the MAPI client -- it's not what you think:

Provides server applications a MAPI runtime for accessing Exchange. 

Note: This is not the Outlook MAPI Client library that is included with Outlook.

and

Outlook's Exchange MAPI Store provider, available in the Outlook MAPI Client library can also be used to access an Exchange mailbox or public folder.

If you're going to start writing Exchange-aware applications, you should probably start looking at EWS first for future compatibility. If you're trying to support Exchange 2003 at the same time...good luck.

posted @ 6/17/2008 12:43 PM by Devin L. Ganger

A .NET add-on for working with Exchange Web Services

I just got word that Independentsoft has come out with a beta version of an EWS client API for the .NET Framework and .NET Compact Framework. I've not looked at it yet, but I'm particularly hopeful about having a good way to work with EWS from Windows Mobile devices.

Exchange Web Services (EWS), introduced in Exchange 2007 and enhanced in Exchange 2007 SP1, is Microsoft preferred interface for all future programmatic reach into the Exchange store. While EWS is a Web service, it can be pretty complicated to work with. Luckily, we've done some work with EWS here at 3Sharp; Paul's been presenting some developer training sessions on EWS in partnership with Microsoft. We've found that Inside Microsoft Exchange Server 2007 Web Services has been a valuable reference on EWS.

One of the challenges for EWS development is that the schema and object model is pretty complex when compared with the typical Web service, enough so that you need to use special Visual Studio proxy classes when you use .NET to work with EWS. This, by the way, is very likely the cause of the compatibility issue I found between EWS and SharePoint Designer -- Designer's proxy classes aren't the EWS-aware ones.

posted @ 6/16/2008 11:10 AM by Devin L. Ganger

Developing Workflows using Visual Studio 2008

Hi everyone, this is my first post. Microsoft has recently published a few Visual How To's that I wrote about developing Workflows in Visual Studio 2008:

Hope you find these articles useful in developing Workflows using Visual Studio 2008. Until next time, happy coding!

posted @ 6/13/2008 6:14 AM by Mike Rand