Rules to Better SharePoint Development

Microsoft Gold Partner Logo
Search Go Search
Rule #10
Do you know to do data you need CAML?
  v3.0 Posted at 20/10/2010 7:56 PM by system
CAML is the XML definition for all things in SharePoint, in deployment, and in creating templates, CAML is the only format.

In SharePoint development, you will also need to know CAML, in particular, how to write a query in CAML.

  •  Widely used in Content Query Web Parts
  • Also used in SharePoint content reports
  • In code, used by SPSiteDataQuery object

 

<Query>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
</OrderBy>
<Where>
<And>
<Neq>
<FieldRef Name="Status"></FieldRef>
<Value Type="Text">Completed</Value>
</Neq>
<IsNull>
<FieldRef Name="Sent"></FieldRef>
</IsNull>
</And>
</Where>
</Query>
Figure: Example of CAML query 

You can see - CAML is essentially the same as SQL WHERE syntax, but wrapped in an XML format.

Problems with CAML:

  1. CAML is XML and is case sensitive – including attributes names. 
    <Query>
    <Where>
    <Or>
    <Eq>
    <FieldRef name="Status" />
    <Value Type="Text">Completed</Value>
    </Eq>
    <IsNull>
    <FieldRef Name="Status" />
    </IsNull>
    </Or>
    </Where>
    </Query>
         Figure: Example of CAML query 
  2. SharePoint is not good at telling you if you made a mistake with your CAML query.
         Figure: Debug error message
  3. Hard to debug.
    Tips: Use 3rd Party tools - U2U CAML Query Builder
         Figure: U2U CAML Query Builder
         Note: U2U CAML Builder is the best tool that we have. There are some occasional UI and interface issues, but for creating CAML and testing it against live SharePoint lists it gets the job done. And it’s FREE!

 

 

 

Loading
Do you like this rule?
Loading
Do you follow this rule?
Loading

......