IRPCObjectTypesAdmin.AddObjectType

View as Markdown

Administration API / specialized admin session

Creates a new object type or value list.

ServiceObject type administration MFiles.IRPCObjectTypesAdmin
gRPC method/MFiles.IRPCObjectTypesAdmin/AddObjectType
HTTP (mf-http-grpc)POST /grpc/v1/add-object-type
RequestAddObjectTypeRequest
ResponseAddObjectTypeResponse
Book and levelAdministration API, specialized
Kindadmin
SessionRequired: the session ID from LogIn in the mfiles-session-id-bin metadata.
Idempotentno
Returns metadata structure versionno
Streamingnone (unary)

Remarks

Request: AddObjectTypeRequest

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

FieldTypeDescription
obj_typeValueListAdminThe new object type or value list. object_type.is_real_object_type chooses between the two. The ID, GUID and owner property definition are ignored and assigned by the server.
obj_type.object_typeValueListBasic data.
obj_type.object_type.idint32The 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.
obj_type.object_type.name_singularstringThe singular name, for example "Customer". Empty if the caller is not allowed to see the list.
obj_type.object_type.name_pluralstringThe plural name, for example "Customers". Empty if the caller is not allowed to see the list.
obj_type.object_type.iconbytesThe icon in .ICO format. Filled only by GetObjectTypes and GetObjectType, and only for real object types; empty in GetValueLists and GetValueList.
obj_type.object_type.is_real_object_typeboolTrue for an object type, whose items are objects (documents, customers); false for a plain value list (Country, Classes, Users).
obj_type.object_type.is_hierarchicalboolTrue if items can have a parent item in the same list (ValueListItem.has_parent).
obj_type.object_type.has_ownerboolTrue if every item belongs to an item of another list, the owner list (owner_object_type). For example, contact persons are owned by customers.
obj_type.object_type.owner_object_typeint32With has_owner, the ID of the owner list or object type.
obj_type.object_type.owner_property_defint32Owner property def. Subobjects of objects of this object type have this property in their meta data for describing owner relationships.
obj_type.object_type.optionsOBJTYPEFLAGSFlags of the list, for example can_add_items and is_external. See OBJTYPEFLAGS.
obj_type.object_type.default_property_defint32The ID of the lookup property definition that refers to items of this list by default, for example 1079 (Customer) for the Customer object type.
obj_type.object_type.read_only_properties_during_insert[]repeated int32The 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.
obj_type.object_type.read_only_properties_during_update[]repeated int32The 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.
obj_type.object_type.targets_for_browsing[]repeated ObjectTypeTargetForBrowsingObject type targets for browsing.
obj_type.object_type.aclAccessControlListSpecifies 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.
obj_type.object_type.object_type_permissionsObjectTypePermissionsForClientWhat 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.
obj_type.object_type.default_acl_for_objectsAccessControlListDefault 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).
obj_type.object_type.vl_sorting_type_reservedVLSortingTypeThe 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).
obj_type.object_type.sort_ascending_reservedboolTrue 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.
obj_type.object_type.guidstringThe GUID of the object type or value list, with braces. Resolve it to the vault's ID with GetMetadataStructureItemIdByGUID.
obj_type.object_type.preferred_title_property_def_idint32Property definition ID of the title property for the user's preferred language.
obj_type.object_type.search_characteristicsObjectTypeSearchCharacteristicsIf set, specifies search characteristics of the object type.
obj_type.object_type.indexing_definitionObjectTypeIndexingDefinitionIf set, defines the indexed value lists and properties of the object type. Used for searching from Master Storage.
obj_type.object_type.view_idint32The ID of the object type specific view.
obj_type.database_connection_stringstringOLE DB connection string to the external database that contains the objects (and their properties) of this object type.
obj_type.database_select_all_statementstringSQL statement that retrieves the objects from an external database.
obj_type.database_select_one_statementstringSQL statement that retrieves a specific object from an external database.
obj_type.database_insert_statementstringSQL statement that inserts a new object to an external database.
obj_type.database_select_latest_id_statementstringSQL statement that retrieves the ID of the just inserted record in the external database.
obj_type.database_update_statementstringSQL statement that updates an existing object in an external database.
obj_type.database_delete_statementstringSQL statement that deletes an object in an external database.
obj_type.database_column_mappings[]repeated ObjectTypeColumnMappingColumn mappings.
obj_type.database_column_mappings[].object_typeint32Object type ID.
obj_type.database_column_mappings[].ordinalint32One-based source field ordinal.
obj_type.database_column_mappings[].source_fieldstringSource field name.
obj_type.database_column_mappings[].data_typeuint32Source field's data type.
obj_type.database_column_mappings[].target_property_defint32Target property definition.
obj_type.database_column_mappings[].can_insertboolIs the source field part of insertion operations?
obj_type.database_column_mappings[].can_updateboolIs the source field part of update operations?
obj_type.automatic_acl_for_objectsAutomaticPermissionsThe default automatic permissions for items and objects.
obj_type.automatic_acl_for_objects.permissionsNamedACLThe automatic permissions for an object for which the user selects this item.
obj_type.automatic_acl_for_objects.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.
obj_type.automatic_acl_for_objects.use_object_permissionsboolIf true the object/item's own permissions are used as its automatic permissions.
obj_type.aliasesstringSemicolon-separated list of semantic aliases.
obj_type.tags[]repeated NamedValueNamespaceNames value namespaces related to the object type.
obj_type.tags[].namestringThe name of the namespace.
obj_type.tags[].values[]repeated NamedValueNamed value array related to the namespace.
obj_type.version_numberuint32Object type version number, used for OT modification conflicts tracking.

