SP 2010 CQWP, Document Libraries and Anonymous Users

Important update:  Waldek Mastykarz has posted a workaround here: http://blog.mastykarz.nl/inconvenient-sharepoint-2010-content-query-web-part-anonymous-access/.
</end update>

This week, my team and I were upgrading a customer’s public internet site from MOSS to SP 2010.  The MOSS site uses the CQWP in several places.

We went through a very detailed procedure to ensure accuracy, quality and all that good stuff.  Despite that, we ran into a problem in the 11th hour that we didn’t expect or uncover until very late.  Specifically, our CQWP wouldn’t render for anonymous users.  It rendered find for the authors (who were logged in), but it wouldn’t show the content for anonymous users.

We did a lot of research and these are the parameters and actions we took to isolate the behavior:

  • CQWP would render fine when it was pulling content from a custom list.
  • CQWP would render content from the /Pages library.
  • It would not render content from /SiteCollectionImages
  • We created a new document library and uploaded a few docs to it.  We did not add any content types to the library – this was a simple out of the box doc lib with no customization.  Existing CQWP could not read from it.
  • We created a new page and added a CQWP to it using all default values.  it would not render for anonymous.
  • We (somewhat hastily) set up a new SP 2010 environment, straight out of the box again and replicated this behavior.

Bottom line, it appears that CQWP in SP2010 can’t render content for anonymous users when the data source is a document library.  Can this be true?

This is the error that we saw in the logs:

Web Part title: Content Query Web Part 653d91fb-2f83-4e6a-83af-1f39e8939f0a
07/30/2010 12:03:56.90  w3wp.exe (0x0F30)                        0x1540 SharePoint Foundation          Web Parts                      89a1 High     Error while executing web part: System.NullReferenceException: Object reference not set to an instance of an object.     at Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart.SetDocumentIconUrlAndOnClickString(SPWeb web, DataRow row, String strDefaultItemOpen, Boolean fSetDocIcon, Boolean fSetOnClick, String fileRefColumnRef, String progIdColumnRef, String fsobjTypeColumnRef, String permMaskColumnRef)     at Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart.PreProcessForDocumentIconAndOnClickAttribute()     at Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart.AddContentQueryData()     at Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart.GetXPathNavigator(String viewPath)     at Microsoft.SharePoint.WebPartPages.DataFormWebPart…. 653d91fb-2f83-4e6a-83af-1f39e8939f0a

It just seems kind of impossible that CQWP wouldn’t work for anonymous users.  If you know any more about this, please post a comment.


Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

7 thoughts on “SP 2010 CQWP, Document Libraries and Anonymous Users

  1. Pingback: Tweets that mention SP 2010 CQWP, Document Libraries and Anonymous Users « Paul Galvin's SharePoint Space -- Topsy.com

  2. Pingback: Inconvenient SharePoint 2010 Content Query Web Part and Anonymous Access - Waldek Mastykarz

  3. Dennis

    Just because I didnt see any links postet here yet, a few pointers:


    A few workarounds, but there apparently is no FIX for this problem. The CQWP just doesnt work anonymously i suppose…

  4. Etienne

    Did you ever find out more about this issue?

    I am having the same problem. Site going live soon and I’ve discovered that CQWP don’t show content from the Pages library when not logged in. I have triple checked that all pages are checked-in and published.

  5. GavinB

    I just ran into this problem, however I also have a case of it working when querying for videos 😐

    If I find out more I’ll report back


Leave a Reply

Your email address will not be published. Required fields are marked *