TIBCO Data Virtualization® Adapter Online Help > TDV SharePoint Adapter > Data Model > REST Data Model
 
REST Data Model
The SharePoint Adapter models SharePoint entities in relational Tables, Views, and Stored Procedures. The table definitions are dynamically obtained based on your SharePoint site. Any changes you make, such as adding a custom field or changing a field's data type, are automatically reflected when you connect.
Tables
Tables describes the available tables.
Lists in your sharepoint site are exposed as relational tables dynamically. Which means any change you make in your lists, i.e adding new list or adding new fields, will be reflected on the driver.
Views
Views are tables that cannot be modified. Typically, read-only data are shown as views.
Stored Procedures
Stored Procedures are function-like interfaces to the data source. They surface additional capabilities of the SharePoint API such as searching, updating, and modifying information.
Using OData standard
Since the REST API is OData based, server side filters, are done using OData standard. So the driver takes the most of the server filtering, by reading the metadata file and determing which filters can be done on the server.

NOTE: When executing "SELECT *" queries, the SharePoint REST API response, does not return all the available fields. So to avoid too many null values, the provider will select all the columns explicitly using the $select filter. However, the provider will do this only if the $select filter's length is not bigger than 1500, to avoid an error from SharePoint REST API regarding the URL length. This is a limitation of the SharePoint REST API, so in these cases, the only way to see the actual value of some columns, is to explicitly select them in your query.
Views
Views are composed of columns and pseudo columns. Views are similar to tables in the way that data is represented; however, views do not support updates. Entities that are represented as views are typically read-only entities. Often, a stored procedure is available to update the data if such functionality is applicable to the data source.
Queries can be executed against a view as if it were a normal table, and the data that comes back is similar in that regard. To find out more about tables and stored procedures, please navigate to their corresponding entries in this help document.
SharePoint Adapter Views
Name
Description
Query the available files on your sharepoint site.
Query the available groups on your sharepoint site.
Query the available lists on your sharepoint site.
Query the roles your users can have.
Query the available users on your sharepoint site.
Files
Query the available files on your sharepoint site.
Columns
Name
Type
Description
Id [KEY]
String
 
CreatedBy_Id
String
 
CreatedBy_Name
String
 
CreatedBy_Puid
String
 
ETag
String
 
LastModifiedBy_Id
String
 
LastModifiedBy_Name
String
 
LastModifiedBy_Puid
String
 
Name
String
 
Size
Int
 
TimeCreated
Datetime
 
TimeLastModified
Datetime
 
Url
String
 
Groups
Query the available groups on your sharepoint site.
Columns
Name
Type
Description
AllowMembersEditMembership
Bool
 
AllowRequestToJoinLeave
Bool
 
AutoAcceptRequestToJoinLeave
Bool
 
CanCurrentUserEditMembership
Bool
 
CanCurrentUserManageGroup
Bool
 
CanCurrentUserViewMembership
Bool
 
Description
String
 
OnlyAllowMembersViewMembership
Bool
 
OwnerTitle
String
 
RequestToJoinLeaveEmailSetting
String
 
LinkedOwner
String
 
LinkedUsers
String
 
Lists
Query the available lists on your sharepoint site.
Columns
Name
Type
Description
HasUniqueRoleAssignments [KEY]
Bool
 
LinkedFirstUniqueAncestorSecurableObject
String
 
LinkedRoleAssignments
String
 
Id [KEY]
String
 
AllowContentTypes
Bool
 
AllowDeletion
Bool
 
BaseTemplate
Int
 
BaseType
Int
 
BrowserFileHandling
Int
 
ContentTypesEnabled
Bool
 
CrawlNonDefaultViews
Bool
 
Created
Datetime
 
CurrentChangeToken_StringValue
String
 
CustomActionElements_Items
String
 
DataSource_Properties
String
 
DefaultContentApprovalWorkflowId
String
 
DefaultDisplayFormUrl
String
 
DefaultEditFormUrl
String
 
DefaultItemOpenUseListSetting
Bool
 
DefaultNewFormUrl
String
 
DefaultViewPath_DecodedUrl
String
 
DefaultViewUrl
String
 
Description
String
 
Direction
String
 
DisableGridEditing
Bool
 
DocumentTemplateUrl
String
 
DraftVersionVisibility
Int
 
EffectiveBasePermissions_High
Long
 
EffectiveBasePermissions_Low
Long
 
EffectiveBasePermissionsForUI_High
Long
 
