IRPCSearch.GetFolderContentsOrDelta

View as Markdown

Vault API / core read session or assertion idempotent returns metadata structure version

Gets the contents of the specified folder, or a delta that indicates changes to document vault data since the logical timestamp known by the caller.

ServiceSearch MFiles.IRPCSearch
gRPC method/MFiles.IRPCSearch/GetFolderContentsOrDelta
HTTP (mf-http-grpc)POST /grpc/v1/get-folder-contents-or-delta
RequestGetFolderContentsOrDeltaRequest
ResponseGetFolderContentsOrDeltaResponse
Book and levelVault API, core
Kindread
SessionRequired: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
Idempotentyes
Returns metadata structure versionyes (in the mfiles-metadata-version-bin trailer)
Streamingnone (unary)

Remarks

Used by the M-Files clients to refresh a cached folder listing. For a plain listing, use GetFolderContents.

Request: GetFolderContentsOrDeltaRequest

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
callimpCallImportanceThe importance level of this call. Typically CALL_IMPORTANCE_NORMAL.Values: CALL_IMPORTANCE_DEFAULT (0), CALL_IMPORTANCE_NORMAL (1), CALL_IMPORTANCE_CAN_BE_REJECTED (2).
search_optionsSearchTargetSearch options.
search_options.indexstringThe name of the search index to use. Empty uses the vault's default index. An unknown name fails with "Target index is not available."
search_options.modeSearchModeWhether to prefer, require or avoid the full-text search engine. See SearchMode.Values: SEARCH_MODE_DEFAULT (0), SEARCH_MODE_FAVOR_FULL_TEXT_SEARCH (1), SEARCH_MODE_REQUIRE_FULL_TEXT_SEARCH (2), SEARCH_MODE_REQUIRE_DATABASE_SEARCH (3).
search_options.search_master_storageboolTrue to also search objects kept in Master Storage, where the vault supports it.
search_options.continuation_tokenstringContinuation token for paging results from Master Storage. SearchObjects does not support it and fails with "Continuation token is not supported." when it is set together with search_master_storage.
parent[]repeated FolderDescribes the parent folder.
parent[].typeFolderTypeThe type of the folder, for example FOLDER_TYPE_VIEW_FOLDER or FOLDER_TYPE_PROPERTY_FOLDER.Values: FOLDER_TYPE_UNKNOWN (0), FOLDER_TYPE_ANY_FOLDER (1), FOLDER_TYPE_VIEW_FOLDER (2), FOLDER_TYPE_PROPERTY_FOLDER (3), FOLDER_TYPE_TRADITIONAL_FOLDER (4), FOLDER_TYPE_SEARCH_FOLDER (5), FOLDER_TYPE_EXTERNAL_VIEW_FOLDER (6).
parent[].dataFolderInfoUnionAdditional folder type -specific information as a union.
parent[].data.any_folderFolderInfoUnion.AnyFolderData (oneof data)Any folder type.
parent[].data.view_folderFolderInfoUnion.ViewFolderData (oneof data)View folder type.
parent[].data.property_folderFolderInfoUnion.PropertyFolderData (oneof data)Property (virtual) folder type.
parent[].data.traditional_folderFolderInfoUnion.TraditionalFolderData (oneof data)Traditional folder type.
parent[].data.search_folderFolderInfoUnion.SearchFolderData (oneof data)Search folder (extended view folder) type.
parent[].data.external_view_folderFolderInfoUnion.ExternalViewFolderData (oneof data)External view folder type.
results_page_requests[]repeated SearchResultsPageRequestIf not empty, specifies search results page requests.
results_page_requests[].object_typeint32The identifier of a search results group.
results_page_requests[].pageint32The zero-based index of a page.
results_page_requests[].optionsSRPREQUESTFLAGSSearch results page request flags.
results_page_requests[].options.allboolSpecifies all flags set; Including any future flags.
results_page_requests[].options.unseen_pageboolIf available, the page request is for an unseen page.
results_page_requests[].options.ignore_original_conditionsboolIf available, the original conditions are ignored. This can be used when including ObjIDs. Do not use with SRPREQUEST_UNSEENPAGE.
results_page_requests[].options.seen_pageboolIf available, the page request is for an already seen page.
results_page_requests[].options.initial_pageboolIf available, the page request is initial and for an unseen page. Do not use with SRPREQUEST_SEENPAGE.
results_page_requests[].seen_objects[]repeated ObjIDAn array of ObjIDs. If the SRPREQUEST_UNSEENPAGE flag is available, these are ObjIDs to exclude. If the SRPREQUEST_SEENPAGE flag is available, these are ObjIDs to include.
results_page_requests[].seen_objects[].typeint32The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID).
results_page_requests[].seen_objects[].item_idItemIDThe ID of the object within its type, in item_id.internal_id.
callers_current_vcversionint64The vault content version ID currently known by the caller. If the vault content has not been updated since, *pi64CurrentVCVersionOnServer is set to this same number and no data is returned. Specify zero to force the retrieval of normal folder contents. When this is zero, the server never returns an appropriate delta.
allow_returning_deltaboolTrue if the caller allows returning a delta (changes to the vault content).
upper_change_limit_for_deltauint32Specifies an upper change limit for returning a delta. If changes are no more than this limit, a delta can be returned.
max_resultsuint32Requested max results. If this is 0, it should be ignored.
facet_filterStringValueIf set, specifies the additional facet search filter.
facet_filter.valuestringString.
sortingSearchResultsSortingIf not empty, specifies how search results are being sorted.
sorting.rulesSortRuleValueArrayThe sort rule. Exactly one rule is supported; more than one cannot be sorted.
sorting.rules.values[]repeated SortRuleSort rules. The first rule has the highest presedence meaning that it is the primary sort rule.
sorting.optionsSortFlagsSort flags. Set allow_resorting_to_default_sort to get relevance order instead of an error when the rule cannot be applied.
sorting.options.allboolSpecifies all flags set; Including any future flags.
sorting.options.allow_resorting_to_default_sortboolAllows resorting to default sorting if the specified sorting is not supported. If this flag is not present, an unsupported sort request causes an error.

