#SP2013INFOWKND: Client-Side Object Model Changes in SharePoint 2013

If you don’t know, SharePoint has two frameworks for development, the server-side object model and the client-side object model (CSOM). The server-side object model is used to run code on the SharePoint server, for example if you develop web parts, workflows, taxonomies, and so on.

The client-side object model is used to develop code that runs outside of the SharePoint server, for example in applications you have on your desktop, mobile device, in an external web page, and so on. Technically, CSOM interacts with SharePoint through web services, and I’ll tell you why it’s important to know this in just a moment.

I’ve previously mentioned that Microsoft intends to attack the mobile market with full force, and an important aspect of that goal is an extended CSOM. But which areas will receive some much needed love from Redmond?

To understand this, I’ve investigated two main types of documents. The first type is the documents that describe the new CSOM features directly. The second type are the web services documents that describe which areas get new web services with which client developers can interact directly without necessarily going through CSOM.

CSOM Documents

The following new documents, their related overviews, and my comments, focus on CSOM directly (I’ve excluded modified documents):

Community CSOM Protocol

[MS-COMMCSOM]

This protocol defines types, methods, and properties that protocol clients use to communicate with and manipulate aspects of a community site or a personal site on a protocol server.

The set of types, properties, and methods provide the ability for remote clients to perform moderation tasks on a community site such as reporting content as inappropriate and dismissing the complaints by users that content is inappropriate. The set of types, properties, and methods also provide the ability for remote clients to work with lists on a user’s personal site.

B’s comment: This protocol seems related to both the communities of SharePoint Education and My Site in SharePoint Server. It is a very simple document, however, and seems to deal only with moderation of content and a method of finding documents shared with the current user.

SharePoint Client Query OData Protocol Specification

[MS-CSOMREST]

This protocol enables a protocol client to send an OData request to a protocol server using common web technologies when the protocol server implements SharePoint Client Query Protocol, [MS-CSOM].

This protocol defines a system for locating instances of types, calling methods that are defined by those types, and performing read/write operations for properties of those types. This protocol defines two roles: protocol client and protocol server. A protocol client initiates communication by generating an OData request. The protocol client then sends that OData request to the protocol server for processing. The protocol server locates the instances of types, performs action and then returns the OData response.

B’s comment: This document describes how clients can utilize REST and OData to manipulate data on a SharePoint server. OData is a protocol created by Microsoft specifically for this purpose and is a public protocol that can be utilized from many different client types and languages, including .NET, PHP, Java, Windows Phone, iPhone, and many more. REST is a method used to send an OData request to SharePoint and retrieve the results of queries.

Note: For more information on OData, see http://odata.org/

Document Management Client-Side Object Model Protocol Specification

[MS-DMCSOM]

This protocol defines types, methods, and properties that protocol clients use to access video data on a site on a protocol server. The set of types, properties, and methods provide the ability for remote clients to upload video, and view and update the embed code for a video container.

B’s comment: The name of this document confuses me, but it may simply be that this is an early version of the document. Contrary to its title, the document only deals with video uploads and configuration. Again this is a very simple and barely informative document.

eDiscovery Client -Side Object Model Protocol Specification

[MS-EDCSOM]

The eDiscovery Client-Side Object Model Protocol provides types, methods, and properties to enable a protocol client to perform operations to manage legal holds.

This protocol defines types, methods, and properties that a protocol client uses to manage a discovery case. For example, the protocol enables a protocol client to retrieve a discovery case from the protocol server, retrieve the associated discovery sources, and perform such operations as initiating a legal hold on those discovery sources.

B’s comment: This document describes an entirely new area for CSOM, namely eDiscovery. The document also reveals some new server features for eDiscovery, so if you’re into eDiscovery, you may want to check it out.

Education Client-Side Object Model Protocol Specification

[MS-EDUCSOM]

The Education Client-Side Object Model Protocol defines a set of education-specific types, properties, and methods to access and manipulate education data in academic-collaboration sites such as courses and study groups.

This protocol allows a protocol client to issue requests to perform operations on education entities such as education communities, lessons, assignments, and grades. The operations can include method calls, property read operations, and property write operations.

B’s comment: Yet another new feature of SharePoint 2013 CSOM (and of SharePoint 2013 in general). I’ve previously described SharePoint Education in detail, so I’ll refrain from further comment for now. See also the related Education Quiz Client-Side Object Model Protocol Specification next.

Education Quiz Client-Side Object Model Protocol Specification

[MS-QUIZCSOM]

The SharePoint Quiz Client-Side Object Model protocol defines a set of quiz-specific properties and methods to access and manipulate the quiz data in courses. A typical use for this protocol is a client application that allows users to take quiz on a specific device or platform and save user responses back to the server.

B’s comment: Closely related to SharePoint Education, the Quiz feature of SharePoint 2013 allows students to perform tasks such as write essays, fill-in-the-blank, and answer multiple-choice questions.

Enterprise Managed Metadata Client-Side Object Model Specification Protocol

[MS-EMMCSOM]

The Enterprise Managed Metadata Client-Side Object Model Protocol provides types, methods, and properties to enable a protocol client to create, read, update, and delete enterprise metadata on a collaboration server.

This protocol defines types, methods, and properties that a protocol client uses to access enterprise managed metadata in a term store on a protocol server. Some typical scenarios in which a protocol client could use this protocol are to retrieve terms, add terms, add term labels, or remove terms.

B’s comment: Yet more new features for CSOM in SharePoint 2013. CSOM for SharePoint 2013 now supports working with the managed metadata feature of SharePoint Server.

Publishing Client-Side Object Model Protocol Specification

[MS-PUBCSOM]

The Publishing Client-Side Object Model Protocol defines types, methods, and properties that a protocol client uses to manage publishing web sites on a protocol server, for example operations involving the navigation hierarchy or URLs.