EffectiveBasePermissionsForUI_Low
Long
 
EnableAssignToEmail
Bool
 
EnableAttachments
Bool
 
EnableFolderCreation
Bool
 
EnableMinorVersions
Bool
 
EnableModeration
Bool
 
EnableRequestSignOff
Bool
 
EnableVersioning
Bool
 
EntityTypeName
String
 
ExcludeFromOfflineClient
Bool
 
ExemptFromBlockDownloadOfNonViewableFiles
Bool
 
FileSavePostProcessingEnabled
Bool
 
ForceCheckout
Bool
 
HasExternalDataSource
Bool
 
Hidden
Bool
 
ImagePath_DecodedUrl
String
 
ImageUrl
String
 
IrmEnabled
Bool
 
IrmExpire
Bool
 
IrmReject
Bool
 
IsApplicationList
Bool
 
IsCatalog
Bool
 
IsEnterpriseGalleryLibrary
Bool
 
IsPrivate
Bool
 
IsSiteAssetsLibrary
Bool
 
IsSystemList
Bool
 
ItemCount
Int
 
LastItemDeletedDate
Datetime
 
LastItemModifiedDate
Datetime
 
LastItemUserModifiedDate
Datetime
 
ListExperienceOptions
Int
 
ListItemEntityTypeFullName
String
 
MajorVersionLimit
Int
 
MajorWithMinorVersionsLimit
Int
 
MultipleDataList
Bool
 
NoCrawl
Bool
 
OnQuickLaunch
Bool
 
PageRenderType
Int
 
ParentWebPath_DecodedUrl
String
 
ParentWebUrl
String
 
ParserDisabled
Bool
 
ReadSecurity
Int
 
SchemaXml
String
 
ServerTemplateCanCreateFolders
Bool
 
TemplateFeatureId
String
 
Title
String
 
ValidationFormula
String
 
ValidationMessage
String
 
WriteSecurity
Int
 
LinkedContentTypes
String
 
LinkedCreatablesInfo
String
 
LinkedDefaultView
String
 
LinkedDescriptionResource
String
 
LinkedEventReceivers
String
 
LinkedFields
String
 
LinkedForms
String
 
LinkedInformationRightsManagementSettings
String
 
LinkedItems
String
 
LinkedParentWeb
String
 
LinkedRootFolder
String
 
LinkedSubscriptions
String
 
LinkedTitleResource
String
 
LinkedUserCustomActions
String
 
LinkedViews
String
 
LinkedWorkflowAssociations
String
 
Roles
Query the roles your users can have.
Columns
Name
Type
Description
Id [KEY]
Int
 
BasePermissions_High
Long
 
BasePermissions_Low
Long
 
Description
String
 
Hidden
Bool
 
Name
String
 
Order
Int
 
RoleTypeKind
Int
 
Users
Query the available users on your sharepoint site.
Columns
Name
Type
Description
AadObjectId_NameId
String
 
AadObjectId_NameIdIssuer
String
 
Email
String
 
Expiration
String
 
IsEmailAuthenticationGuestUser
Bool
 
IsShareByEmailGuestUser
Bool
 
IsSiteAdmin
Bool
 
UserId_NameId
String
 
UserId_NameIdIssuer
String
 
UserPrincipalName
String
 
LinkedAlerts
String
 
LinkedGroups
String
 
Stored Procedures
Stored procedures are available to complement the data available from the SOAP Data Model. It may be necessary to update data available from a view using a stored procedure because the data does not provide for direct, table-like, two-way updates. In these situations, the retrieval of the data is done using the appropriate view or table, while the update is done by calling a stored procedure. Stored procedures take a list of parameters and return back a dataset that contains the collection of tuples that constitute the response.
SharePoint Adapter Stored Procedures
Name
Description
Download a document from the SharePoint list.
Download a document from the SharePoint library.
Gets the admin consent URL that must be opened separately by an admin of a given domain to grant access to your application. Only needed when using custom OAuth credentials.
Retrieves information about the current logged in user.
Gets the OAuth access token from SharePoint.
Gets the SharePoint authorization URL. Access the URL returned in the output in a Web browser. This requests the access token that can be used as part of the connection string to SharePoint.
Refreshes the OAuth access token used for authentication with SharePoint.
DownloadAttachment
Download a document from the SharePoint list.
Stored Procedure Specific Information
Insert
RemoteFile can be both relative to the server, or it can be the full URL of the file. Below are some examples:
EXECUTE DownloadAttachment File = 'C:/Users/User/Desktop/DownloadedFile.txt', RemoteFile = 'https://mysite.sharepoint.com/Lists/MyCustomList/Attachments/1/FileToDownload.txt';
 
