IRPCIndexingDataSource2.GetValueListItemsForIX

View as Markdown

Server integration API / specialized internal: not for applications read session idempotent

Gets the items of one value list for a search index: all items page by page, or the changes since a known version.

Unlike GetValueListItemsWithPermissions, it does not refresh items from an external database, does not replace "(current user)" placeholders with the caller's identity, can return each item's permissions as stored, and pages through long lists with after_item_id.

ServiceIndexing data source (version 2) MFiles.IRPCIndexingDataSource2
gRPC method/MFiles.IRPCIndexingDataSource2/GetValueListItemsForIX
HTTP (mf-http-grpc)POST /grpc/v1/get-value-list-items-for-ix
RequestGetValueListItemsForIXRequest
ResponseGetValueListItemsForIXResponse
Book and levelServer integration API, specialized
Kindread
SessionRequired: the session ID from LogIn in the mfiles-session-id-bin metadata.
Idempotentyes
Returns metadata structure versionno
Streamingnone (unary)

Remarks

For M-Files components only. M-Files' cloud search indexing services call it. Applications should use GetValueListItemsWithPermissions.

Request: GetValueListItemsForIXRequest

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

FieldTypeDescription
value_listint32The ID of the value list to fetch.
known_versionint64The version of the list that the caller has. 0 returns the full list (first page).
allow_deltaboolTrue if the caller can process a delta response.
include_permissionsboolTrue to return item_acls and item_acls_for_indexing.
include_deleted_itemsboolTrue to include deleted items, so that the index can mark them deleted.
after_item_idint32Paging cursor of the full list: -1 on the first call, then the highest item ID of the previous page.
results_limituint32The maximum number of items. 0 means the server default.

Response: GetValueListItemsForIXResponse

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_versionint64The current version of the list. If it equals known_version, no items are returned.
is_deltaboolTrue if the response is a delta. False if it is a full-list page (or the unchanged-since-caller no-op case).
has_more_resultsboolTrue if more items follow; call again with after_item_id.
results_limituint32The actual results limit the server applied.
removed_items[]repeated int32Removed item IDs (delta mode only). Empty otherwise.
items[]repeated ValueListItemThe changed items (delta) or one page of the full list. Deleted items have the deleted flag set.
items[].item_infoItemInfoThe item's identity and name: obj_id.type is the value list ID, obj_id.item_id.internal_id the item ID (unique within the list only), plus name, guid, external_id and flags. options.is_deleted marks a deleted item.
items[].item_info.obj_idObjIDThe object id or value list item id. Includes the object type or value list id.
items[].item_info.namestringThe name of the item.
items[].item_info.external_id_statusExtIDStatusThe status of this item's external ID.Values: EXT_IDSTATUS_UNKNOWN (0), EXT_IDSTATUS_EXTERNAL (1), EXT_IDSTATUS_INTERNAL (2), EXT_IDSTATUS_DISCARDED (3), EXT_IDSTATUS_NOT_AVAILABLE (4), EXT_IDSTATUS_EXTERNAL_REDUCED (5).
items[].item_info.external_idstringThe external ID (display ID) of this item. unset means that the external ID is the same as the internal ID.
items[].item_info.guidstringGUID for the item.
items[].item_info.optionsITEMFLAGSBit flags that provide additional information on the item (e.g. is the object deleted).
items[].item_info.external_repository_icon_idstringThe ID of the item's icon.
items[].has_parentboolTrue if the item has a parent item in the same (hierarchical) list.
items[].has_ownerboolTrue if the item belongs to an item of the owner list (ValueList.owner_object_type).
items[].parent_idint32With has_parent, the item ID of the parent item; otherwise ignored.
items[].owner_idint32With has_owner, the item ID of the owner item in the owner list.
items[].owner_namestringThe name of the owner item.
items[].automatic_permissionsAutomaticPermissionsIf set, specifies the automatic permissions for an object for which the user selects this item.
items[].automatic_permissions.permissionsNamedACLThe automatic permissions for an object for which the user selects this item.
items[].automatic_permissions.is_defaultboolTrue if these automatic permissions are not private i.e. they are not directly specified for (owned by) this item but they come from somewhere else, e.g. from the default/common automatic permissions of the object type.
items[].automatic_permissions.use_object_permissionsboolIf true the object/item's own permissions are used as its automatic permissions.
items[].iconBytesIf set, contains the icon of this item in .ICO format.
items[].icon.valuebytesArray of bytes.
item_acls[]repeated AccessControlListThe permissions of each item as stored, in the order of items. Empty if include_permissions was false.
item_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.
item_acls[].is_fully_authoritativeboolSpecifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version.
item_acls[].custom_componentAccessControlListComponentAccesses the custom component of this ACL.
item_acls[].custom_component.named_acl_idint32Specifies the named ACL link of this component.
item_acls[].custom_component.has_named_aclboolTrue if the component links to a named ACL (named_acl_id).
item_acls[].custom_component.current_user_idint32Specifies the current user binding of this component.
item_acls[].custom_component.has_current_userboolTrue if the component has an access control entry for the current user.
item_acls[].custom_component.permissions[]repeated AccessControlEntryThe access control entry datas. The data belongs to the key in the corresponding index.
item_acls[].custom_component.overridability_permissions[]repeated AccessControlEntryOverridability permission data of this ACL component.
item_acls[].custom_component.statusACCESSCONTROLLISTCOMPONENTSTATUSFLAGSModification status of this component.
item_acls[].restrictive_components[]repeated AccessControlListComponentMapEntryAccesses the restrictive automatic components of this ACL.
item_acls[].restrictive_components[].keyAccessControlListComponentKeyAccess control list component.
item_acls[].restrictive_components[].componentAccessControlListComponentAccess control list component.
item_acls[].secondary_access_control_listAccessControlList (recursive)Secondary ACL used for latest version ACL. Not used for access check if null.
item_acls[].additive_components[]repeated AccessControlListComponentMapEntryAccesses the additive automatic components of this ACL.
item_acls[].additive_components[].keyAccessControlListComponentKeyAccess control list component.
item_acls[].additive_components[].componentAccessControlListComponentAccess control list component.
item_acls_for_indexing[]repeated SimpleACLThe read permissions of each item, resolved for the index, in the order of items. Empty if include_permissions was false or the server does not supply them.
item_acls_for_indexing[].value[]repeated SimpleACLComponentComponents.
item_acls_for_indexing[].value[].allowed[]repeated int32Users (positive IDs) and user groups (negative IDs) allowed read access by this component.
item_acls_for_indexing[].value[].denied[]repeated int32Users (positive IDs) and user groups (negative IDs) denied read access by this component.