Thursday, February 05, 2009

SharePoint Conference Season Dates 2009

I thought I’d put this together just to see when (and where) everything is happening this year. I'm not sure what I’ll be going to, but it’s good to know the dates.

SharePoint Connections -- March 22-25 -- Orlando
SharePoint Summit -- April 6-8 -- Montreal
Microsoft TechEd -- May 11-15 -- LA
Microsoft Worldwide Partner Conference -- July 13–16 -- New Orleans
Microsoft SharePoint Conference -- October 19-22 -- Las Vegas
Microsoft TechDays in Halifax -- November 2-3 -- Halifax, Canada
TechEd Europe 2009 -- November 9-13 -- Berlin
SharePoint Connections -- November 9-12 -- Las Vegas
Microsoft PDC -- November 17-20 -- LA

Metalogix usually has a booth at most of these. This year, we'll have the added honour of showcasing our new Selective Restore Manager for SharePoint Backups.

Monday, January 05, 2009

compacting VPC free space

when one of my XP Virtual PC (VPC) images reached 17GB, I knew it was time to compress it. however, the main reason the virtual hard drive got so large was due to space that was now empty. to get the VPC to compress back down to just the space it was using, I found that I needed to follow the steps from a blog tip. after this process, my VPC went down to 7GB.

note: you'll need substantial free space on your host machine to complete this process. my 17GB hard drive needed 22GB of free space. the process also takes a long time--at least 2-3 hours in my case.

1) Inside the VM, run the special disk defragmenter that works on empty space
2) Inside the VM, run Virtual Disk Precompactor or other disk utility program to "zero out" deleted data (this comes as an ISO in the VPC additions folder)
3) Shutdown the VM, run "Virtual Disk Wizard" from the VPC console to compact the VHD.

here are the details:
instead of using the defragmenter comes with Windows, you should use the defrag tool created by Dave Whitney.

install the defrag tool:
- log in as a machine administrator (this is necessary to install the service).
- copy bootdfrg.exe to your windows\system32 directory.
- from a command prompt, navigate to the dir where you have the new derag tool and type: defrag -i
you should get back: "The Disk Defragmenter service was successfully installed."The service is now installed.
to uninstall, type: net stop defragsvc & defrag -u

run the defrag:
to run the tool on the C: drive type: defrag -d c

from MS support on the Virtual Disk Precompactor:
"Capture the .iso from (C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions\Virtual Disk Precompactor.iso). If your virtual machine is running when you capture Virtual Disk Precompactor.iso, Virtual Disk Precompactor starts automatically. If you click Yes when prompted, Virtual Disk Precompactor precompacts all virtual hard disks for this virtual machine. If Virtual Disk Precompactor does not start automatically, you can start it by navigating to the CD drive of the guest operating system and double-clicking Precompact.exe.

Alternatively, you can also run Virtual Disk Precompactor from the command line by navigating to the CD drive of the guest operating system and typing Precompact. The available parameters are:-Help - Displays help for the precompactor.-Silent - Runs the precompactor in unattended mode.-SetDisks - Specifies the disks to be precompacted. If this parameter isn't specified, then all virtual hard disks for this virtual machine are compacted. For example, the following command will precompact your C, D, and E drives in unattended mode: Precompact -Silent -SetDisks:CDE"

Virtual Disk Wizard:
the virtual disk wizard is an option in the VPC console. remember to shut down your VPC and then run this option. you should select "Compact existing virtual hard drive."

Sunday, December 28, 2008

kitten proof your Wii

I have previously written about the adventures of living with Luddite kittens. this Christmas presented a special challenge (pardon the pun). under the tree arrived a Wii for my wife and me. we opened the box and then shared a look of horror--the Wii comes with an LED sensor bar that's powered by a thin cable. we knew instantly that this cable would not last a day in the same household as our cats.

we have tried the usual precautions, but none have worked for our tag-team of furry felines. for example, duct tape with the sticky side out keeps Rory away, but Asha likes chewing on sticky things, so her gnawing exposes the wires for Rory. it's hard to believe that such adorable creatures could cause any trouble at all...


- Asha (the oldest)


- Rory (the baby of the family and the proud owner of razor sharp teeth)