Response: GetFolderContentsOrDeltaResponse

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page. Fields marked (recursive) refer to a type already on their path.

FieldTypeDescription
current_vcversion_on_serverint64Receives the current vault content version on the server. If this is the same as the one specified by the caller, no delta data is returned. However a full folder content can be returned to refresh the single folder.
views_or_deltaViewsOrDeltaViews or delta.
views_or_delta.typeboolTrue if this struct represents a delta (i.e. just the occurred changes to views).
views_or_delta.removed_views[]repeated int32Removed views. This contains data only when this struct represents a delta. Otherwise it must be an empty array.
views_or_delta.views[]repeated ViewViews. This contains inserted or updated views if this struct represents a delta, otherwise it contains just a "normal" array of views.
views_or_delta.views[].idint32The ID of the view.
views_or_delta.views[].typeViewTypeThe type of the view.Values: VIEW_TYPE_SHOW_OBJECTS (0), VIEW_TYPE_FILTER_ONLY (1).
views_or_delta.views[].namestringThe name of the view.
views_or_delta.views[].is_commonboolTells if the view is admin-defined (common) or user-defined.
views_or_delta.views[].is_visibleboolTells if the view is visible.
views_or_delta.views[].locationViewLocationThe location of the view. Valid only if bHasParent is true.
views_or_delta.views[].content_definitionSearchDefThe search definition that contains the view levels and search conditions of the view.
views_or_delta.views[].aclAccessControlListPermissions.
views_or_delta.views[].flags_obsoleteuint32Bit flags that provide additional information on the view.
views_or_delta.views[].optionsVIEWFLAGSBit flags that provide additional information on the view.
views_or_delta.views[].guidstringGUID for the view.
views_or_delta.views[].view_visualizationViewVisualizationView visualization information.
property_folders_or_deltaPropertyFoldersOrDeltaProperty folders or delta.
property_folders_or_delta.typeboolTrue if this struct represents a delta (i.e. just the occurred changes to property folders).
property_folders_or_delta.removed_folders[]repeated TypedValueRemoved property folders. This contains data only when this struct represents a delta. Otherwise it must be an empty array.
property_folders_or_delta.removed_folders[].is_null_valueboolTrue if the value is empty. data is then unset.
property_folders_or_delta.removed_folders[].typeDatatypeThe data type of the value.
property_folders_or_delta.removed_folders[].dataTypedValueUnionThe value, in the member that matches type. Unset for an empty value.
property_folders_or_delta.folders[]repeated TypedValueProperty folders. This contains inserted or updated property folders if this struct represents a delta, otherwise it contains just a "normal" array of property folders.
property_folders_or_delta.folders[].is_null_valueboolTrue if the value is empty. data is then unset.
property_folders_or_delta.folders[].typeDatatypeThe data type of the value.
property_folders_or_delta.folders[].dataTypedValueUnionThe value, in the member that matches type. Unset for an empty value.
traditional_folders_or_deltaTraditionalFoldersOrDeltaTraditional folders or delta.
traditional_folders_or_delta.typeboolTrue if this struct represents a delta (i.e. just the occurred changes to traditional folders).
traditional_folders_or_delta.removed_folders[]repeated int32Removed traditional folders. This contains data only when this struct represents a delta. Otherwise it must be an empty array.
traditional_folders_or_delta.folders[]repeated LookupTraditional folders. This contains inserted or updated traditional folders if this struct represents a delta, otherwise it contains just a "normal" array of traditional folders.
traditional_folders_or_delta.folders[].value_list_item_infoItemInfoThe selected item. Only obj_id is needed when setting a value.
traditional_folders_or_delta.folders[].versionObjVerVersionThe version of the selected object. The server returns OBJ_VER_VERSION_TYPE_LATEST (-1), meaning the latest version.
objects_or_deltaObjectsOrDeltaObjects or delta.
objects_or_delta.typeboolTrue if this struct represents a delta (i.e. just the occurred changes to objects).
objects_or_delta.removed_objects[]repeated ObjIDRemoved objects. This contains data only when this struct represents a delta. Otherwise it must be an empty array.
objects_or_delta.removed_objects[].typeint32The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID).
objects_or_delta.removed_objects[].item_idItemIDThe ID of the object within its type, in item_id.internal_id.
objects_or_delta.objects[]repeated SearchResultsItemObjects. This contains inserted or updated objects if this struct represents a delta, otherwise it contains just a "normal" array of objects.
objects_or_delta.objects[].objectObjectVersionExThe object and the found version: object ID, version, title, class, files and status. Property values are not included.
objects_or_delta.objects[].scoreint32The relevance score of the result. Higher is more relevant.
objects_or_delta.objects[].chunkstringFor an Aino search, the passage of text that matched. Empty for other searches.
objects_or_delta.object_property_values[]repeated PropertyValueArrayObjects' property values.
objects_or_delta.object_property_values[].value[]repeated PropertyValueProperty values.
objects_or_delta.object_acls[]repeated AccessControlListIf not empty, objects' ACLs.
objects_or_delta.object_acls[].checked_out_to_userint32Specifies the ID of the user who has extended rights because of the checkout operation performed by her. 0 if such user does not exist.
objects_or_delta.object_acls[].is_fully_authoritativeboolSpecifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version.
objects_or_delta.object_acls[].custom_componentAccessControlListComponentAccesses the custom component of this ACL.
objects_or_delta.object_acls[].restrictive_components[]repeated AccessControlListComponentMapEntryAccesses the restrictive automatic components of this ACL.
objects_or_delta.object_acls[].secondary_access_control_listAccessControlList (recursive)Secondary ACL used for latest version ACL. Not used for access check if null.
objects_or_delta.object_acls[].additive_components[]repeated AccessControlListComponentMapEntryAccesses the additive automatic components of this ACL.
objects_or_delta.limited_item_groups[]repeated int32Receives the list of item group identifications ids those results were limited. The group identification id depends on how the search results were grouped. E.g. object type id.
objects_or_delta.continuation_tokenstringContinuation token for paginating search results from Master Storage.
objects_or_delta.has_additional_resultsboolTrue if there are additional results that can't be counted in advance.
vl_items_deltaValueListItemsDeltaValue list items delta. Valid only if a delta is returned for objects.
vl_items_delta.changed_value_lists[]repeated int32Changed value lists.
json_external_view_folders_or_delta[]repeated ExternalViewExternal views or delta.
json_external_view_folders_or_delta[].idExternalRepositoryIDThe view ID in external repository.
json_external_view_folders_or_delta[].id.connectionstringThe external repository connection identifier.
json_external_view_folders_or_delta[].id.itemstringExternal ID within the scope of the connection to external system.
json_external_view_folders_or_delta[].display_namestringThe name of the view.
json_external_view_folders_or_delta[].external_repository_icon_idstringThe icon ID.
json_external_view_folders_or_delta[].parent_idExternalRepositoryIDThe view's parent ID in external repository. May be uninitialized if the external view does not have a parent.
json_external_view_folders_or_delta[].parent_id.connectionstringThe external repository connection identifier.
json_external_view_folders_or_delta[].parent_id.itemstringExternal ID within the scope of the connection to external system.
json_external_view_folders_or_delta[].object_dataObjectVersionExWPIf not null, the object representation of the folder.
json_external_view_folders_or_delta[].object_data.object_versionObjectVersionExObject info.
json_external_view_folders_or_delta[].object_data.properties[]repeated PropertyValueProperty values, or an empty array.
json_external_view_folders_or_delta[].object_data.aclAccessControlListIf set, ACL.
json_external_view_folders_or_delta[].object_data.current_user_permissionsObjectPermissionsForClientIf set, permissions of the object version.
json_external_view_folders_or_delta[].folder_capabilitiesFOLDERCAPABILITYFLAGSBit flags that provide information on the folder capabilities.
json_external_view_folders_or_delta[].folder_capabilities.allboolSpecifies all flags set; Including any future flags.
json_external_view_folders_or_delta[].folder_capabilities.can_search_within_this_folderbool
json_external_view_folders_or_delta[].aclAccessControlListIf set, ACL.
json_external_view_folders_or_delta[].acl.checked_out_to_userint32Specifies the ID of the user who has extended rights because of the checkout operation performed by her. 0 if such user does not exist.
json_external_view_folders_or_delta[].acl.is_fully_authoritativeboolSpecifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version.
json_external_view_folders_or_delta[].acl.custom_componentAccessControlListComponentAccesses the custom component of this ACL.
json_external_view_folders_or_delta[].acl.restrictive_components[]repeated AccessControlListComponentMapEntryAccesses the restrictive automatic components of this ACL.
json_external_view_folders_or_delta[].acl.secondary_access_control_listAccessControlList (recursive)Secondary ACL used for latest version ACL. Not used for access check if null.
json_external_view_folders_or_delta[].acl.additive_components[]repeated AccessControlListComponentMapEntryAccesses the additive automatic components of this ACL.
more_property_foldersboolAre there more property folders?
max_property_folders_limituint32The maximum property folders allowed. The server used this value to limit the returned property folders. If zero, the limit is infinite.
more_objectsboolAre there more objects?
max_objects_limituint32The maximum objects allowed. The server used this value to limit the returned objects. If zero, the limit is infinite.
more_external_view_foldersboolAre there more external views?
max_external_view_folders_limituint32The maximum external views allowed. The server used this value to limit the returned objects. If zero, the limit is infinite.
psearchstatusflagsSEARCHSTATUSFLAGSReceives search status flags.
psearchstatusflags.allboolSpecifies all flags set; Including any future flags.
psearchstatusflags.multiphase_object_type_search_neededboolMulti-phase OT search is needed.
psearchstatusflags.wildcard_expansion_limit_exceededboolWildcard expansion limit has been exceeded (but some results has been returned anyway).
psearchstatusflags.may_contain_stale_databoolData returned by search may be out of date.
psearchstatusflags.resorted_to_default_sortboolRequested sorting is not supported and result set was established using the default sorting (relevance).
psearchstatusflags.resorted_to_default_sort_too_many_resultsboolRequested sorting is not supported and result set was established using the default sorting (relevance) because there are too many matching results for sorting.
psearchstatusflags.sorted_by_engineboolData returned by search was sorted by the engine (Global Sorting).
search_output_infoSearchOutputInfoAdditional information about the completed search operation.
search_output_info.processing_time_at_engine_in_millisecondsint32The processing time at the search engine, in milliseconds. -1 if not known.
search_output_info.processing_time_at_engine_from_mfserver_in_millisecondsint32The processing time at the search engine, including network roundtrip from MFServer, in milliseconds. -1 if not known.
search_output_info.processing_time_at_mfserver_in_millisecondsint32The total processing time at MFServer, in milliseconds. -1 if not known.
search_output_info.processing_time_at_mfserver_from_client_in_millisecondsint32The total processing time at MFServer, including network roundtrip from the client, in milliseconds. -1 if not known.