Uniform Type Identifier

cadena de texto para identificar objetos en los sistemas Apple

Un Uniform Type Identifier (UTI, siglas en inglés de Identificador uniforme de tipos) es una cadena de texto usada en el software de Apple Inc. para identificar de manera única un tipo de archivo. Apple provee UTIs predefinidas para identificar objetos del sistema comunes – documentos o archivos de imagen, carpetas y archivos ejecutables, datos en streaming, videos – y permite a los desarrolladores añadir sus propios UTIs para sus aplicaciones. El soporte para las UTIS fue añadido en Mac OS X 10.4, integrado en la tecnología del escritorio Spotlight, el cual usa UTIs para categorizar documentos. Una de las metas primarias del diseño de los UTIs es la de eliminar las ambigüedades y problemas asociados de saber el tipo de contenido de un archivo desde su MIME type, extensión de archivo, o tipo de creación.

Las UTIs usan una estructura de nombres DNS inversa. Los nombres pueden incluir caracteres ASCII A-Z, a-z, 0-9, guion ("-"), y punto ("."), y todos los caracteres Unicode abajo de U+007F. Los dos puntos y diagonales son prohibidas para mantener compatibilidad con Macintosh y las convenciones de rutas de archivos de POSIX. Las UTIs soportan múltiples herencias, permitiendo a los archivos ser identificados con cualquier número de tipos, como sean apropiados para el tipo de contenido.

Índice

HistoriaEditar

One of the difficulties in maintaining a user-accessible operating system is establishing connections between data types and the applications or processes that can effectively use such data. For example, a file that contains picture data in a particular compression format can only be opened and processed in applications that are capable of handling picture data, and those applications must be able to identify which compression type was used in order to extract and work with that data. In early computer systems – particularly DOS, its variants, and some versions of Windows – file associations are maintained by file extensions. The three to four character code following a file name instructs the system to open the file in particular applications.

Beginning with System 1,[1] Macintosh operating systems have attached type codes and creator codes as part of the file metadata. These four-character codes were designed to specify both the application that created the file (the creator code) and the specific type of the file (the type code) so that other applications could easily open and process the file data. However, while type and creator codes extended the flexibility of the system — a particular type of file was not restricted to opening in a particular application — they suffered many of the same problems as file extensions. Type and creator codes could be lost when files were transferred across non-Macintosh systems (such as Unix-based servers), and the plethora of type codes made identification problematic.

In addition, the classic Mac OS did not recognize file extensions at all, leading to unrecognized file errors when files were transferred from DOS/Windows systems. OPENSTEP, which formed the basis of Mac OS X, used extensions, and early versions of Mac OS X followed suit. This led to some controversy with users and developers coming to OS X from NeXT or Windows origins advocating for continued use of file extensions, and those coming from Classic Mac OS urging Apple to replace or supplement file extensions with type and creators.[2]

Other file identification types exist: for example, MIME types are used for identifying data that is transferred over the web. However, Apple's UTI system was designed to create a flexible file association system that would describe data hierarchically and allow for better categorization and searching, standardize data descriptions across contexts, and provide a uniform method of expanding data types. For instance, the public.jpeg and public.png UTIs inherit from the public.image UTI, allowing users to search narrowly for JPEG images or PNG images or broadly for any kind of image merely by changing the specificity of the UTI used in the search. Further, application developers who design new data types can easily extend the UTIs available. For example, a new image format developed by a company may have a UTI of com.company.proprietary-image and be specified to inherit from the public.image type.

Apple's Mac OS X continues to support other forms of file association, and contains utilities for translating between them, but will use UTIs by preference where available.

Estructura de una UTIEditar

Apple reserva el dominio public.* como un conjunto base de tipos de datos para todas las UTIs. Otras UTIs son asociadas con estas UTIs base en conformidad, un sistema similar para clasificar la herencia. Las UTIs que conforman otras UTIs comparten unos tipos básicos, y en general cualquier aplicación que trabaje con datos de una UTI más general debería permitir trabajar con datos de cualquier UTI que conforman esa UTI general.

UTIs públicas de AppleEditar

Las UTIs públicas más generales en la jerarquía de Apple son las siguientes:

Identificador Conforma a Descripción
public.item Clase base en la jerarquía física
public.content Clase base para todos los documentos
public.data public.item Clase base para todos los archivos, flujos de bytes, etc.
public.image public.data, public.content Clase base para todas las imágenes

Las UTIs son usadas en ocasiones para identificar otros identificadores de tipos de archivos:

Identificador Conforma a Descripción
public.filename-extension public.case-insensitive-text Extensión de archivo
public.mime-type public.case-insensitive-text MIME type
com.apple.ostype public.text Código de cuatro caracteres (OSType)
com.apple.nspboard-type public.text NSPasteboard

Las UTIs dinámicas pueden ser creadas en necesidad de las aplicaciones; estas tienen el prefijo dyn. y toman la forma de "una UTI compatible que encapsula a una extensión de archivo, MIME type, OSType, o cualquier cosa desconocida."

UTIs de tercerosEditar

Apple provee una colección larga de UTIs oficiales predeterminadas. Las aplicaciones de terceros pueden añadir UTIs a la base de datos mantenida por Mac OS X "exportando" UTIs declaradas en el paquete de la aplicación. Ya que las nuevas UTIs pueden ser declaradas "conformes a" UTIs del sistema ya existenes, y las declaraciones pueden asociar nuevas UTIs con extensiones de archivo, una declaración exportada sola puede proveer al sistema operativo suficiente información para habilitar nuevas funcionalidades, como habilitar Quick Look para nuevos tipos de archivo.

Buscar una UTIEditar

Para obtener la UTI de un archivo dado, usa el comando Mdls (meta data list, parte of Spotlight) en la Terminal.

ReferenciasEditar

Enlaces externosEditar