Windows Sharepoint Services Collaborative Application Protocol

[MS-WSSCAP]:

Windows SharePoint Services Collaborative Application Protocol

Intellectual Property Rights Notice for Open Specifications Documentation

§  Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies.

§  Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL's, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications.

§  No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

§  Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft Open Specification Promise or the Community Promise. If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting .

§  Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit www.microsoft.com/trademarks.

§  Fictitious Names. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred.

Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than specifically described above, whether by implication, estoppel, or otherwise.

Tools. The Open Specifications do not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments you are free to take advantage of them. Certain Open Specifications are intended for use in conjunction with publicly available standard specifications and network programming art, and assumes that the reader either is familiar with the aforementioned material or has immediate access to it.

Revision Summary

Date / Revision History / Revision Class / Comments /
4/4/2008 / 0.1 / Initial Availability
4/25/2008 / 0.2 / Editorial / Revised and edited the technical content
6/27/2008 / 1.0 / Major / Revised and edited the technical content
10/6/2008 / 1.01 / Editorial / Revised and edited the technical content
12/12/2008 / 1.02 / Editorial / Revised and edited the technical content
7/13/2009 / 1.03 / Major / Changes made for template compliance
8/28/2009 / 1.04 / Editorial / Revised and edited the technical content
11/6/2009 / 1.05 / Editorial / Revised and edited the technical content
2/19/2010 / 2.0 / Major / Updated and revised the technical content
3/31/2010 / 2.01 / Editorial / Revised and edited the technical content
4/30/2010 / 2.02 / Editorial / Revised and edited the technical content
6/7/2010 / 2.03 / Editorial / Revised and edited the technical content
6/29/2010 / 2.04 / Editorial / Changed language and formatting in the technical content.
7/23/2010 / 2.04 / No Change / No changes to the meaning, language, or formatting of the technical content.
9/27/2010 / 2.04 / No Change / No changes to the meaning, language, or formatting of the technical content.
11/15/2010 / 2.04 / No Change / No changes to the meaning, language, or formatting of the technical content.
12/17/2010 / 2.04 / No Change / No changes to the meaning, language, or formatting of the technical content.
3/18/2011 / 2.04 / No Change / No changes to the meaning, language, or formatting of the technical content.
6/10/2011 / 2.04 / No Change / No changes to the meaning, language, or formatting of the technical content.
1/20/2012 / 3.0 / Major / Significantly changed the technical content.
4/11/2012 / 3.0 / No Change / No changes to the meaning, language, or formatting of the technical content.
7/16/2012 / 3.0.1 / Editorial / Changed language and formatting in the technical content.
9/12/2012 / 3.0.1 / No Change / No changes to the meaning, language, or formatting of the technical content.
10/8/2012 / 4.0 / Major / Significantly changed the technical content.
2/11/2013 / 4.1 / Minor / Clarified the meaning of the technical content.
7/30/2013 / 4.1 / No Change / No changes to the meaning, language, or formatting of the technical content.
11/18/2013 / 4.1 / No Change / No changes to the meaning, language, or formatting of the technical content.
2/10/2014 / 4.1 / No Change / No changes to the meaning, language, or formatting of the technical content.
4/30/2014 / 4.2 / Minor / Clarified the meaning of the technical content.
7/31/2014 / 4.3 / Minor / Clarified the meaning of the technical content.
10/30/2014 / 4.4 / Minor / Clarified the meaning of the technical content.
6/30/2015 / 5.0 / Major / Significantly changed the technical content.

Table of Contents

1 Introduction 7

1.1 Glossary 7

1.2 References 11

1.2.1 Normative References 11

1.2.2 Informative References 12

1.3 Overview 12

1.3.1 List Management 12

1.3.2 List View Management 12

1.3.3 Web Discussions 13

1.4 Relationship to Other Protocols 13

1.5 Prerequisites/Preconditions 13

1.6 Applicability Statement 13

1.7 Versioning and Capability Negotiation 13

1.8 Vendor-Extensible Fields 13

1.9 Standards Assignments 13

2 Messages 14

2.1 Transport 14

2.2 Common Message Syntax 14

2.2.1 Namespaces 14

2.2.2 Messages 14

2.2.3 Elements 14

2.2.3.1 Batch 15

2.2.3.2 Method 15

2.2.3.3 Result 16

