Grooper.Cloud.SharePoint

Defines a connection to Microsoft SharePoint. Provides access to content stored in SharePoint Document Libraries and Picture Libraries. Connectivity is via the SharePoint REST API, which is compatible with both online and on-premises SharePoint deployments. Supported SharePoint versions include SharePoint 2013 or higher. Note that For SharePoint 2013, connections must be made to the root site - connecting directly to a subsite is not supported.

Search Functions

Metadata Search - Metadata elements can include standard properties on Documents such as Created By and Content Stream Length. They can also include custom properties that are defined on a CMIS Content Type such as PO Number or Invoice Amount. These elements can be easily included in queries authored using the CMIS Query Control. This control appears on the CMIS Repository - Search Repository tab on a CMIS Repository node in Grooper Design Studio, as well as on the CMIS Query Dialog control used by various property grid editors.

Full Text Search - Full-text search uses SharePoint's Keyword Query Language (KQL) syntax. A full-text search consists of one or more keywords or phrases. Search elements can be combined with the AND or OR operators. Full-text searches are case-insensitive but the operators must be in uppercase. Searches can be constructed by using one or more of the following:

To construct complex queries, multiple expressions can be combined with search operators. If there are multiple expressions without any operators in between them, the search behavior is the same as using the AND operator.

Using keywords:

When keywords are used, results are returned based on exact matches. A part of a keyword can be used, from the beginning of the keyword, by using the wildcard operator (*) to enable prefix matching. In prefix matching, results are returned with terms that contain the keyword followed by zero or more characters. For example, the following searches return documents that contain the terms "federated" and "search":

federated search
federat* search
search fed*

Full-text search does not support suffix matching.

Using phrases:

When phrases are used, only the documents in which the words in the phrase are located next to each other, are returned. To specify a phrase, double quotation marks must be used. Full-text search doesn't support suffix matching, so wildcard operators cannot be used before a phrase. However, the wildcard operator can be used after a phrase.

Simple full-text queries can simply be provided in the 'Full Text Query' property on the CMIS Query Builder control. More complex queries can be written using the CMISQL language and the CONTAINS() predicate on the CMIS Query Editor control.

NOTE: The 'Full Text Query' property cannot be used when querying document library types, it can only be used when querying the base Document Type. However, values for metadata fields that are defined on document library types can be included, if the SharePoint search schema has been configured to include them. See this article for an overview of crawled and managed properties in SharePoint server. See this article for more information on search schema administration.

The following are examples of full-text queries:
DescriptionFull Text Query propertyCMISQL syntax
Contains phrase "Enid Parts" OR Contains keyword "Colarado""enid parts" colorado(CONTAINS('"enid parts"') OR CONTAINS('colorado'))
Begins with phrase "Quantity Ship" AND Contains keyword "Dallas""quantity ship*" dallas(CONTAINS('"quantity ship*"') AND CONTAINS('dallas'))
Begins with phrase "Quantity Ship" AND Contains keyword "Dallas" OR Contains phrase "Enid Parts"N/A((CONTAINS('"quantity ship*"') AND CONTAINS('dallas')) OR CONTAINS('"enid parts"'))


Inherits from: Grooper.CMIS.CustomBinding

Constructors

Signature Description
New (Owner As CmisConnection)
Parameters
Owner
          Type: CmisConnection
          

Fields

Field Name Field Type Description
Database As Grooper.GrooperDb Grooper.GrooperDb

Properties

Property Name Property Type Description
AuthenticationMethod Grooper.CMIS.HttpAuthenticationMethod Specifies the method used to authenticate user credentials.
BaseURL System.String Specifies the URL of the SharePoint site which will be the root of the repository. For example, the URL for SharePoint Online is https://{tenantname}.sharepoint.com. Note that For SharePoint 2013, connections must be made to the root site - connecting directly to a subsite is not supported.
EnableCaching System.Boolean Specifies whether the site structure will be cached to reduce connection time. If enabled, the hierarchy of Sites and Libraries in the SharePoint repository will be cached on first use. Subsequent connections will load this information from cache, speeding up the initialization process.

When connecting to the root of a SharePoint site collection with 'Enable Library Types' and 'Enable Subsites' both set to True, the time it takes to initialize the connection is directly proportional to the number of sites and libraries. A very large site collection can take a considerable amount of time to initialize, particularly when connecting to SharePoint Online. Caching eliminates the need to fetch the site structure each time a new connection is made.