and, of course, we got caught up in a rousing game of Wii tennis and took our eye off Rory for the few seconds she needed to make mince of the cable. after splicing it back together, I knew that it was time for some more precautions. we went to the hardware store and bought a healthy supply of Split Flex Tubing (about $12 for 20'). it's simply a flexible tube that we are putting around any cable that seems fine enough for Rory's taste--fortunately, she stays away from thicker cables.

in addition to the Wii's sensor cable (which we'll only use until we can get a wireless one), we've put the tubing around the thin part of the Wii power cable, the power cable for the Xbox 360 add-on fan, and the small cable that comes with the Xbox 360 wireless network adapter--the router has long since been moved into a cat-free room.


- the Wii power cable protected from harm


- the Xbox 360 wireless network cable with a protective cocoon

so far, I'm very happy with the tubing. I think it might save me from some ill will towards our pets. on that note, I'm currently reading Marley and Me, which I'm also hoping will put our cats in a positive light.

XML indentation not working

I'm using an XML file to store a configuration file for the Metalogix Batch Migration Utility. during a recent bug bash, I noticed that the config files were not being properly indented despite the fact that I was setting System.Xml.Formatting.Indented in my code.

// Create an XML writerSystem.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(1000);
System.IO.StringWriter stringWriter = new StringWriter(stringBuilder);
System.Xml.XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter);
xmlWriter.Formatting = System.Xml.Formatting.Indented;
xmlWriter.Indentation = 5; //optionally adjust the indentation
// Write out configuration settings
xmlWriter.WriteStartElement("Configuration");
xmlWriter.WriteRaw("" + txtDBFile.Text + "");

it turned out that the issue was simply that I was using xmlWriter.WriteRaw instead of xmlWriter.WriteElementString. the latter will respect System.Xml.Formatting.Indented and is cleaner code anyway.

to crush this bug, all I had to do was replace the last line (and other similar lines) with this:
xmlWriter.WriteElementString("DBFile", txtDBFile.Text);

Wednesday, December 10, 2008

.NET ComboBox shows data type

I've been using a data bound ComboBox in one of my apps, and I discovered that under certain conditions, the ComboBox would display "System.Data.DataRowView" instead of my values. in other words, it was showing the data type instead of my content.

in this case, I'm binding an XML file to a DataSet and then showing the content in a ComboBox (C#). the issue occurred when I had more than one child element in the XML.

this is my original (non-working) code (xmlQueries is a DataSet object):

xmlQueries.ReadXml(filePath);
comboBoxXpath.ValueMember = "XpathQuery";
comboBoxXpath.DisplayMember = "XpathQuery";
// Note: set the datasource after the properties
comboBoxXpath.DataSource = xmlQueries.Tables[0];

thankfully, the Visual Studio debugger showed me the light, it turned out that the DataSet column name was changing (to "XpathQuery_Text") when I had more that one value in my XML. the solution was to read the column name dynamically:

xmlQueries.ReadXml(filePath);
// Read column name dynamically
comboBoxXpath.ValueMember = xmlQueries.Tables[0].Columns[0].ToString();
comboBoxXpath.DisplayMember = xmlQueries.Tables[0].Columns[0].ToString();
// Note: set the datasource after the properties
comboBoxXpath.DataSource = xmlQueries.Tables[0];

Saturday, November 29, 2008

ElfYourself.com is back

for all you Elf Yourself fans, the site is back up. you can makes stills or animations with any faces you choose to upload.

my mom decided to elf our cats...

Monday, November 03, 2008

CRM Customization Option Gone

This is a frustrating issue and I haven't seen it discussed anywhere else, so I'll add this to the ether.

If you are using Microsoft Dynamics CRM 4 and the Outlook plug-in for CRM4, you may find that the "Customization" option in CRM will dissapear for no apparent reason. BTW --It can also affect other CRM options.

The problem seems to be a conflict between CRM and the Outlook plug-in, so if you launch CRM first, you will see the option, if you launch Outlook first, you will not. However, having said that, eventually the option will probably dissapear even if you start both apps in the right order.

Update: one of my colleagues has told me that using the fully qualified name of the CRM server will also help with this issue. so instead of http://machinename you would use http://machinename.domain to open CRM. I haven't tested this yet.

Wednesday, October 29, 2008

