IRPCValueLists.GetValueLists
Vault API / core read session or assertion idempotent returns metadata structure version
Gets all value lists of the vault, including the object types, without icons.
| Service | Value lists MFiles.IRPCValueLists |
|---|---|
| gRPC method | /MFiles.IRPCValueLists/GetValueLists |
| HTTP (mf-http-grpc) | POST /grpc/v1/get-value-lists |
| Request | GetValueListsRequest |
| Response | GetValueListsResponse |
| Book and level | Vault API, core |
| Kind | read |
| Session | Required: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata). |
| Idempotent | yes |
| Returns metadata structure version | yes (in the mfiles-metadata-version-bin trailer) |
| Streaming | none (unary) |
Remarks
- Requires a vault session. No special vault rights are needed.
- Returns plain value lists (such as Classes, Users or Country) and real object types; use
is_real_object_typeto tell them apart.iconis always empty here; get icons with GetObjectTypes. - Lists that the user is not allowed to see are returned with empty
name_singularandname_pluralandobject_type_permissions.can_user_seefalse. options.can_add_itemsandobject_type_permissions.can_user_add_new_itemstogether tell whether AddValueListItemFromClient can add items to the list for this user.- Names are in the session language when the vault has translations for it.
- Cacheable by metadata structure version. Returns the lists only, not their items: get items with GetLookupItems.
Request: GetValueListsRequest
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 |
|---|---|---|
call_importance | CallImportance | The importance level of this call. Leave unset or use CALL_IMPORTANCE_NORMAL.Values: CALL_IMPORTANCE_DEFAULT (0), CALL_IMPORTANCE_NORMAL (1), CALL_IMPORTANCE_CAN_BE_REJECTED (2). |
Response: GetValueListsResponse
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 |
|---|---|---|
value_lists[] | repeated ValueList | All value lists and object types, including those the user cannot see (with empty names). See ValueList. |
value_lists[].id | int32 | The ID of the object type or value list. Object types and value lists share one ID space; property definition IDs and item IDs are separate spaces. |
value_lists[].name_singular | string | The singular name, for example "Customer". Empty if the caller is not allowed to see the list. |
value_lists[].name_plural | string | The plural name, for example "Customers". Empty if the caller is not allowed to see the list. |
value_lists[].icon | bytes | The icon in .ICO format. Filled only by GetObjectTypes and GetObjectType, and only for real object types; empty in GetValueLists and GetValueList. |
value_lists[].is_real_object_type | bool | True for an object type, whose items are objects (documents, customers); false for a plain value list (Country, Classes, Users). |
value_lists[].is_hierarchical | bool | True if items can have a parent item in the same list (ValueListItem.has_parent). |
value_lists[].has_owner | bool | True if every item belongs to an item of another list, the owner list (owner_object_type). For example, contact persons are owned by customers. |
value_lists[].owner_object_type | int32 | With has_owner, the ID of the owner list or object type. |
value_lists[].owner_property_def | int32 | Owner property def. Subobjects of objects of this object type have this property in their meta data for describing owner relationships. |
value_lists[].options | OBJTYPEFLAGS | Flags of the list, for example can_add_items and is_external. See OBJTYPEFLAGS. |
value_lists[].options.all | bool | Specifies all flags set; Including any future flags. |
value_lists[].options.can_have_files | bool | Can objects have files? |
value_lists[].options.can_add_items | bool | True if new items (value lists) or new objects (object types) can be added. The caller also needs ValueList.object_type_permissions.can_user_add_new_items. |
value_lists[].options.is_external | bool | True if the list is marked external. Built-in lists such as Users (6), Workflows (7) and User groups (16) also have this flag. |
value_lists[].options.show_new_object_command_in_task_pane | bool | Show the creation command for this type in the task pane? |
value_lists[].options.is_external_connection_disabled | bool | Is external connection currently disabled? |
value_lists[].options.is_translatable | bool | Can the contents of value list or object type be translated? |
value_lists[].options.is_separate_property_storage | bool | True if the object type has its own storage of property values for searches. |
value_lists[].options.disallow_as_grouping_level | bool | Is using this object type as a grouping level in views disallowed? |
value_lists[].options.basic | bool | Is basic tier object type? |
value_lists[].default_property_def | int32 | The ID of the lookup property definition that refers to items of this list by default, for example 1079 (Customer) for the Customer object type. |
value_lists[].read_only_properties_during_insert[] | repeated int32 | The propertydef IDs of those properties that cannot be entered during the creation of a new object because they are not included in the INSERT INTO statement. |
value_lists[].read_only_properties_during_update[] | repeated int32 | The propertydef IDs of those properties that cannot be entered during the editing of an existing object because they are not included in the UPDATE statement. |
value_lists[].targets_for_browsing[] | repeated ObjectTypeTargetForBrowsing | Object type targets for browsing. |
value_lists[].targets_for_browsing[].target_object_type | int32 | The ID of the target object type. |
value_lists[].targets_for_browsing[].view | int32 | The ID of the view collection where instances of the target object type are being browsed. This view collection resides in the predefined Built-in Views view folder. |
value_lists[].acl | AccessControlList | Specifies the ACL that defines the visibility and other permission settings of this object type. Also specifies who can add new items to this object type. |
value_lists[].acl.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. |
value_lists[].acl.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. |
value_lists[].acl.custom_component | AccessControlListComponent | Accesses the custom component of this ACL. |
value_lists[].acl.restrictive_components[] | repeated AccessControlListComponentMapEntry | Accesses the restrictive automatic components of this ACL. |
value_lists[].acl.secondary_access_control_list | AccessControlList (recursive) | Secondary ACL used for latest version ACL. Not used for access check if null. |
value_lists[].acl.additive_components[] | repeated AccessControlListComponentMapEntry | Accesses the additive automatic components of this ACL. |
value_lists[].object_type_permissions | ObjectTypePermissionsForClient | What the caller may do with the list: see it (can_user_see) and add items or objects (can_user_add_new_items). Filled by the read calls of IRPCObjectTypes and IRPCValueLists. |
value_lists[].object_type_permissions.can_user_see | bool | The object type is visible for the current user (provided for symmetry). |
value_lists[].object_type_permissions.can_user_add_new_items | bool | The current user can add new items. |
value_lists[].default_acl_for_objects | AccessControlList | Default ACL for new items/objects of this type. If unset, the global default is used (vlitems: read access to all internal users; real objects: full control for all internal users). |
value_lists[].default_acl_for_objects.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. |
value_lists[].default_acl_for_objects.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. |
value_lists[].default_acl_for_objects.custom_component | AccessControlListComponent | Accesses the custom component of this ACL. |
value_lists[].default_acl_for_objects.restrictive_components[] | repeated AccessControlListComponentMapEntry | Accesses the restrictive automatic components of this ACL. |
value_lists[].default_acl_for_objects.secondary_access_control_list | AccessControlList (recursive) | Secondary ACL used for latest version ACL. Not used for access check if null. |
value_lists[].default_acl_for_objects.additive_components[] | repeated AccessControlListComponentMapEntry | Accesses the additive automatic components of this ACL. |
value_lists[].vl_sorting_type_reserved | VLSortingType | The sorting type of value list items. NOTE: This value is not currently used but is reserved for future use. Currently, sorting order is specified on the property definition level only.Values: VLSORTING_TYPE_BY_DISPLAY_NAME (0), VLSORTING_TYPE_BY_EXTERNAL_ID (1). |
value_lists[].sort_ascending_reserved | bool | True to sort in ascending order, false to sort in descending order. NOTE: This value is not currently used but is reserved for future use. Currently, sorting order is specified on the property definition level only. |
value_lists[].guid | string | The GUID of the object type or value list, with braces. Resolve it to the vault's ID with GetMetadataStructureItemIdByGUID. |
value_lists[].preferred_title_property_def_id | int32 | Property definition ID of the title property for the user's preferred language. |
value_lists[].search_characteristics | ObjectTypeSearchCharacteristics | If set, specifies search characteristics of the object type. |
value_lists[].search_characteristics.exclude_in_entire_file_data_search | bool | Specifies whether object type is excluded from file content searches. |
value_lists[].search_characteristics.exclude_in_entire_meta_data_search | bool | Specifies whether object type is excluded from metadata searches. |
value_lists[].indexing_definition | ObjectTypeIndexingDefinition | If set, defines the indexed value lists and properties of the object type. Used for searching from Master Storage. |
value_lists[].indexing_definition.indexed_value_lists[] | repeated int32 | IDs of indexed value lists. |
value_lists[].indexing_definition.indexed_properties[] | repeated int32 | IDs of indexed properties. |
value_lists[].view_id | int32 | The ID of the object type specific view. |
Related methods
- IRPCObjectTypes.GetObjectTypes -- Gets all object types (real object types only, not plain value lists), with their icons.
- AddValueListItemFromClient -- Adds a new item to a value list, as a user.
- GetLookupItems -- Gets the selectable items of one or more value lists or object types in one call, for example to fill lookup controls.