When caching is enabled, the cache must be cleared in order for Grooper to recognize changes to the site structure. To reset the cache at any time, use the CMIS Connection - Reset or CMIS Repository - Reset command.

EnableLibraryTypes System.Boolean Specifies whether custom content types associated with Document Libraries should be exposed. If enabled, specifies that custom content types used in Document Libraries should be exposed through CMIS.

Enable this option if custom Document Library fields are to be used in CMISQL Query operations or mapped to Grooper fields. When enabled, a CMIS content type will be exposed for each custom type defined in a Document Library.

Note that if this option is enabled at the root of a large site collection, it can require a long time to initialize new connections. To avoid these long connection times, either connect directly to subsite containing custom types, or see the 'Enable Caching' property below.

When disabled, only the base 'Document' and 'Folder' types will be exposed.

EnableSubsites System.Boolean Specifies whether subsites below the Base URL should be exposed.
HasReferenceProperties System.Boolean Returns true if the object has properties which reference Grooper Node objects.
IsEmpty System.Boolean Returns true if all properties with a ViewableAttribute are set to their default value.
IsWriteable System.Boolean Returns true if the object is writable, or false if it is not.
Owner Grooper.ConnectedObject Returns the node that owns the connected object, if any.
OwnerNode Grooper.GrooperNode Returns the node that owns the connected object, if any.
ReadWriteTimeout System.Int32 Specifies the timeout for HTTP read/write operations.
Root Grooper.GrooperRoot Returns the root node
Timeout System.Int32 Specifies the timeout for HTTP requests.

Methods

Method Name Description
CancelCheckOut(repositoryId As String, objectId As String, extension As IExtensionsData)
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String
          
 
extension
          Type: IExtensionsData
          
CheckIn(repositoryId As String, objectId As String&, major As Nullable(Of Boolean), properties As IProperties, contentStream As IContentStream, checkinComment As String, policies As IList(Of String), addAces As IAcl, removeAces As IAcl, extension As IExtensionsData)
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String&
          
 
major
          Type: Nullable`1
          
 
properties
          Type: IProperties
          
 
contentStream
          Type: IContentStream
          
 
checkinComment
          Type: String
          
 
policies
          Type: IList`1
          
 
addAces
          Type: IAcl
          
 
removeAces
          Type: IAcl
          
 
extension
          Type: IExtensionsData
          
