SharePoint and CSOM – Get an application running on SP2007 to access content and managed metadata on SP2013 using CSOM

Please don’t ask why, only know that it had to be done. The requirement was to copy documents in a library in SP2013 to another library in SP2007. This is made easier by using CSOM, but getting the right libraries can be a little tricky. I also needed to access managed metadata values, which SP2007 is like “meta-whata-now?” about.

I found that I needed to use the Microsoft.SharePoint.Client libraries from SP2010, as I was developing on the SP2007 dev box. This is because the 2013 DLLs require .NET 4.0, and 2007 uses 3.5.

So I had to:

  1. Create a new folder on your 2007 server/dev environment in C:\Program Files\Common Files\microsoft shared\Web Server Extensions\. You should already see a folder in there called “12”. Create a new one called “14”.
  2. In “14”, create another folder called “ISAPI”. This mirrors the folder structure of 2010. It’s not strictly necessary but it keeps things organised and clear.
  3. On your 2010 server (you have one, right? If not, you’ll need to find these from somewhere,) copy the client DLLs you’ll need. To do my task, I needed the following:
    1. Microsoft.SharePoint.Client
    2. Microsoft.SharePoint.Client.Runtime
    3. Microsoft.Office.Server
    4. Microsoft.SharePoint.Taxonomy
  4. If you find you need to use other libraries from 2010, add them to this same folder.
  5. In Visual Studio, add references in your project to the DLLs  in the new “14” folder.
  6. For the core Microsoft.SharePoint DLL, reference the DLL in the “12” folder.
  7. Keep to the DLLs in the 12 folder wherever possible.

That was the start of my fun crossing-the-streams adventure. I used the above to create a console app that scans given libraries by name, for tagged documents to “publish”, copying some of their managed metadata. I used a couple of good resources, which I’ll link to in the next post regarding this subject.


SharePoint and CSOM – Useful links

It’s been a busy couple of weeks, with my head down working on some SharePoint madness which will form at least a couple of articles to come. It involved getting SP2007 to talk to SP2013, by way of the SP2010 client dlls. It’s been as fun as it sounds

I’ve had to some serious Googling, which has generally been my friend . SO here is another list of links that I’ve found invaluable and will be returning to again and again.

Complete basic operations using SharePoint 2013 client library code

SharePoint 2010 – Using the Client Object Model (good CAML resources)

SharePoint 2010 – How to retrieve list items using the COM

CAML queries and the Client Object Model (this is a really excellent resource!)

Filtering by SharePoint repeating data in your InfoPath 2013 list item form

That was a tortuous post title! Another post to help me remember.

I created an InfoPath 2013 form to add a new list item. One of the fields was a lookup field using a column from another list.

The lookup field was a Person field, which in InfoPath looks like repeating data.

I needed the dropdown list to show values where there was nothing in this Person field. It took me a bit of messing about to get it right.

Filtering with repeating data

Filtering with repeating data

The trick is to filter on the group. In my instance, I needed to show all entries where there was nothing in the User field for that list item.

The logic required was “All occurrences of Person are blank”, on the List Item row.

Hope this helps someone…

Why isn’t my SharePoint Search working?

This is the first in an occasional series, where I try to record all the times I’ve been close to tears of rage with SharePoint search.

In the first post, I’ll start with the very first thing to check if you find your changes haven’t taken effect.

Are you in the right place?

Site Search? Site Collection Search? Search Centre? Search administration?

Site Search? Site Collection Search? Search Centre? Search administration?

There are 4 different places where you can change Search settings.

1. Site Search settings

2. Site collection settings

3. Search Centre settings

4. Search administration

Do double check that the change you made, has been made in the right settings section. For instance, if you use a search centre, rather than a search results page within your site, make sure you make your changes to display templates, etc, in the settings for the Search Centre site and not in the source site’s settings.

This one has caught me out more times than it should have!