This is an overview article that describes various metadata features available. See Using Metadata in the WebUI for details on how to create and manage metadata using the Web UI, and Metadata API for details on API usage.
Egnyte provides powerful built-in metadata capabilities that allow the users to efficiently set metadata properties on a large number of files and folders, and enable quick searching of content based on metadata.
Metadata Sections and Properties
Individual properties can be grouped in Metadata Sections in order to allow more control over structure of metadata. For example, a project folder may contain files that need some accounting related properties, as well as some execution-details related properties. In order to organize these properties, two separate Metadata Sections can be created; one for accounting metadata and one for execution status metadata, and individual properties can be grouped into appropriate sections. Each metadata section can contain up to 20 properties.
Supported Data Types for Properties
Each property can be one of the following types:
- Integer - A whole number
- Decimal - Integer and non-integer numbers
- String - A string of arbitrary characters
- Date - Past, present, or future date
- Dropdown List - Provide predetermined options for users to select from
Public, Protected, and Private Metadata Sections
Three types of metadata sections can be created by the admin user:
- All properties in this section can be viewed and set via both the Web UI and the API.
- Any users with the correct read/write permissions on the given file or folder can read/set the values.
- The section and its associated properties are not visible in the Web UI.
- All properties in this section can be only be set and viewed via the API.
- Private sections are typically used by applications for integration purposes.
- All properties in this section can be viewed, but cannot be set via the Web UI.
- All properties can be set and viewed via the API.
- Protected sections are typically used when it is desirable to allow users to see the values, but not set/modify them.
Metadata inheritance is released on a limited availability basis.
Metadata inheritance allows users to set the value of a property at a folder level, and then have it automatically populated for every file and folder within that subtree. In order to use inheritance, an admin can enable inheritance on a metadata section at creation time. One cannot enable or disable inheritance on a metadata section after it has been created.
- While creating a public or a protected Metadata Section, the admin can choose to enable inheritance for that section
- All properties within that section become inherited
- In folder metadata, when a value is set for any property in that metadata section, all subfolders and files within that folder tree inherit the value
- For example, consider the structure below. If one sets any value in the inheritance-enabled section on Folder A, then Folder B, Folder C, File X, File Y, and File Z all inherit that value.
- Inherited metadata values can be used for searching, just like other individually-assigned metadata.
Once a value has been set for an inherited property on a folder, a user can choose to set a different value for the same property on a subfolder within that tree, or on a specific file. Doing so would override the inherited value from the parent folder.
- In the figure above, if one sets any value in the inheritance-enabled section on Folder A, then Folder B, Folder C, File X, File Y, and File Z all inherit that value.
- Now if a user sets a different value on Folder C, then Folder C and File Z will have the new value, while the other folders and files will continue to have the value assigned to Folder A.
If a file has some inherited metadata values and it is moved outside its folder to another location, it carries the inherited value with it as if that value was locally set on the file. In other words, moving a file effectively converts the inherited values to locally set values for that file.
Folder-Scoped and File Type-Scoped Metadata
Folder-scoped and Filetype-scoped metadata are released on a limited availability basis.
Folder-scoped metadata allows users to partition off the metadata sections so that some sections are only available for specific folders. When users edit or view metadata for a file/folder, they would only see metadata that has been designated as applicable for that item.
Filetype-scoped metadata is similar in that it allows users to designate specific metadata sections as being only applicable to specific filetypes. For example, a metadata section that is only applicable to image files, or a metadata section that is only applicable to spreadsheets, etc.
At creation time, an admin can choose between three scopes for a metadata section:
- Global - This metadata section is applicable to all files and folder
- Folder scoped - This metadata section is only applicable to items in the specific folders (and their subfolders)
- Filetype scoped - This metadata section is only applicable to specified filetype(s)
If the admin chooses ‘Folder scoped’, they can choose one or more folders where the newly created section is applicable. It is possible to create a folder-scoped section without any folders. An admin or a folder owner can later associate folders with any folder-scoped section. A folder-scoped section can also be created with inheritance enabled.
Moving Files and ‘Unassociated’ Metadata
It is possible to set some folder-scoped metadata properties on a file and then move the file to another folder whether those properties are not available. For example, let us say that there is a folder-scoped metadata section called 'Marketing Data’ that is associated with folder called ‘Upcoming campaigns’. The folder contains some files where some values have been set for properties in the ‘Marketing Data’ section. If any of those files are moved to another folder that is not associated with ‘Marketing Data’, the ‘Marketing Data’ properties on those files are now called ‘Unassociated metadata’.
The unassociated properties continue to remain attached to the files and can be used for searching and sorting, just like any other metadata. See Using Metadata in the Web UI for details on how unassociated properties are displayed in the WebUI.
File-Level and Version-Specific Metadata
Most metadata created within Egnyte applies to a file as a whole, and not to specific versions of the file. Therefore, when a new version of a file is created, all metadata values that have been set for this file (whether directly or via inheritance) continue to apply to the latest version as well. However, there are some specific use cases where it is desirable to apply different metadata values to different versions of the same file. For example, while applying sensitivity classification, different version of a file may have different content and hence require different classifications applicable to each version. Such version-specific metadata can be applied and retrieved via the API, but not the WebUI. If a file contains version-specific metadata, the WebUI will simply display the metadata from the latest version.