File id attribute for Nexus files¶
In its current definition of NXroot
no attribute is provided to hold a
unique ID for a file. Though there is one for the filename, this might
not be unique and can change over time. Several facilities are planning
to store files on large storage systems to which access is provided not
only via a file system but also via web applications. The latter ones
typically rely on a database holding an index of the files on the
storage. In such cases a file on the storage system is typically
associated with an ID which acts as a primary key for the file.
Currently this ID is only stored in the database. Thus if the names or
locations of files on the storage system change there is no way to
rebuild the map between IDs and files.
I thus suggest to add an attribute file_id
to the NXroot
class which
allows facilities to store such a unique key for a file directly to the
Nexus file. The other ID values available are related to a particular
instance of NXentry
and are thus not feasible to identify a file. In
particular if several instances of NXentry
are stored in a single file
(this would make sense for archiving purposes as tape libraries can
usually handle large files much better than very small ones).
NXroot (base class, version 1.0)
@NX_class
@file_time
@file_name
@file_update_time
@NeXus_version
@HDF_version
@HDF5_Version
@XML_version
@creator
@file_id
NXentry
The file_id
attribute should be of type NX_CHAR
.