Barcelona TechEd EMEA 2008

I'm here in Barcelona for TechEd EMEA. I'll be helping with the Metalogix booth and looking forward to talking to customers and partners about a big announcement.

but first a bit of a look around the city and nearby attractions.


- the Barcelona Aquarium's shark tunnel



- the Montserrat monastery from the upper funicular station

Tuesday, September 30, 2008

Remove RSS feeds from Outlook

I ran into an issue where I was getting an error on send/receive: RSS feeds error "Object cannot be found." The offending feed had been removed from Outlook, but was somehow causing an issue.

To resolve these problems, you can backup your feeds, remove all of them, and then only add back what you want.

First back up your feeds. If you don’t want any of them, you don’t need to do this. To backup feeds, open Outlook and go to File > Import/Export > Export RSS Feeds to an OPML file.

Next, remove all feeds from Outlook and IE. Note that you've only backed up the Outlook feeds, so you'll have to make a note of the IE ones you want to get back (e.g., the URL to the feed).

1. To remove feeds from Outlook, go to Tools > Account Settings > RSS Feeds.
2. To remove feeds from IE (Tools > Toolbars > Favorites. then switch to the “Feeds” tab and remove the feeds you don’t want.
3. You may want to delete the folders that contain RSS posts that were already downloaded by Outlook, to do this, find the “RSS Feeds” folder in Outlook and delete the sub-folders you don’t want.

Once you have done this, you can add your feeds back by opening the OutlookRSSFeeds.opml file and taking out the ones you don’t need. Be sure you create a copy of your OPML backup files in case you make an error.

Sample Exported Feeds File:

<?xml version="1.0"?><opml version="1.0"> <head> <title>OPML exported from Outlook</title> <dateCreated>Wed, 1 Oct 2008 11:41:17 -0300</dateCreated> <dateModified>Wed, 1 Oct 2008 11:41:17 -0300</dateModified> </head> <body> <outline text="Metalogix Blog" type="rss" xmlUrl="http://blog.metalogix.net/?feed=rss2"/> <outline text="MSNBC.com: Top msnbc.com headlines" type="rss" xmlUrl="http://go.microsoft.com/fwlink/?LinkId=44406"/> </body></opml>

I only want the Metalogix feed, so I removed the other one (which was causing the error) and import teh file back into Outlook (File > Import/Export). This is what my altered OPML file looked like:

<?xml version="1.0"?><opml version="1.0"> <head> <title>OPML exported from Outlook</title> <dateCreated>Wed, 1 Oct 2008 11:41:17 -0300</dateCreated> <dateModified>Wed, 1 Oct 2008 11:41:17 -0300</dateModified> </head> <body> <outline text="Metalogix Blog" type="rss" xmlUrl="http://blog.metalogix.net/?feed=rss2"/> </body></opml>

Saturday, August 23, 2008

Augmented Reality in the Olympics

good to see that more great uses of Augmented Reality are being discovered. in the shot below, you can see Michael Phelps and company racing well ahead of the green AR world record line. football fans see this sort of technology every game, but now you can see it in swimming, javelin, and probably some other events that I haven't been fortunate enough to watch.


- click to view full size

as the US team turns, another AR element is added to show that they are leading. this one is a banner positioned and layered to appear as though it is floating on the water.


- click to view full size

Tuesday, July 22, 2008

XNA second edition

I'm happy to say that my next book project will be a second edition of the XNA Game Studio Creators Guide (McGraw-Hill) that I co-wrote with Pat McGee.

XNA has undergone some significant changes since our book came out, so we're working to update and improve the text. along those lines, we are lucky to have Nick Gravelyn (XNA MVP) doing the technical review.

if you have any suggestions, feel free to contact Pat or me.


- new second edition cover


- cover of the first edition

Friday, June 13, 2008

C# ListView empty after add

this was driving me mad, so I just have to write a post in the hope that someone will find it and not have to go through the head scratching I've experienced tonight.

I've been working on a utility for managing Metalogix batch files. these files store migration and copy operations from one SharePoint server to another.

as part of this app, I'm using a .NET ListView control to show the files. the control worked fine the first time I loaded data, but after it had been cleared once, it wouldn't work again. the ListView control showed nothing--no data, no columns, nothing...

it was actually the lack of columns that led me to the solution. it turns out that I had been a bit sloppy and used: ListView.Clear(); instead of ListView.Items.Clear();.

the ListView.Clear() method clears everything from the control--including the columns that I had created to hold my data. this isn't what I wanted. I meant to clear the items in the control. after doing this, I messed up the columns so that even though I was adding items with
ListView.Items.Add(ListItem), the control wouldn't show anything.

some tell-tale signs of this issue were that the ListView.Items.Count was not zero, but the control didn't display anything.

to help people find this, I'm going to add some text below.

ListView empty
ListView shows nothing
ListView displays nothing
ListView problem
ListView.Items.Add problem
ListView has no columns
ListView.Clear() removes columns

Sunday, May 25, 2008

SQL Server service won't start

this problem came up twice this week for two different reasons, so I thought I'd help anyone trying to Google the error message.

the first problem occured when I tried to install Business Contact Manager (BCM) for Outlook. when running the configuration wizard, I would get the error: "Unable to start service: MSSQL$MSSMLBIZ."

when I uninstalled Business Contact Manager for Outlook. it seems that removing the MSSMLBIZ database messed up SQL Server Express. when my machine started, I'd see the error: “SQLDUMPER library failed initialization. Your installation is either corrupt or has been tampered with. Please uninstall then re-run setup to correct to correct this problem.” to solve this issue, I had to re-install SQL Server Express and this required configuring the service again.

to resolve these issues, I changed the SQL Server (SQLEXPRESS) to run as a local account instead of a network account. to do this, go to Start > Settings > Control Panel > Administrative Tools > Services and find the service.


- click for full-size image

right-click the service, choose Properties and then switch to the Log On tab. once there simply change the "Log on as" option to a local administrator account. this allowed me to start the service, therefore allowing me to install BCM for Outlook and reinstall SQL Server Express.

Friday, May 16, 2008

favourite outlook 2007 feature

I just started using the new Outlook 2007 "Quick Parts" feature and I'm addicted. it's like autocorrect on steroids.

Quick Parts allow you to select anything in an e-mail and save it for later re-use. this is very handy when you are in a position where you frequently need to answer questions.

in this example, I am responding to a question about the log files for the Metalogix SharePoint migration solution called SharePoint Site Migration Manager. my Quick Part contains a text explanation, a screenshot and hyperlinks. soooooo nice.


- selecting a Quick Part to insert into the body of an e-mail. click for better view.

one caveat: when I opened my mailbox on a machine running Outlook 2003, my quick parts were lost.

Tuesday, April 15, 2008

ARTag SDK download

if you purchased the book you can download the Rev2K SDK for Windows, Linux, or MacOSX for free (for non-commercial private use that is) at the following link: http://www.artag.net/sdk_download/artag_sdk_download.php

there is Windows, Linux and OSX code in the SDK and there is more in the book specific download which is available from the AR book page on the pragmatic site: http://www.pragprog.com/titles/cfar (look for the "code" link)

Friday, March 14, 2008

Dal Water Polo Tournament

Dalhousie Water Polo Invitational Tournament

Come join the Dalhousie Water Polo Team @ Dalplex as we host our annual invitational tournament!

Start Time: Friday, March 14, 2008
End Time: Sunday, March 16, 2008
Location: Dalplex Pool, Halifax, NS

Saturday, March 08, 2008

SharePoint Upgrade with Metalogix

after exhibiting at the SharePoint 2008 Conference in Seattle, I came away reassured that the best SharePoint to SharePoint upgrade solution is Metalogix Site Migration Manager.

using Site Migration Manager, our customers are able to simply copy and paste from one SharePoint server to another. it's a user-friendly solution to something that has been traditionally in the hands of the IT department.


- Metalogix SharePoint Site Migration Manager (v. 3.5.4) (click for full size)

as you can see in the screenshot above, you easily open your source server in one pane (in this case SharePoint Portal Server 2003) and the target (MOSS 2007) in another. the content owners can then choose to migrate their content as it appears on the source server, or they can restructure/reorganize elements on the target.

when I attended the conference session about the out of box upgrade, the presenters made a point of stressing the value of a "clean" install. they made it clear that doing an upgrade with the out of box tools can have a significant negative impact on the performance of your server. with Site Migration Manager, you can use a completely new (read: better) server as your target.

Site Migration Manager offers all sorts of features that you won't find in the out of box upgrade. for example, you can merge lists, split lists, move sites, promote sites, and the list goes on (pardon the pun). elements can be copied at the item level, list, or the site level. in the new versions of Site Migration Manager, we have added even more support for site collections.

since 2001, Metalogix has offered best of breed migration solutions--the future is bright for Metalogix as the go to solution for SharePoint upgrade.

Thursday, March 06, 2008

SharePoint Conference 2008

as I sit in the Washington State Trade and Convention Center--waiting for my flight--I find that the obvious use of my time would be to create a blog post about the most successful SharePoint conference ever.


- the busy Metalogix booth

the company I recently joined, Metalogix Software, was there representing the best of breed software for migrating web content, files, and upgrading previous versions of SharePoint to Microsoft Office SharePoint Server (MOSS) 2007.

the conference was especially enjoyable for me since I haven't been to the SharePoint conference since I left the Microsoft SharePoint team in 2004. In fact, in 2004, I actually presented a talk at the conference about Microsoft Content Management Server (MCMS).


- the Washington Trade and Convention Center in Seattle

after writing for a few years (which prompted a couple of Microsoft people to comment that I had "disappeared") this show gave me a chance to catch up with some old friends, and make some new ones. most of my co-authors for the MCMS Complete Guide were there: Bill English and Todd Bleeker (co-owners of Mindsharp a high-profile SharePoint training group), and Shawn Shell (a principle with Consejo, Inc.) was also there. I also caught up with some of my former Microsoft team and some of the SharePoint MVPs.

I had a short chat with Lawrence Liu (the Social Computing Product Manager for MOSS). it's a really interesting area and it seems that SharePoint is only now getting recognition for the potential there. after collaborating with various individuals and groups (such as the Halo community) on book projects, I fully understand the value of enterprise social computing.

it was no surprise that the conference was popular; MOSS has grown by leaps and bounds over the last few years. what was somewhat surprising was just how crazy popular this show was. rumour has it that the 3900 attendee limit was (just slightly) bent to allow close to 5000 people to attend the conference.


- sold out indeed

and with that number of people, you know that there are a lot who need the SharePoint migration and upgrade solutions from Metalogix Software. my feet are still sore as I sit here, and my voice was hoarse after just one day of talking to the constant flow of SharePoint customers (and future SharePoint customers) who want to migrate to SharePoint or upgrade from an earlier version of Sharepoint (e.g., Windows SharePoint Services [WSS] or SharePoint Portal Server 2003 [SPS]).

but it wasn't all business. we had a great time at the official parties (such as a visit to Seattle's Museum of Flight and the Xbox game night with the Master Chief, see cheesy image below), and the not-so-official ones as well.