EXECUTE DownloadAttachment File = 'C:/Users/User/Desktop/DownloadedFile.txt', RemoteFile = '/Lists/MyCustomList/Attachments/1/FileToDownload.txt';
Input
Name
Type
Description
File
String
The path of the file to be saved. You should include the new filename. For example, 'C:/Users/User/Desktop/DownloadedFile.txt'.
RemoteFile
String
The path of the file on the server. This can be the full URL or the path relative to the server.
Result Set Columns
Name
Type
Description
Result
String
Boolean value indicating whether the operation was successful.
DownloadDocument
Download a document from the SharePoint library.
Stored Procedure Specific Information
Insert
RemoteFile can be both relative to the library, or it can be the full URL of the file. Below are some examples:
EXECUTE DownloadAttachment File = 'C:/Users/User/Desktop/DownloadedFile.txt', Library = 'Shared Documents', RemoteFile = 'https://mysite.sharepoint.com/Shared Documents/newFolder/FileToDownload.txt';
 
EXECUTE DownloadAttachment File = 'C:/Users/User/Desktop/DownloadedFile.txt', Library = 'Shared Documents', RemoteFile = '/newFolder/FileToDownload.txt';
Input
Name
Type
Description
File
String
The path of the file to be saved. You should include the new filename. For example, 'C:/Users/User/Desktop/DownloadedFile.txt'.
Library
String
The name of the library on the SharePoint server. For example, 'Shared Documents'.
RemoteFile
String
This can be either the relative path to the library or the full URL of the file.
Result Set Columns
Name
Type
Description
Result
String
Boolean value indicating whether the operation was successful.
GetAdminConsentURL
Gets the admin consent URL that must be opened separately by an admin of a given domain to grant access to your application. Only needed when using custom OAuth credentials.
Input
Name
Type
Description
CallbackUrl
String
The URL the user will be redirected to after authorizing your application. This value must match the Reply URL in the Azure AD app settings.
State
String
The same value for state that you sent when you requested the authorization code.
Scope
String
The scope or permissions you are requesting from the Admin
The default value is AllSites.Manage.
Result Set Columns
Name
Type
Description
URL
String
The authorization URL, entered into a Web browser to obtain the verifier token and authorize your app.
GetCurrentUser
Retrieves information about the current logged in user.
Result Set Columns
Name
Type
Description
Id
Int
The id of the user.
Title
String
The title of the user.
Email
String
The email of the user.
IsSiteAdmin
Boolean
Whether the user is a site admin or not.
GetOAuthAccessToken
Gets the OAuth access token from SharePoint.
Input
Name
Type
Description
AuthMode
String
The type of authentication mode to use. The allowed values are APP, WEB.
Verifier
String
The verifier token returned by SharePoint after using the URL obtained with GetOAuthAuthorizationURL. Required for only the Web AuthMode.
CallbackUrl
String
The URL the user will be redirected to after authorizing your application.
Scope
String
The scope or permissions you are requesting from the user.
The default value is AllSites.Manage.
State
String
Any value that you wish to be sent with the callback.
Result Set Columns
Name
Type
Description
OAuthAccessToken
String
The authentication token returned from SharePoint.
OAuthRefreshToken
String
A token that may be used to obtain a new access token.
ExpiresIn
String
The remaining lifetime for the access token in seconds.
GetOAuthAuthorizationURL
Gets the SharePoint authorization URL. Access the URL returned in the output in a Web browser. This requests the access token that can be used as part of the connection string to SharePoint.
Input
Name
Type
Description
CallbackUrl
String
The URL that Sharepoint will return to after the user has authorized your app.
Scope
String
The scope or permissions you are requesting from the user.
The default value is AllSites.Manage.
State
String
Any value that you wish to be sent with the callback.
Result Set Columns
Name
Type
Description
URL
String
The URL to be entered into a Web browser to obtain the verifier token and authorize the data provider with.
RefreshOAuthAccessToken
Refreshes the OAuth access token used for authentication with SharePoint.
Input
Name
Type
Description
OAuthRefreshToken
String
The old token to be refreshed.
Result Set Columns
Name
Type
Description
OAuthAccessToken
String
The authentication token returned from SharePoint.
ExpiresIn
String
The remaining lifetime on the access token.