re: Dell Newsletter

After reading yet another Dell monthly newsletter, I decided to reply to it.  I figure it’s rant-worthy.

Hi Mr Dell,

When I purchased my laptop, I was after a couple of spare 9-cell battery for longer battery life, and I was told it was out of stock, which is fair enough – these things go out of stock from time to time.

I specifically left instructions that when they are in stock, I would like to be notified.

Because I _really_ want them.

It has since been 6 months, and I find it hard to believe that they are still out of stock.

I think it’s good customer relationship management to:

1. give me an update on what's going on

2. you may need to fix your CRM software, because I think these are simple instructions that should have been followed up on at least every 3 months - especially since the customer is already telling you he wants to spend the money

3. you should already know which laptop model that I bought from you, and that which I've specifically told the sales girl to put down a note that I want the better batteries for this laptop.

jliu

SharePoint - Cannot get ghost document

We chased a fun bug in the afternoon after we deployed our new package to our staging server.

Symptom:

Our customized Content Query Web Parts stops rendering.
But we noticed they were still functioning when we drop into edit mode.

Hint:

This gave us the hint that our XSL was probably stuffed – but it checked out ok in SharePoint designer*.

Detective Work:

Digging through the SharePoint logs, we came across two lines that are incredibly suspicious:

0x17C4    Windows SharePoint Services       Web Parts                         89a1    Monitorable    Error while executing web part: System.Xml.Xsl.XslLoadException: XSLT compile error. An error occurred at (1,482). ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.     at System.Net.HttpWebRequest.GetResponse()     at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials)     at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials)     at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)     at Microsoft.SharePoint.WebPartPages.WSSXmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)     at System.Xml.Xsl.Xslt.XsltLoader.CreateReader(Uri uri, XmlResolver xmlResolver)     at System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(Uri uri, Boolean include...    

0x17C4    Windows SharePoint Services       General                           72ks    Medium      Cannot get ghost document:

Features\blah\blah.xsl    

Story:

The path to the XSL was familiar, and the problem immediately became apparent.  It was the old path, we’ve since re-organized our deployment package, and that old path to the xsl file no longer works.

The Fix:

Drop into Style Library\ and delete all the XSL files that are ghosted.
Deactivate and reactivate the XSL feature so they get re-ghosted.

Notes:

SharePoint designer must have cached the file at some point, so it was happily showing us a copy of the file while in reality due to our re-organization of the feature it wasn’t actually available anymore.

Re-organizing feature package always has hidden costs…

SharePoint – for those times when you really got to kill a list

This is a simple tip

So the list template stuffed up a list and you can’t get to it in “site library and lists”

The backdoor way to remove the list is:

stsadm -o forcedeletelist -url http://server/Lists/list-name

http://technet.microsoft.com/en-us/library/cc262609.aspx

The new flood of stuff coming out of Windows Live are really nice

I do have FriendFeed, but I think too little people know about FriendFeed (http://friendfeed.com/johnnliu) - but it's a very techy solution.  I think Windows Live's offerings will reach more people quicker.

Anyway,

It's already hooked to to my blog, MSN messenger

I've got 2 web activities enabled:

Flickr
Twitter

still waiting for a few more web activities to become enabled:

digg
youtube
facebook

Theoretically I can just use the RSS feed from these, but I want to see what additional features I get for 'integration'.

Also, when people comment on my windows live feed, I'd like to see it in MSN messenger.

Anyway, waiting :)

SharePoint - ContentQueryWebPart, CommonViewFields and Multi-value choices

When you add a choice or lookup to the CommonViewField for a ContentQueryWebPart, if you had ticked the allow multiple-values checkbox, the CQWP will return you nothing.

Couple of people blogged about this:

http://sridharu.blogspot.com/2008/05/content-query-webpart-customization.html

http://blogs.msdn.com/ecm/archive/2006/10/25/configuring-and-customizing-the-content-query-web-part.aspx

Adri Verlaan [MSFT] even says:

Unfortunatly the data source that the CQWP uses does not support Mutli-Valued Lookups or Multi-Choice columns.

 

Turns out after a bit more digging around, you _can_ use multi-value choices.  To get multi-value choices to work, you need to use a different type:

Instead of Choice, use MultiChoice

<property name="CommonViewFields" type="string">MyDescription,PublishingHtml;MyTags,MultiChoice</property>

I have not had much luck with Multi-lookup and I suspect there might be some truth in what Adri was referring to.  If I consider how SharePoint might have to work with a field that contains multiple keys to a different lookup list, this problem becomes far more complex.

Anyway, at least it works for choice.

Have fun!

jliu