One of the original drawbacks with the prior
implementation of the Client-Side Object Model was its lack of coverage
for SharePoint APIs and access to functionality. In the past the CSOM
was limited to mostly site, Web, and list operations as part of
SharePoint Foundation.
SharePoint 2013’s implementation of the CSOM
significantly builds on the coverage of functionality available. It has
now expanded to cover most of the surface area of SharePoint Server,
not just SharePoint Foundation.
The CSOM is split into a number of different DLLs
and namespaces based on functional areas they cater to, which are
outlined for you in the following lists. Because the API coverage is so
vast in 2013, these lists are only a summary of the most important and
widely used areas. They are not exhaustive so you should check MSDN for
full reference documentation. Discussing every area of the CSOM would
be a whole book on its own so this section is designed to point you in
the right area of the CSOM to look for the functionality you desire, as
opposed to showing you examples of every area included.
Core
functionality contains all the base-level CSOM functionality that you
need for working with sites and data. These classes are included in Microsoft.SharePoint.Client.dll:
- Administration
- Event receivers
- Sharing
- Web Parts
- Analytics
- Business Data Catalog (BDC)
- Apps
- Lists
- Site
- Web
- User
- Site health
Content
contains APIs for working with SharePoint’s vast document management
features such as Document Sets. These build on the foundation provided
by the list and file classes with the features found in SharePoint
Server Standard and Enterprise. Significant new features in 2013
surface in these classes with new APIs for managing metadata-driven
navigation, video, and legal discovery features. These are included in Microsoft.SharePoint.Client.Publishing.dll, Microsoft.SharePoint.Client.DocumentManagement.dll, Microsoft.SharePoint.Client.Taxonomy.dll, and Microsoft.Office.Client.Policy.dll:
- Document management
- Discovery
- Document Sets
- Information policy
- Publishing
- Publishing navigation
- Taxonomy
- Video
User Profiles
provide access to do things such as read and write to the microfeed on
people’s My Sites, access and update user profile information, and work
with social data such as whom people follow and what they like. These
classes are included in Microsoft.SharePoint.Client.UserProfiles.dll:
- Social
- User profiles
- Microfeed
- Reputation model
Search enables
you to search and find information and documents in the search index.
This is a great way to make fast queries for information in lieu of
creating queries over lists and libraries in sites. The Query class can
be found in Microsoft.SharePoint.Client.Search.dll.
Workflow
classes let you find, start, create, and query for the status of
workflows running in SharePoint. The Workflow Services classes are
included in Microsoft.SharePoint.Client.WorkflowServices.dll.
Work Management
in SharePoint 2013 offers enhanced capabilities for managing work in
teams with features such as task lists and tracking. These classes are
included in Microsoft.SharePoint.WorkManagement.Client.dll:
Application Services
is where services with APIs surface in the CSOM. A new service API in
2013 is the ability to submit jobs for automated translation. The
Translation classes can be found in Microsoft.Office.Client.TranslationServices.dll.
Education
in SharePoint 2013 adds site templates and features for managing
classes in an education environment. These APIs let you manage things
such as classes, lessons, assignments, communities, events, and grades.
Education-related classes can be found in Microsoft.Office.Client.Education.dll.