Response: AddObjectTypeResponse

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

FieldTypeDescription
obj_type_resultValueListAdminThe new definition with its ID, GUID and owner property definition (object_type.owner_property_def) set.
obj_type_result.object_typeValueListBasic data.
obj_type_result.object_type.idint32The 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.
obj_type_result.object_type.name_singularstringThe singular name, for example "Customer". Empty if the caller is not allowed to see the list.
obj_type_result.object_type.name_pluralstringThe plural name, for example "Customers". Empty if the caller is not allowed to see the list.
obj_type_result.object_type.iconbytesThe icon in .ICO format. Filled only by GetObjectTypes and GetObjectType, and only for real object types; empty in GetValueLists and GetValueList.
obj_type_result.object_type.is_real_object_typeboolTrue for an object type, whose items are objects (documents, customers); false for a plain value list (Country, Classes, Users).
obj_type_result.object_type.is_hierarchicalboolTrue if items can have a parent item in the same list (ValueListItem.has_parent).
obj_type_result.object_type.has_ownerboolTrue if every item belongs to an item of another list, the owner list (owner_object_type). For example, contact persons are owned by customers.
obj_type_result.object_type.owner_object_typeint32With has_owner, the ID of the owner list or object type.
obj_type_result.object_type.owner_property_defint32Owner property def. Subobjects of objects of this object type have this property in their meta data for describing owner relationships.
obj_type_result.object_type.optionsOBJTYPEFLAGSFlags of the list, for example can_add_items and is_external. See OBJTYPEFLAGS.
obj_type_result.object_type.default_property_defint32The ID of the lookup property definition that refers to items of this list by default, for example 1079 (Customer) for the Customer object type.
obj_type_result.object_type.read_only_properties_during_insert[]repeated int32The 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.
obj_type_result.object_type.read_only_properties_during_update[]repeated int32The 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.
obj_type_result.object_type.targets_for_browsing[]repeated ObjectTypeTargetForBrowsingObject type targets for browsing.
obj_type_result.object_type.aclAccessControlListSpecifies 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.
obj_type_result.object_type.object_type_permissionsObjectTypePermissionsForClientWhat 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.
obj_type_result.object_type.default_acl_for_objectsAccessControlListDefault 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).
obj_type_result.object_type.vl_sorting_type_reservedVLSortingTypeThe 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).
obj_type_result.object_type.sort_ascending_reservedboolTrue 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.
obj_type_result.object_type.guidstringThe GUID of the object type or value list, with braces. Resolve it to the vault's ID with GetMetadataStructureItemIdByGUID.
obj_type_result.object_type.preferred_title_property_def_idint32Property definition ID of the title property for the user's preferred language.
obj_type_result.object_type.search_characteristicsObjectTypeSearchCharacteristicsIf set, specifies search characteristics of the object type.
obj_type_result.object_type.indexing_definitionObjectTypeIndexingDefinitionIf set, defines the indexed value lists and properties of the object type. Used for searching from Master Storage.
obj_type_result.object_type.view_idint32The ID of the object type specific view.
obj_type_result.database_connection_stringstringOLE DB connection string to the external database that contains the objects (and their properties) of this object type.
obj_type_result.database_select_all_statementstringSQL statement that retrieves the objects from an external database.
obj_type_result.database_select_one_statementstringSQL statement that retrieves a specific object from an external database.
obj_type_result.database_insert_statementstringSQL statement that inserts a new object to an external database.
obj_type_result.database_select_latest_id_statementstringSQL statement that retrieves the ID of the just inserted record in the external database.
obj_type_result.database_update_statementstringSQL statement that updates an existing object in an external database.
obj_type_result.database_delete_statementstringSQL statement that deletes an object in an external database.
obj_type_result.database_column_mappings[]repeated ObjectTypeColumnMappingColumn mappings.
obj_type_result.database_column_mappings[].object_typeint32Object type ID.
obj_type_result.database_column_mappings[].ordinalint32One-based source field ordinal.
obj_type_result.database_column_mappings[].source_fieldstringSource field name.
obj_type_result.database_column_mappings[].data_typeuint32Source field's data type.
obj_type_result.database_column_mappings[].target_property_defint32Target property definition.
obj_type_result.database_column_mappings[].can_insertboolIs the source field part of insertion operations?
obj_type_result.database_column_mappings[].can_updateboolIs the source field part of update operations?
obj_type_result.automatic_acl_for_objectsAutomaticPermissionsThe default automatic permissions for items and objects.
obj_type_result.automatic_acl_for_objects.permissionsNamedACLThe automatic permissions for an object for which the user selects this item.
obj_type_result.automatic_acl_for_objects.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.
obj_type_result.automatic_acl_for_objects.use_object_permissionsboolIf true the object/item's own permissions are used as its automatic permissions.
obj_type_result.aliasesstringSemicolon-separated list of semantic aliases.
obj_type_result.tags[]repeated NamedValueNamespaceNames value namespaces related to the object type.
obj_type_result.tags[].namestringThe name of the namespace.
obj_type_result.tags[].values[]repeated NamedValueNamed value array related to the namespace.
obj_type_result.version_numberuint32Object type version number, used for OT modification conflicts tracking.