CheckOut(repositoryId As String, objectId As String&, extension As IExtensionsData, contentCopied As Nullable`1&)
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String&
          
 
extension
          Type: IExtensionsData
          
 
contentCopied
          Type: Nullable`1&
          
ClearAllCaches()
ClearRepositoryCache(repositoryId As String)
Parameters
repositoryId
          Type: String
          
CreateDocument(repositoryId As String, properties As IProperties, folderId As String, contentStream As IContentStream, versioningState As Nullable(Of VersioningState), policies As IList(Of String), addAces As IAcl, removeAces As IAcl, extension As IExtensionsData) As String
Parameters
repositoryId
          Type: String
          
 
properties
          Type: IProperties
          
 
folderId
          Type: String
          
 
contentStream
          Type: IContentStream
          
 
versioningState
          Type: Nullable`1
          
 
policies
          Type: IList`1
          
 
addAces
          Type: IAcl
          
 
removeAces
          Type: IAcl
          
 
extension
          Type: IExtensionsData
          
CreateFolder(repositoryId As String, properties As IProperties, folderId As String, policies As IList(Of String), addAces As IAcl, removeAces As IAcl, extension As IExtensionsData) As String
Parameters
repositoryId
          Type: String
          
 
properties
          Type: IProperties
          
 
folderId
          Type: String
          
 
policies
          Type: IList`1
          
 
addAces
          Type: IAcl
          
 
removeAces
          Type: IAcl
          
 
extension
          Type: IExtensionsData
          
CreatePropDef(Id As String, Type As PropertyType, Updatability As Updatability, Options As PdOptions) As PropertyDefinition
Parameters
Id
          Type: String
          
 
Type
          Type: PropertyType
          
 
Updatability
          Type: Updatability
          
 
Options
          Type: PdOptions
          
CreatePropDef(Id As String, DisplayName As String, Type As PropertyType, Updatability As Updatability, Options As PdOptions) As PropertyDefinition
Parameters
Id
          Type: String
          
 
DisplayName
          Type: String
          
 
Type
          Type: PropertyType
          
 
Updatability
          Type: Updatability
          
 
Options
          Type: PdOptions
          
CreatePropDef(Id As String, DisplayName As String, LocalName As String, Type As PropertyType, Updatability As Updatability, Options As PdOptions) As PropertyDefinition
Parameters
Id
          Type: String
          
 
DisplayName
          Type: String
          
 
LocalName
          Type: String
          
 
Type
          Type: PropertyType
          
 
Updatability
          Type: Updatability
          
 
Options
          Type: PdOptions
          
CreatePropDef(Id As String, DisplayName As String, QueryName As String, LocalName As String, Type As PropertyType, Updatability As Updatability, Options As PdOptions) As PropertyDefinition
Parameters
Id
          Type: String
          
 
DisplayName
          Type: String
          
 
QueryName
          Type: String
          
 
LocalName
          Type: String
          
 
Type
          Type: PropertyType
          
 
Updatability
          Type: Updatability
          
 
Options
          Type: PdOptions
          
CreateProperty(Id As String, Type As PropertyType, Value As Object) As IPropertyData
Parameters
Id
          Type: String
          
 
Type
          Type: PropertyType
          
 
Value
          Type: Object
          
CreateProperty(Id As String, Name As String, Type As PropertyType, Value As Object) As IPropertyData
Parameters
Id
          Type: String
          
 
Name
          Type: String
          
 
Type
          Type: PropertyType
          
 
Value
          Type: Object
          
CreateProperty(Id As String, Type As PropertyType, Values() As Object()) As IPropertyData
Parameters
Id
          Type: String
          
 
Type
          Type: PropertyType
          
 
Values
          Type: Object
          
CreateProperty(Id As String, Name As String, Type As PropertyType, Values() As Object()) As IPropertyData
Parameters
Id
          Type: String
          
 
Name
          Type: String
          
 
Type
          Type: PropertyType
          
 
Values
          Type: Object
          
DeleteObject(repositoryId As String, objectId As String, allVersions As Nullable(Of Boolean), extension As IExtensionsData)
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String
          
 
allVersions
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
DeleteTree(repositoryId As String, folderId As String, allVersions As Nullable(Of Boolean), unfileObjects As Nullable(Of UnfileObject), continueOnFailure As Nullable(Of Boolean), extension As IExtensionsData) As IFailedToDeleteData
Parameters
repositoryId
          Type: String
          
 
folderId
          Type: String
          
 
allVersions
          Type: Nullable`1
          
 
unfileObjects
          Type: Nullable`1
          
 
continueOnFailure
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
Dispose()
GetAclService() As IAclService
GetAllowableActions(repositoryId As String, objectId As String, extension As IExtensionsData) As IAllowableActions
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String
          
 
extension
          Type: IExtensionsData
          
GetBaseDocumentPropDefs(Inherited As Boolean, IncludeVersioning As Boolean) As IEnumerable(Of IPropertyDefinition)
Parameters
Inherited
          Type: Boolean
          
 
IncludeVersioning
          Type: Boolean
          
GetBaseFolderPropDefs(Inherited As Boolean) As IEnumerable(Of IPropertyDefinition)
Parameters
Inherited
          Type: Boolean
          
GetChildren(repositoryId As String, folderId As String, filter As String, orderBy As String, includeAllowableActions As Nullable(Of Boolean), includeRelationships As Nullable(Of IncludeRelationships), renditionFilter As String, includePathSegment As Nullable(Of Boolean), maxItems As Nullable(Of BigInteger), skipCount As Nullable(Of BigInteger), extension As IExtensionsData) As IObjectInFolderList
Parameters
repositoryId
          Type: String
          
 
folderId
          Type: String
          
 
filter
          Type: String
          
 
orderBy
          Type: String
          
 
includeAllowableActions
          Type: Nullable`1
          
 
includeRelationships
          Type: Nullable`1
          
 
renditionFilter
          Type: String
          
 
includePathSegment
          Type: Nullable`1
          
 
maxItems
          Type: Nullable`1
          
 
skipCount
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetContentStream(repositoryId As String, objectId As String, streamId As String, offset As Nullable(Of BigInteger), length As Nullable(Of BigInteger), extension As IExtensionsData) As IContentStream
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String
          
 
streamId
          Type: String
          
 
offset
          Type: Nullable`1
          
 
length
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetDescendants(repositoryId As String, folderId As String, depth As Nullable(Of BigInteger), filter As String, includeAllowableActions As Nullable(Of Boolean), includeRelationships As Nullable(Of IncludeRelationships), renditionFilter As String, includePathSegment As Nullable(Of Boolean), extension As IExtensionsData) As IList(Of IObjectInFolderContainer)
Parameters
repositoryId
          Type: String
          
 
folderId
          Type: String
          
 
depth
          Type: Nullable`1
          
 
filter
          Type: String
          
 
includeAllowableActions
          Type: Nullable`1
          
 
includeRelationships
          Type: Nullable`1
          
 
renditionFilter
          Type: String
          
 
includePathSegment
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetDiscoveryService() As IDiscoveryService
GetFolderIcon(TypeId As String) As Image
Parameters
TypeId
          Type: String
          
GetFolderParent(repositoryId As String, folderId As String, filter As String, extension As IExtensionsData) As IObjectData
Parameters
repositoryId
          Type: String
          
 
folderId
          Type: String
          
 
filter
          Type: String
          
 
extension
          Type: IExtensionsData
          
GetFolderTree(repositoryId As String, folderId As String, depth As Nullable(Of BigInteger), filter As String, includeAllowableActions As Nullable(Of Boolean), includeRelationships As Nullable(Of IncludeRelationships), renditionFilter As String, includePathSegment As Nullable(Of Boolean), extension As IExtensionsData) As IList(Of IObjectInFolderContainer)
Parameters
repositoryId
          Type: String
          
 
folderId
          Type: String
          
 
depth
          Type: Nullable`1
          
 
filter
          Type: String
          
 
includeAllowableActions
          Type: Nullable`1
          
 
includeRelationships
          Type: Nullable`1
          
 
renditionFilter
          Type: String
          
 
includePathSegment
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetMultiFilingService() As IMultiFilingService
GetNavigationService() As INavigationService
GetObject(RepositoryId As String, objectId As String, filter As String, includeAllowableActions As Nullable(Of Boolean), includeRelationships As Nullable(Of IncludeRelationships), renditionFilter As String, includePolicyIds As Nullable(Of Boolean), includeAcl As Nullable(Of Boolean), extension As IExtensionsData) As IObjectData
Parameters
RepositoryId
          Type: String
          
 
objectId
          Type: String
          
 
filter
          Type: String
          
 
includeAllowableActions
          Type: Nullable`1
          
 
includeRelationships
          Type: Nullable`1
          
 
renditionFilter
          Type: String
          
 
includePolicyIds
          Type: Nullable`1
          
 
includeAcl
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetObjectByPath(repositoryId As String, path As String, filter As String, includeAllowableActions As Nullable(Of Boolean), includeRelationships As Nullable(Of IncludeRelationships), renditionFilter As String, includePolicyIds As Nullable(Of Boolean), includeAcl As Nullable(Of Boolean), extension As IExtensionsData) As IObjectData
Parameters
repositoryId
          Type: String
          
 
path
          Type: String
          
 
filter
          Type: String
          
 
includeAllowableActions
          Type: Nullable`1
          
 
includeRelationships
          Type: Nullable`1
          
 
renditionFilter
          Type: String
          
 
includePolicyIds
          Type: Nullable`1
          
 
includeAcl
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetObjectService() As IObjectService
GetParent(RepId As String, ObjectId As String, Filter As String, IncludeAllowableActions As Boolean) As IObjectData
Parameters
RepId
          Type: String
          
 
ObjectId
          Type: String
          
 
Filter
          Type: String
          
 
IncludeAllowableActions
          Type: Boolean
          
GetPolicyService() As IPolicyService
GetProperties(repositoryId As String, objectId As String, filter As String, extension As IExtensionsData) As IProperties
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String
          
 
filter
          Type: String
          
 
extension
          Type: IExtensionsData
          
GetProperties() As PropertyDescriptorCollection
GetReferences() As List(Of GrooperNode) Returns a list of GrooperNode objects referenced in the properties of this object.
GetRelationshipService() As IRelationshipService
GetRepositoryInfo(repositoryId As String, extension As IExtensionsData) As IRepositoryInfo
Parameters
repositoryId
          Type: String
          
 
extension
          Type: IExtensionsData
          
GetRepositoryInfos(extension As IExtensionsData) As IList(Of IRepositoryInfo)
Parameters
extension
          Type: IExtensionsData
          
GetRepositoryService() As IRepositoryService
GetTypeChildren(repositoryId As String, typeId As String, includePropertyDefinitions As Nullable(Of Boolean), maxItems As Nullable(Of BigInteger), skipCount As Nullable(Of BigInteger), extension As IExtensionsData) As ITypeDefinitionList
Parameters
repositoryId
          Type: String
          
 
typeId
          Type: String
          
 
includePropertyDefinitions
          Type: Nullable`1
          
 
maxItems
          Type: Nullable`1
          
 
skipCount
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetTypeDefinition(repositoryId As String, typeId As String, extension As IExtensionsData) As ITypeDefinition
Parameters
repositoryId
          Type: String
          
 
typeId
          Type: String
          
 
extension
          Type: IExtensionsData
          
GetTypeDescendants(repositoryId As String, typeId As String, depth As Nullable(Of BigInteger), includePropertyDefinitions As Nullable(Of Boolean), extension As IExtensionsData) As IList(Of ITypeDefinitionContainer)
Parameters
repositoryId
          Type: String
          
 
typeId
          Type: String
          
 
depth
          Type: Nullable`1
          
 
includePropertyDefinitions
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
GetVersioningService() As IVersioningService
Initialize(session As IBindingSession)
Parameters
session
          Type: IBindingSession
          
IsPropertyEnabled(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently enabled.
Parameters
PropertyName
          Type: String
          The name of the property to determine the enabled state for.
IsPropertyVisible(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently visible.
Parameters
PropertyName
          Type: String
          The name of the property to determine the visible state for.
IsType(Type As Type) As Boolean Returns true if the object is of the type specified, or if it derives from the type specfied.
Parameters
Type
          Type: Type
          The type to check.
MoveObject(repositoryId As String, objectId As String&, targetFolderId As String, sourceFolderId As String, extension As IExtensionsData)
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String&
          
 
targetFolderId
          Type: String
          
 
sourceFolderId
          Type: String
          
 
extension
          Type: IExtensionsData
          
Query(repositoryId As String, statement As String, searchAllVersions As Nullable(Of Boolean), includeAllowableActions As Nullable(Of Boolean), includeRelationships As Nullable(Of IncludeRelationships), renditionFilter As String, maxItems As Nullable(Of BigInteger), skipCount As Nullable(Of BigInteger), extension As IExtensionsData) As IObjectList
Parameters
repositoryId
          Type: String
          
 
statement
          Type: String
          
 
searchAllVersions
          Type: Nullable`1
          
 
includeAllowableActions
          Type: Nullable`1
          
 
includeRelationships
          Type: Nullable`1
          
 
renditionFilter
          Type: String
          
 
maxItems
          Type: Nullable`1
          
 
skipCount
          Type: Nullable`1
          
 
extension
          Type: IExtensionsData
          
Serialize() As String Serializes the object.
SetContentStream(repositoryId As String, objectId As String&, overwriteFlag As Nullable(Of Boolean), changeToken As String&, contentStream As IContentStream, extension As IExtensionsData)
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String&
          
 
overwriteFlag
          Type: Nullable`1
          
 
changeToken
          Type: String&
          
 
contentStream
          Type: IContentStream
          
 
extension
          Type: IExtensionsData
          
SetDatabase(Database As GrooperDb) Sets the database connection of the object.
Parameters
Database
          Type: GrooperDb
          
SetOwner(Owner As ConnectedObject, SkipInitialization As Boolean) Sets the owner of the connected object with another object that implements the IConnected interface.
Parameters
Owner
          Type: ConnectedObject
          
 
SkipInitialization
          Type: Boolean
          
ToString() As String Returns a string value representation of the connected object.
UpdateProperties(repositoryId As String, objectId As String&, changeToken As String&, properties As IProperties, extension As IExtensionsData)
Parameters
repositoryId
          Type: String
          
 
objectId
          Type: String&
          
 
changeToken
          Type: String&
          
 
properties
          Type: IProperties
          
 
extension
          Type: IExtensionsData
          
ValidateProperties() As ValidationErrorList Validates the properties of the object, returning a list of validation errors.