- the museum of flight's unique M-21 Blackbird.


- a daylight shot of the M-21 Blackbird taken by "innocent bystander"


- the museum of flight... enough said


- Xbox 360 game night. the pose was his idea. I have this same photo with Andre Arlovski--MC vs. Arlovski, now there's a match-up

Wednesday, February 27, 2008

interesting Augmented Reality

check out this video of the NTT DoCoMo U-Tsu-Shi-O-Mi robot. Augmented Reality (AR) is used to superimpose the avatar image on the robot skin.

"Japanese mobile phone operator NTT DoCoMo has released this video of their U-Tsu-Shi-O-Mi green skinned robot. When viewed through a head-mouned-display ..., a video avatar is overlaid and mapped to the robot so it looks like a real person from any angle."

Friday, February 22, 2008

MS SharePoint conference 2008

I'm happy to say that I'll be returning to my old stomping grounds. In March, I'll be attending the Microsoft SharePoint conference in Seattle, Washington. Not only a chance to visit an area where I used to live, but also a good excuse to visit some old friends.

Now that I work for Metalogix Software SharePoint is back in my daily routine. Writing books has been great--and I'll keep doing it--but connecting with live people every once in a while is also good. :)



SharePoint Products and Technologies
http://blogs.msdn.com/arpans
SharePoint Team Blog:
http://blogs.msdn.com/sharepoint