IRPCIndexingDataSource2.GetValueListItemsForIX
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.
| Service | Indexing data source (version 2) MFiles.IRPCIndexingDataSource2 |
|---|---|
| gRPC method | /MFiles.IRPCIndexingDataSource2/GetValueListItemsForIX |
| HTTP (mf-http-grpc) | POST /grpc/v1/get-value-list-items-for-ix |
| Request | GetValueListItemsForIXRequest |
| Response | GetValueListItemsForIXResponse |
| Book and level | Server integration API, specialized |
| Kind | read |
| Session | Required: the session ID from LogIn in the mfiles-session-id-bin metadata. |
| Idempotent | yes |
| Returns metadata structure version | no |
| Streaming | none (unary) |
Remarks
For M-Files components only. M-Files' cloud search indexing services call it. Applications should use GetValueListItemsWithPermissions.
- Requires a vault session with the vault rights
see_all_objectsandsee_deleted_objects. - Read-only. With
results_limit0 the server applied a limit of 5000. - Paging: pass
after_item_id-1 on the first call, then the highest item ID of the previous page, untilhas_more_resultsis false.
Request: GetValueListItemsForIXRequest
Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.
| Field | Type | Description |
|---|---|---|
value_list | int32 | The ID of the value list to fetch. |
known_version | int64 | The version of the list that the caller has. 0 returns the full list (first page). |
allow_delta | bool | True if the caller can process a delta response. |
include_permissions | bool | True to return item_acls and item_acls_for_indexing. |
include_deleted_items | bool | True to include deleted items, so that the index can mark them deleted. |
after_item_id | int32 | Paging cursor of the full list: -1 on the first call, then the highest item ID of the previous page. |
results_limit | uint32 | The 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.
| Field | Type | Description |
|---|---|---|
current_version | int64 | The current version of the list. If it equals known_version, no items are returned. |
is_delta | bool | True if the response is a delta. False if it is a full-list page (or the unchanged-since-caller no-op case). |
has_more_results | bool | True if more items follow; call again with after_item_id. |
results_limit | uint32 | The actual results limit the server applied. |
removed_items[] | repeated int32 | Removed item IDs (delta mode only). Empty otherwise. |
items[] | repeated ValueListItem | The changed items (delta) or one page of the full list. Deleted items have the deleted flag set. |
items[].item_info | ItemInfo | The 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_id | ObjID | The object id or value list item id. Includes the object type or value list id. |
items[].item_info.name | string | The name of the item. |
items[].item_info.external_id_status | ExtIDStatus | The 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_id | string | The external ID (display ID) of this item. unset means that the external ID is the same as the internal ID. |
items[].item_info.guid | string | GUID for the item. |
items[].item_info.options | ITEMFLAGS | Bit flags that provide additional information on the item (e.g. is the object deleted). |
items[].item_info.external_repository_icon_id | string | The ID of the item's icon. |
items[].has_parent | bool | True if the item has a parent item in the same (hierarchical) list. |
items[].has_owner | bool | True if the item belongs to an item of the owner list (ValueList.owner_object_type). |
items[].parent_id | int32 | With has_parent, the item ID of the parent item; otherwise ignored. |
items[].owner_id | int32 | With has_owner, the item ID of the owner item in the owner list. |
items[].owner_name | string | The name of the owner item. |
items[].automatic_permissions | AutomaticPermissions | If set, specifies the automatic permissions for an object for which the user selects this item. |
items[].automatic_permissions.permissions | NamedACL | The automatic permissions for an object for which the user selects this item. |
items[].automatic_permissions.is_default | bool | True 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_permissions | bool | If true the object/item's own permissions are used as its automatic permissions. |
items[].icon | Bytes | If set, contains the icon of this item in .ICO format. |
items[].icon.value | bytes | Array of bytes. |
item_acls[] | repeated AccessControlList | The permissions of each item as stored, in the order of items. Empty if include_permissions was false. |
item_acls[].checked_out_to_user | int32 | Specifies 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_authoritative | bool | Specifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version. |
item_acls[].custom_component | AccessControlListComponent | Accesses the custom component of this ACL. |
item_acls[].custom_component.named_acl_id | int32 | Specifies the named ACL link of this component. |
item_acls[].custom_component.has_named_acl | bool | True if the component links to a named ACL (named_acl_id). |
item_acls[].custom_component.current_user_id | int32 | Specifies the current user binding of this component. |
item_acls[].custom_component.has_current_user | bool | True if the component has an access control entry for the current user. |
item_acls[].custom_component.permissions[] | repeated AccessControlEntry | The access control entry datas. The data belongs to the key in the corresponding index. |
item_acls[].custom_component.overridability_permissions[] | repeated AccessControlEntry | Overridability permission data of this ACL component. |
item_acls[].custom_component.status | ACCESSCONTROLLISTCOMPONENTSTATUSFLAGS | Modification status of this component. |
item_acls[].restrictive_components[] | repeated AccessControlListComponentMapEntry | Accesses the restrictive automatic components of this ACL. |
item_acls[].restrictive_components[].key | AccessControlListComponentKey | Access control list component. |
item_acls[].restrictive_components[].component | AccessControlListComponent | Access control list component. |
item_acls[].secondary_access_control_list | AccessControlList (recursive) | Secondary ACL used for latest version ACL. Not used for access check if null. |
item_acls[].additive_components[] | repeated AccessControlListComponentMapEntry | Accesses the additive automatic components of this ACL. |
item_acls[].additive_components[].key | AccessControlListComponentKey | Access control list component. |
item_acls[].additive_components[].component | AccessControlListComponent | Access control list component. |
item_acls_for_indexing[] | repeated SimpleACL | The 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 SimpleACLComponent | Components. |
item_acls_for_indexing[].value[].allowed[] | repeated int32 | Users (positive IDs) and user groups (negative IDs) allowed read access by this component. |
item_acls_for_indexing[].value[].denied[] | repeated int32 | Users (positive IDs) and user groups (negative IDs) denied read access by this component. |
Related methods
- IRPCValueLists.GetValueListItemsWithPermissions -- Gets the items of one value list or object type, or only the changes since a known version.