Asset storage and discovery
Assets in the Fotoware system are stored on a SAN (Storage Area Network) or on drives on a Windows server. Access to the folders can be controlled using NTFS (New Technology File System) disk permissions and/or sharing permissions.
The Index Manager server connects to these folders (either locally or across the Windows network, SMB protocol) and continuously updates the system when changes happen. This gives immediate updates to all users when files are added, changed (e.g. when metadata is updated) or removed from the archives. An advantage of using the SMB (Server Message Block) protocol is that it Index Manager will get update notifications from the file system whenever something changes, instead of having to run constant background scanning on the storage volumes. Index Manager extracts metadata from the assets and makes assets searchable by creating a reverse index of all the metadata it finds in the assets. It also extracts thumbnails and previews from the assets and stores them in a cache for serving up to clients.
What metadata is extracted?
All file information is extracted from the files in the folders that are indexed - these include file size, creation and modification time, and so on. For image formats, pixel size, resolution, and color mode are also indexed and made searchable. In addition to the metadata that can be obtained from the file system, Index Manager extracts XMP metadata from the files. The XMP fields that Index Manager recognizes are defined in the metadata schema file, which is shared with all Fotoware server applications that run on the same Windows server. The schema file can be modified using tools supplied with the Fotoware software. That way it is possible to add namespaces and field definitions to adhere to other industry standards.
What are the advantages of file system-based asset storage?
Unlike many solutions that use a database to keep all the archives assets in check, Index Manager creates a reverse index that reflects the content of actual folders on the storage. This has the following benefits:
1. Metadata travels with the asset - by backing up the assets you can relatively easily restore the system by simply reindexing the content in the event of a system failure.
2. Other systems can easily exchange assets with the Fotoware system by simply reading and/or writing files in the folders where the assets are stored.
For example, to add an asset to a Fotoware archive, a system can simply place a file in a folder that's being monitored by Index Manager. Index Manager will discover the asset, index it, and create a thumbnail representation of it. That thumbnail will be immediately available to all clients connected to the index - FotoStation, FotoWeb, or any third-party integration built on the FotoWeb API. Similarly, other systems can read and, granted correct file system access permissions are set, even remove content from the asset repositories. Index Manager will immediately detect the changes and update the index to reflect the change to clients.
3. SMB offers file system notifications, which means Index Manager will be alerted when changes take place in the folders that are attached to its indexes. This allows for immediate updating of the index and subsequent client updates without relying on a background scanning process that would be much slower when indexing large volumes.
Because Fotoware servers interact with file system objects at the lowest level, any third-party system can be used to add, modify and delete assets in the system by writing to the file repositories. This can be accomplished through direct access to a shared folder over SMB, or by delivering files over other protocols, such as FTP or HTTP.
Note that the file system notifications Index Manager relies on for instant change detection are passed over the SMB protocol. Because different storage solutions may have different implementations of the SMB protocol, they may or may not be able to relay file system notifications when assets are added or modified in the repositories. For more information, see Supported storage types.