This protocol defines types, methods, and properties that a protocol client uses to manage publishing web sites on a protocol server. For example, a protocol client can retrieve a tree of menu entries from the protocol server. The menu data could be used to provide custom rendering for various scenarios, such as custom menus for a mobile device. Also, a protocol client can update the managed navigation data on the protocol server. This enables a protocol client to modify URLs, the hierarchy, and other aspects of menu navigation.

B’s comment: This is for all you publishing fans out there, all four of you. For SharePoint 2013, you will at least get rudimentary access to publishing sites.

In addition to the above description, the Publishing CSOM also allows access to variation labels if you have multi-language web sites.

Of particular interest is the introduction of NavigationTermSet and several related objects, which may indicate that publishing sites will get a new option for metadata navigation similar to that of metadata navigation in collaboration sites. The aforementioned new document on SharePoint Education seems to support this as well, stating:

To help educators and students search content in an Academic Library, you may want to define categories in the Academic Library category term set. These categories provide a way for users to filter the display of the content on the site. Categories could be the various subjects offered by the education institutions or subjects within a single discipline of a curriculum, such as Algebra, Biology, and English; or Drama, Fiction, and Poetry.

The categories appear in a Quick Launch menu on the Academic Library Home page. When authors use the Publish page to publish documents to the Academic Library, they are required to select categories from this term set.

The final line connects the metadata navigation to the publishing of pages.

SharePoint Analytics Client-Side Object Model Protocol Specification

[MS-SPACSOM]

The SharePoint Analytics Client-Side Object Model Protocol provides types, methods, and properties to enable a protocol client to access usage information stored on a protocol server.

B’s comment: I’ve previously mentioned that I believe web analytics gets a major overhaul in SharePoint 2013. This document describes only a few components of analytics, but includes new features and hints about usability for App developers. Further, there is an opening for user-defined events, indicating that the web analytics feature may be extensible.

Regardless, access to analytics is a new ability in CSOM for SharePoint 2013.

SharePoint Workflow Client-Side Object Model Protocol Specification

[MS-SPWFCSOM]

The SharePoint Workflow Client-Side Object Model Protocol provides types, methods, and properties to enable a protocol client to manage and interact with workflow functionality on a collaboration server.

This protocol defines types, methods, and properties that protocol clients use to manage workflows on a site on a protocol server. The types, properties, and methods enable remote clients to manage workflow associations, to send workflow events, to control or to query workflow instances, and to manage workflow definitions and actions.

B’s comment: Now this is great news. CSOM in SharePoint 2013 will allow users to interact with workflows without having to go into a web page to do so. Further, there seems to be at least some features here for designing and deploying workflows too. Finally, there’s mention of something called a Workflow Subscription, but it’s not clear what this means. I’ll investigate further.

Search Client Query Protocol Specification

[MS-SRCHCSOM]

The Search Client Query Protocol provides types, methods, and properties to enable a protocol client to issue search queries against a protocol server hosting a search service application.

Typical scenarios for using this protocol include:

  • A protocol client issues a search query to the protocol server, and the protocol server responds with query results.
  • A protocol client issues a search query to the protocol server, and the protocol server responds with pre-query suggestions or post-query suggestions.
  • A protocol client notifies the protocol server of errors encountered on the protocol client and timing of protocol client processing stages. The protocol server records these errors and time intervals for logging

B’s comment: I’ve previously mentioned that CSOM for SharePoint 2013 will grant access to search functionality, and this document describes the methods for doing so. The document also describes searching through REST, full-text queries, keyword queries, refinements (or facets), recommendations, and so on.

Translation Services Client-Side Object Model Protocol Specification

[MS-TSCSOM]

The Translation Services Client-Side Object Model Protocol enables protocol clients to perform machine translation of documents. Clients can request that documents be translated and view the status of translations.

Clients can add documents to a queue of documents to be translated. Clients can query the status of documents in the queue. Alternatively, clients can request that a document be translated immediately, bypassing the queue for high priority jobs.

B’s comment: Again, a new feature, both of SharePoint 2013 and obviously of CSOM. SharePoint 2013 now seems to allow machine translations of documents, similar to that which Google and Bing Translate provide. It also seems that this translation happens on the SharePoint server itself.

This entire feature is on my to-do list of research so expect more details in upcoming issues.

Work Management Client-Side Object Model Protocol Specification

[MS-WMCSOM]

The Work Management Client-Side Object Model Protocol defines types, methods, and properties that protocol clients use to access and manipulate tasks assigned to a user on a protocol server that proxies to a Work Management service application.

Some typical scenarios in which a protocol client could use this protocol are: retrieving a user’s task list, updating a task, and changing the order of tasks.

B’s comment: A final new feature that I’ve also previously mentioned. SharePoint 2013 will include a new component designed to help users manage tasks, called the Work Management Service. This service allows users, as the description says, to manage their work and tasks.

 

Note: This article is part of the SharePoint 2013 Information Weekend, so it is shorter than regular articles. Check back with my blog or follow me @furuknap during the weekend of July 13-15 2012 for lots of SharePoint 2013 information

Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It

Published by

Bjørn Furuknap

I previously did SharePoint. These days, I try new things to see where I can find the passion. If you have great ideas, cool projects, or is in general an awesome person, get in touch and we might find out together.

2 thoughts on “#SP2013INFOWKND: Client-Side Object Model Changes in SharePoint 2013”

  1. Wow, great post! Just the number of client protocols is impressive – Microsoft is definitely making client side programming a priority. Any news on how a new version of SharePoint Designer might support this?? Love this weekend on vNext posts!

  2. Pingback: Sharepoint 2013 / 15 - highlights | SharePoint - How to

Leave a Reply

Your email address will not be published.