Showing posts with label CAML. Show all posts
Showing posts with label CAML. Show all posts

Thursday, March 3, 2011

CAML Query and User Groups – Membership

While creating a Timesheet webpart I needed to list a users tasks in a task list. The tip from Martin Hatch gave the basics. and the query executed fine in U2U CAML Query Builder (2007 version works fine for 2010)

<Where>
  <Or>
    <Eq>
      <FieldRef Name='AssignedTo' />
      <Value Type='UserMulti'>User Display Name</Value>
    </Eq>
    <Membership Type='CurrentUserGroups'>
      <FieldRef Name='AssignedTo' />
    </Membership>
  </Or>
</Where>


This query will return users in groups, and multiple users specified in the field:


Users and Groups


Note:



The Membership attribute checks current user, so do not run the query with elevated rights (SPSecurity.RunWithElevatedPrivileges(…)



Unless you assign tasks to your application pool the query will not return items based on group assignments

Monday, June 15, 2009

Do not forget the <Query> in your Queries

When programming using the SharePoint WebServices you often want to write a CAML query to select items from a list etc.

When developing using the SharePoint API you do not need to write the surrounding <Query> tags. But when you submit a query to a webservice ex: lists.asmx the tags must be present.

Without the query tags the response will contain a soap exception.

It took me a while figuring this out as I was copying some C# code from an evenhandler to select items, into a Delphi app consuming the Lists webservice.

query