2.2.3.4 WECFileList 16

2.2.4 Complex Types 17

2.2.4.1 Method Xml Fragment 17

2.2.5 Simple Types 17

2.2.5.1 OnErrorEnum 18

2.2.6 Attributes 18

2.2.7 Groups 18

2.2.8 Attribute Groups 18

2.2.9 Common Data Structures 18

2.2.9.1 Binary Structure 18

2.2.9.1.1 Usage Data Binary Field Structure 18

2.2.9.1.1.1 Usage Data Header Structure 19

2.2.9.1.1.2 Usage Record Structure 21

3 Protocol Details 22

3.1 WSSCAP Server Details 22

3.1.1 Abstract Data Model 22

3.1.1.1 List 22

3.1.1.2 View 22

3.1.1.3 List Item 22

3.1.1.4 Web Discussions 23

3.1.2 Timers 23

3.1.3 Initialization 23

3.1.4 Message Processing Events and Sequencing Rules 23

3.1.4.1 Cltreq 24

3.1.4.1.1 Common Response Header 25

3.1.4.1.2 OWSCA Structure 25

3.1.4.1.3 Actions 26

3.1.4.1.3.1 ENUMTHREADSFROMURL 26

3.1.4.1.3.1.1 Web Discussion Comment Info 27

3.1.4.1.3.2 ADDCOMMENT 28

3.1.4.1.3.3 EDITCOMMENT 29

3.1.4.1.3.4 REMOVECOMMENT 29

3.1.4.1.3.5 GETCAPABILITY 29

3.1.4.1.3.6 CLOSECOMMENT 30

3.1.4.1.3.7 CLOSETHREAD 30

3.1.4.1.3.8 ACTIVATECOMMENT 30

3.1.4.1.4 Return Values 31

3.1.4.2 Delete 31

3.1.4.2.1 Return Values 31

3.1.4.3 DeleteField 32

3.1.4.3.1 Return Values 32

3.1.4.4 DeleteList 32

3.1.4.4.1 Return Values 33

3.1.4.5 DeleteView 33

3.1.4.5.1 Return Values 33

3.1.4.6 DialogView 34

3.1.4.6.1 Return Values 34

3.1.4.7 Display 35

3.1.4.7.1 IQY sample output 36

3.1.4.7.2 The Using Parameter 36

3.1.4.7.3 The XMLDATA Parameter 36

3.1.4.7.4 Return Values 36

3.1.4.8 DisplayPost 37

3.1.4.8.1 Return Values 38

3.1.4.9 ExportList 39

3.1.4.9.1 Return Values 40

3.1.4.10 GetProjSchema 40

3.1.4.10.1 Return Values 41

3.1.4.11 GetUsageBlob 41

3.1.4.11.1 Return Values 41

3.1.4.12 HitCounter 42

3.1.4.12.1 Return Values 42

3.1.4.13 ModListSettings 42

3.1.4.13.1 Return Values 47

3.1.4.14 MtgKeep 47

3.1.4.14.1 Return Values 47

3.1.4.15 MtgMove 48

3.1.4.15.1 Return Values 48

3.1.4.16 NewField 49

3.1.4.16.1 Return Values 49

3.1.4.17 NewList 50

3.1.4.17.1 Return Values 52

3.1.4.18 NewView 52

3.1.4.18.1 Return Values 58

3.1.4.19 NewViewPage 58

3.1.4.19.1 Return Values 59

3.1.4.20 NewWebPage 59

3.1.4.20.1 Return Values 60

3.1.4.21 RenderView 60

3.1.4.21.1 Return Values 61

3.1.4.22 ReorderFields 61

3.1.4.22.1 Return Values 62

3.1.4.23 SiteProvision 62

3.1.4.23.1 Return Values 62

3.1.4.24 UpdateProject 63

3.1.4.24.1 Return Values 63

3.1.4.25 UpdateView 64

3.1.4.25.1 Return Values 70

3.1.5 Timer Events 70

3.1.6 Other Local Events 70

4 Protocol Examples 71

4.1 Create a New List 71

4.2 Delete a List 71

4.3 Add a Field to a List 71

4.4 Delete a Field from a List 71

4.5 Reorder Fields in a List 71

4.6 Modify Properties of a List 72

4.7 Delete a View of a List 73

