IRPCPropertyDefs.GetPropertyDefs

View as Markdown

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

Gets all property definitions that the user is allowed to see.

ServiceProperty definitions and classes MFiles.IRPCPropertyDefs
gRPC method/MFiles.IRPCPropertyDefs/GetPropertyDefs
HTTP (mf-http-grpc)POST /grpc/v1/get-property-defs
RequestGetPropertyDefsRequest
ResponseGetPropertyDefsResponse
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

Request: GetPropertyDefsRequest

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

FieldTypeDescription
call_importanceCallImportanceThe 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).
include_iconsboolIgnored by the server; the response is the same for true and false.
known_versionint32The current_version from the caller's previous response, or 0 to get all property definitions. If it equals the server's current version, property_defs is empty.

Response: GetPropertyDefsResponse

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_versionint32The current version of the property definitions on the server. Store it and send it as known_version next time.
property_defs[]repeated PropertyDefThe property definitions the user can see, or empty if known_version was current. See PropertyDef.
property_defs[].idint32The property definition ID. Built-in property definitions (0 Name or title, 20 Created, 100 Class, ...) have the same ID in every vault. IDs 1-19 are never used by real property definitions.
property_defs[].namestringThe name of the property.
property_defs[].tooltipstringThe tip text of this property.
property_defs[].data_typeDatatypeThe data type of the values. Lookup properties use DATATYPE_LOOKUP (one item) or DATATYPE_MULTI_SELECT_LOOKUP (several items).
property_defs[].content_typeContentTypeContent type (sub-datatype).Values: CONTENT_TYPE_GENERIC (0), CONTENT_TYPE_EMAIL_ADDRESS (1), CONTENT_TYPE_URL (2), CONTENT_TYPE_RTF (3), CONTENT_TYPE_HTML (4).
property_defs[].is_based_on_value_listboolTrue for lookup properties; value_list then names the list. Test this flag, not value_list != 0: 0 is a valid list ID (the Document object type).
property_defs[].enable_automatic_permissionsboolTrue to allow automatic permissions via this property def.
property_defs[].is_conflict_referenceboolTrue if this is the conflict property of the object type in value_list.
property_defs[].disallow_as_grouping_levelboolTrue to disallow using this property def as a grouping level in views.
property_defs[].value_listint32With is_based_on_value_list, the ID of the value list or object type whose items are the property's values.
property_defs[].value_list_item_filter[]repeated SearchConditionA static filter on the items of value_list. The server applies it when this property is passed as filtering_property_def or LookupItemRequest.property_def; such conditions cannot be sent in search_conditions directly.
property_defs[].value_list_item_filter[].expressionExpressionThe left side of the condition: what is evaluated for each object, such as a property value, a status value or any field (full-text search).
property_defs[].value_list_item_filter[].typeConditionTypeThe comparison operator.
property_defs[].value_list_item_filter[].valueTypedValueThe right side of the condition: the value to compare with. Its data type must suit the expression, for example a lookup for a lookup property, Boolean for STATUS_TYPE_IS_DELETED.
property_defs[].update_typeUpdateTypeThe update behaviour of the property.Values: UPDATE_TYPE_NORMAL (0), UPDATE_TYPE_SET_BY_SERVER (1), UPDATE_TYPE_SET_BY_CLIENT_CODE (2).
property_defs[].automatic_value_typeAutomaticValueTypeDefines the type of the automatic value of this field, if any.Values: AUTOMATIC_VALUE_TYPE_NONE (0), AUTOMATIC_VALUE_TYPE_CALCULATE_WITH_TEMPLATE (1), AUTOMATIC_VALUE_TYPE_CALCULATED_WITH_CODE (2), AUTOMATIC_VALUE_TYPE_FIXED_VALUE_WITH_INCREMENT (3), AUTOMATIC_VALUE_TYPE_FIXED_VALUE_WITH_CODE (4).
property_defs[].default_valueTypedValueIf set, specifies a fixed default value for this property.
property_defs[].default_value.is_null_valueboolTrue if the value is empty. data is then unset.
property_defs[].default_value.typeDatatypeThe data type of the value.
property_defs[].default_value.dataTypedValueUnionThe value, in the member that matches type. Unset for an empty value.
property_defs[].iconBytesIf set, contains an icon in .ICO format (contains multiple sizes and color depths).
property_defs[].icon.valuebytesArray of bytes.
property_defs[].is_predefinedboolTrue if this is a predefined PropertyDef. Predefined PropertyDefs cannot be deleted and modifying them is restricted.
property_defs[].allow_for_all_object_typesboolTrue if this property definition can be used with all object types.
property_defs[].is_ownerboolTrue if this is the owner property of the object type in value_list.
property_defs[].is_defaultboolTrue if this is the default property of the object type in value_list (ValueList.default_property_def).
property_defs[].owner_property_def_infoOwnerPropertyDefFor a lookup property, the property whose value limits this property's values. For example, Workflow State (39) is limited by Workflow (38). A property_def of -106 means that the owner property is determined automatically.
property_defs[].owner_property_def_info.property_defint32The ID of the owner property definition, or -106 if the owner property is determined automatically.
property_defs[].owner_property_def_info.dependency_relationDependencyRelationHow this property depends on its owner property: DEPENDENCY_RELATION_FILTER limits its values to those that belong to the owner property's value, DEPENDENCY_RELATION_FILL fills it automatically from the owner property's value.Values: DEPENDENCY_RELATION_NOTHING (0), DEPENDENCY_RELATION_FILL (1), DEPENDENCY_RELATION_FILTER (2).
property_defs[].owner_property_def_info.dataDependentPropertyDefUnionDetails of the DEPENDENCY_RELATION_FILL relation.
property_defs[].object_typeint32If allow_for_all_object_types is false, the object type whose objects use this property; otherwise ignored.
property_defs[].aclAccessControlListIf set, specifies the ACL that defines the visibility and editability of this property in objects.
property_defs[].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.
property_defs[].acl.is_fully_authoritativeboolSpecifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version.
property_defs[].acl.custom_componentAccessControlListComponentAccesses the custom component of this ACL.
property_defs[].acl.restrictive_components[]repeated AccessControlListComponentMapEntryAccesses the restrictive automatic components of this ACL.
property_defs[].acl.secondary_access_control_listAccessControlList (recursive)Secondary ACL used for latest version ACL. Not used for access check if null.
property_defs[].acl.additive_components[]repeated AccessControlListComponentMapEntryAccesses the additive automatic components of this ACL.
property_defs[].property_def_permissionsPropertyDefPermissionsForClientWhat the caller may do with values of this property: see them and edit them. Set when the property definition has permissions.
property_defs[].property_def_permissions.current_user_can_seeboolThe property def is visible for the current user (provided for symmetry).
property_defs[].property_def_permissions.current_user_can_editboolThe current user can edit the values.
property_defs[].value_list_sorting_typeVLSortingTypeThe sorting type of value list items.Values: VLSORTING_TYPE_BY_DISPLAY_NAME (0), VLSORTING_TYPE_BY_EXTERNAL_ID (1).
property_defs[].value_list_sort_ascendingboolTrue to sort in ascending order, false to sort in descending order.
property_defs[].validation_typeValidationTypeHow values are validated; validation_string holds the rule.Values: VALIDATION_TYPE_NONE (0), VALIDATION_TYPE_REGEX (1), VALIDATION_TYPE_CODE (2).
property_defs[].validation_stringstringThe validation rule; its meaning depends on validation_type.
property_defs[].formatting_typeFormattingTypeHow values are formatted; formatting_string holds the format.Values: FORMATTING_TYPE_NONE (0).
property_defs[].formatting_stringstringThe format; its meaning depends on formatting_type.
property_defs[].guidstringThe GUID of the property definition, with braces.
property_defs[].optionsPROPERTYDEFFLAGSFlags such as can_use_in_search. See PROPERTYDEFFLAGS.
property_defs[].options.allboolSpecifies all flags set; Including any future flags.
property_defs[].options.can_use_in_searchboolAre objects searchable by this property?
property_defs[].options.can_use_in_history_searchboolAre history versions of objects searchable by this property?
property_defs[].options.show_only_filtered_valuesboolShould only the values matching the property filter be shown on the metadata card?
is_property_def_required[]repeated boolAlways empty. Required properties are defined per class: see ObjectClass.associated_property_defs.