4.8 Create a New View of a List 73

4.9 Update an Existing View of a List 73

4.10 Method XML Fragment 73

5 Security 75

5.1 Security Considerations for Implementers 75

5.2 Index of Security Parameters 75

6 Appendix A: Full WSDL 76

7 Appendix B: Product Behavior 77

8 Change Tracking 79

9 Index 81

1  Introduction

The Windows SharePoint Services Collaborative Application Protocol enables a protocol client to retrieve and manipulate various types of content on a protocol server.

Sections 1.8, 2, and 3 of this specification are normative and can contain the terms MAY, SHOULD, MUST, MUST NOT, and SHOULD NOT as defined in [RFC2119]. Sections 1.5 and 1.9 are also normative but do not contain those terms. All other sections and examples in this specification are informative.

1.1  Glossary

The following terms are specific to this document:

absolute URL: The full Internet address of a page or other World Wide Web resource. The absolute URL includes a protocol, such as "http," a network location, and an optional path and file name — for example, http://www.treyresearch.net/.

base view identifier: An integer that uniquely identifies a view definition for a list.

basic page: A Web Parts Page that contains only one Web Part zone and, by default, a Content Editor Web Part.

Boolean: An operation or expression that can be evaluated only as either true or false.

Collaborative Application Markup Language (CAML): An XML-based language that is used to describe various elements, such as queries and views, in sites that are based on SharePoint Products and Technologies.

content type: A named and uniquely identifiable collection of settings and fields that store metadata for individual items in a SharePoint list. One or more content types can be associated with a list, which restricts the contents to items of those types.

content type identifier: A unique identifier that is assigned to a content type.

current user: The user who is authenticated during processing operations on a front-end web server or a back-end database server.

data source: A database, web service, disk, file, or other collection of information from which data is queried or submitted. Supported data sources vary based on application and data provider.

default form: The form that appears when users create, edit, or display an item in a SharePoint list. A SharePoint list can have an arbitrary number of forms, each of which is either a new, edit, or display form. Setting the default form for that form type causes the New, Edit, or View command to link to that form.

default list view: The view of a SharePoint list that the owner of the list selected to appear when users browse to the list without specifying a view.

default view: The layout and organization of a document or list that appears automatically when users open that document or display that list.

discussion bookmark: A data structure that is used to store the location of a comment in a web discussion about specific text in a document or on a webpage. See also web discussion.

display form: A form that is used to display a list item.

display name: A text string that is used to identify a principal or other object in the user interface. Also referred to as title.

document: An object in a content database such as a file, folder, list, or site. Each object is identified by a URI.

document library: A type of list that is a container for documents and folders.

document template: A file that contains predefined formatting, layout, text, or graphics and that serves as the basis for new documents with a similar design or purpose.

edit form: A form that enables users to edit a list item.

Entity: A type of DataClass that represents a type of business data object that is stored in a line-of-business (LOB) system and whose instances have a persistent EntityInstanceId.

field: (1) An element or attribute (1) in a data source that can contain data.

(2) A container for metadata within a SharePoint list and associated list items.

file: A single, discrete unit of content.

FilterDescriptor: A type of MetadataObject that describes a normalized way of gathering input from users. A FilterDescriptor is defined by its type and the Method that contains it.

Finder: A type of MethodInstance that can be called to return a collection of zero or more EntityInstances of a specific Entity. Finder input is defined by the FilterDescriptors that are contained in the Method that contains the Finder.

folder: A file system construct. File systems organize a volume's data by providing a hierarchy of objects, which are referred to as folders or directories, that contain files and can also contain other folders.

front-end web server: A server that hosts webpages, performs processing tasks, and accepts requests from protocol clients and sends them to the appropriate back-end server for further processing.

full-text index catalog: A collection of full-text index components and other files that are organized in a specific directory structure and contain the data that is needed to perform queries.

globally unique identifier (GUID): A term used interchangeably with universally unique identifier (UUID) in Microsoft protocol technical documents (TDs). Interchanging the usage of these terms does not imply or require a specific algorithm or mechanism to generate the value. Specifically, the use of this term does not imply or require that the algorithms described in [RFC4122] or [C706] must be used for generating the GUID. See also universally unique identifier (UUID).

home page: On the World Wide Web, a document that serves as a starting point for a set of webpages and other files in a website.