Graphic Hub Administrator Guide
Version 3.9 | Published January 25, 2024 ©
Image Library Extension
This chapter describes the Graphic Hub Image Library Extension functionality.
In this section, you find the following information:
Introduction
The Image Library Extension offers the following functionality related to still images with browser based UIs:
-
Ingesting of images.
-
Metadata editing and assignment on/to images.
-
Searching for images including the assigned metadata.
-
Import of existing Viz Object Store image images and metadata.
It requires the following Graphic Hub components:
-
Graphic Hub ImEx Agent: Provides HTTP APIs and serves the browser based UI components. Imports images in the native Viz Engine format into Graphic Hub through Graphic Hub REST.
-
Graphic Hub REST: To import images in the Viz Engine format into a destination directory on the Graphic Hub.
-
Graphic Hub: For storage of metadata and images. The metadata and original image data is stored isolated form the existing file content. An image in the native Viz Engine format is created in a destination directory, as it is done with the Graphic Hub ImEx Agent distribution plans and watch folder workflow. The native Viz Engine images are read by Viz Engine during playout.
Important Pre-installation Information
Before setting up the Graphic Hub Image Library, observe the following:
-
The server must meet the minimum Graphic Hub hardware requirements.
-
It requires Graphic Hub REST and Graphic Hub ImEx Agent. The server running those must meet the Graphic Hub REST and Graphic Hub ImEx Agent Requirements.
-
The feature requires a license and is only available in modes Multiuser and Cluster (Main / Replication). See Licensing Graphic Hub.
-
Clients like Pilot Edge, Pilot Data Server and Media Sequencer need to be able to access Graphic Hub ImEx Agent across the network.
-
The Graphic Hub ImEx Agent open search endpoint needs to be configured in the Pilot Data Server Search Provider settings.
-
All data is stored in the configured Graphic Hub data directory. It is included in the Graphic Hub Terminal internal backup, and when the data directory is copied.
-
The internal file formats are automatically upgraded when the Graphic Hub is started on an older data directory.
-
In general, old clients can work on newer versions, but newer clients cannot work on older versions.
-
A dedicated destination directory for the staged image library content is mandatory. Do not use an existing destination directory (watchfolder, MSE staging) because content is synchronized with the image library and files in the destination will be marked for deletion by setting an expiration date.
The Image Library functionality requires specific Graphic Hub component versions:
Required and Recommended Versions |
Graphic Hub 3.9.1+ |
In case an upgrade of all components is not possible the image library still works, but with limitations:
Other Version Combinations |
Limitations and Known Side Effects |
Graphic Hub 3.8.0 |
Some features in the Image Library are present in the user interface but have no effect: Filtering by Date, Title, ID; Sorting order (ascending / descending), sorting by upload / last updated date (These features were implemented in Graphic Hub version 3.9.0+) |
Graphic Hub REST 2.8.0 |
Timeouts with default settings due to missing optimizations with many images in the image library. Requires to increase the GH REST request timeout, which can cause other issues and delays. |
Important: Always use the versions as listed above.
Key Features of the Image Library Extension
-
Centralized storage for both Viz Engine graphics and playout relevant images. Does not require a network share or mapped drive.
-
Easy setup of main and replication in terms of redundancy and fail-over.
-
Easy installation without any extensive database knowledge or upgrade procedures.
-
Easy import of data from Viz Object Store (metadata from Oracle, images from the network share).
-
Easy UI-driven import from a running Oracle database via a browser based UI hosted by Graphic Hub ImEx Agent. The import only has to be done one time in the transition phase. Note that re-import deletes all previously imported data and all changes.
-
Provide Core functionality with new standalone Web-UIs.
-
Ingest UI (basic UI to ingest single images).
-
Metadata editing/assignment UI (basic UI to edit/assign metadata on/to images).
-
Search UI and OpenSearch endpoints to cover basic search needs (image, person).
-
-
Shared browser based UI components served by Graphic Hub ImEx Agent.
-
Compatibility with existing Products (if possible).
-
Images support background loading in Viz Engine, as they are imported in the native Viz Engine image format.
-
Content is failsafe redundant on the Graphic Hub cluster.
-
Content is deployable with Graphic Hub Deploy Agent/Graphic Hub Manager.
Notable Limitations
-
Image Library content must be administered through the provided browser based UIs.
-
Searching in the image library metadata is only possible through the provided search UI or the search provider (opensearch) exposed by the Graphic Hub ImEx Agent.
-
Deletion of images and metadata must be done through the Image Library UIs. When an image is deleted on the Graphic Hub with Viz Artist or Graphic Hub Manager is is staged again from the Image Library system.
-
-
Focus is on search/ingest and Pilot Edge workflows.
-
Image Library functionality requires specific minimum Graphic Hub component versions (see above).
-
The provided API versions and UI components are bound to the Graphic Hub component versions.
-
Currently no support for synchronization on the metadata through Graphic Hub Deploy Agent in this initial version.
-
The imported image content stored on the Graphic Hub file part and are used by Viz Engine for playout are deployable and can be synchronized.
-
A manual backup solution is possible.
-
-
Metadata models are static in the initial release (the model can not be changed).
-
Static metadata also means searchable fields cannot be changed.
-
-
Ingesting has limited support for file types and might not work with some. Missing a list for supported file types.
-
The alpha channel is ignored when importing a BMP image.
-
Director search: Person search in Director has issues with displaying details and displays errors.
-
Image library Synchronization / Indices: No visual feedback about the current status when executing a differences / sync server / check indices/ fix indices.
Known Problems and Workarounds
-
Problem: The Image Library Web-UI freezes and gets unresponsive. The affected browser tab is blocked and after some time a dialog can be shown to stop or wait for the page to finish. Can happen in admin mode when doing repeated clicks on the navigation menu or selections in the ingest view.
-
Affects: Graphic Hub ImEx Agent 2.0.0, 2.1.0, 2.1.1
-
Workaround: Close the tab and open the Web-UI again.
-
-
Problem: The image library database cannot be loaded properly on Graphic hub startup and reports errors in the Graphic Hub log. As a consequence images may not be shown after an ingest and the metadata is not indexed and cannot be searched properly and sorting does not work as expected.
-
Affects: Graphic Hub 3.9.0
-
Background: Can happen when the Graphic Hub data directory is upgraded or newly created.
-
Solution: Upgrade to Graphic Hub 3.9.1 or newer.
-
-
Problem: An error is shown with "Error while calling the Graphic Hub: AccessDenied. Exception ID: ExAccessDenied". On ingest one may get an additional warning shown with "TypeError: Cannot read properties of undefined (reading 'id')".
-
Affects: ImEx Agent 2.0.0, 2.1.0, 2.1.1
-
Background: This can happen when the Graphic Hub looses the image library license or the image library database was not loaded properly during Graphic Hub startup.
-
Solution: Validate that the license is properly allocated in the Graphic Hub log file. Validate that the image library database could be loaded in the Graphic Hub log file.
-
Supported Image Media Types
The following formats and mime-types are supported by the ImEx Agent Image Library:
Extension |
Mime Type |
Image Type |
Note |
.bmp |
image/bmp |
Windows OS/2 Bitmap Graphics |
No transparency |
.gif |
image/gif |
Graphics Interchange Format (GIF) |
|
.jpg and .jpeg |
image/jpeg |
JPEG images |
|
.png |
image/png |
Portable Network Graphics |
|
.tga |
image/tga |
Targa Image File |
No alpha 32 |
.tiff |
image/tiff |
Tagged Image File Format (TIFF) |
No CMYK and LAB |
Note: All other formats cannot be dragged and dropped into the Image Library. If problems are encountered, make sure the file extension is correct (image.xxx is not allowed, rename it to image.jpg).
Basic Setup
These are the steps to set up the Graphic Hub Image Library:
-
Install Graphic Hub (see To Install a Graphic Hub). You may configure a new and empty data directory or use an existing one.
-
Install Graphic Hub REST (see To Install the Graphic Hub REST).
-
When both installations are complete, the configuration windows for Graphic Hub Terminal and Graphic Hub REST open automatically in the browser.
-
Create a new configuration for mode Multiuser or Main/Replication and enable the allocation of the Image Library Extension license (see Graphic Hub Mode Configuration, Licensing Graphic Hub).
-
In the Graphic Hub Terminal window, click Start Server to start the Graphic Hub server.
-
Switch to the Graphic Hub REST configuration window. Select the local Graphic Hub (if desired) as Graphic Hub server, and click Apply:
-
Log on to the Graphic Hub as Admin. The default password is VizDb:
-
Install Graphic Hub ImEx Agent (see To Install the Graphic Hub ImEx Agent).
-
After the Graphic Hub ImEx Agent is configured, create a new destination directory (see Graphic Hub ImEx Agent Manage Imports).
-
Open Import > Destination directories
-
Press the Add Destination button
-
Configure the used Graphic Hub REST by selecting the Endpoint in the dropdown menu or editing the input
-
Use the user Admin. The default password is VizDb if it has not been changed.
-
Select or create a destination directory by clicking on the "..." icon
-
Press Add.
Important: A dedicated destination directory for the staged image library content is mandatory. Do not use an existing destination directory because content is synchronized with the image library and files in the destination will be marked for deletion by setting an expiration date.
-
-
Configure the Image Library by navigating to Import > Image Library.
-
Select the previously created destination directory and save the changes with Apply.
-
An Image Library distribution plan is created to process imports for the Viz Engine native image format.
-
This can either be viewed in the ImEx Configuration page or in the Image Library Administrative UI > Availability Page.
-
-
The Image Library Web-UIs can be accessed at http://127.0.0.1:19390/imagelibrary/index.html .
-
Install Viz Pilot Data Server.
-
Add the Graphic Hub Image Library as search provider in the Data server settings. This enables search of media in Pilot Edge.
-
Service Document URL: http://HOST:19390/restvos/service.
-
Currently no username and password is required.
-
-
Open Pilot Edge or Template Builder and test the search in the Media tab.
User Interface
General Concepts
-
One Web application to serve all Image Library topics.
-
Ingesting
-
Editing (images + metadata)
-
Importing (from external sources)
-
Searching
-
Administrative tasks
-
-
Image states: Images can have multiple states depending on the current progress in processing.
-
Image is stored on Graphic Hub Image Library storage, meaning only available for Image Library clients.
-
Image is processing, meaning it is currently converted to the native Viz Engine image format and imported to a destination directory.
-
Image is available, meaning Viz Engine can load the native format from Graphic Hub.
-
-
Metadata:
-
The metadata structure is represented as a model based on the Vizrt JSON Data Format (VDF-JSON).
-
This is fixed in the initial version and not user editable.
-
-
The metadata content is represented as a payload which is validated against the model.
-
This can be edited by the user and assigned to images.
-
-
-
Reactive:
-
When tasks are executed in the background or by other clients the views are instantly updated.
-
Uploading an image with another client, makes the image immediately available in the main view, if image status changes, those changes are automatically reflected in the UI.
-
-
-
Snackbars:
-
Snackbars display updates from the back-end regarding current tasks or errors.
-
They are visible until the user closes them or until a timeout is reached.
-
To view the message history, go to the Status page.
-
Snackbar messages are purged after every page reload!
-
-
-
Tasks:
-
Tasks are asynchronously running background operations.
-
There are several tasks:
-
Importing of images from an Oracle Database
-
Analyzation of an Oracle Database
-
Importing of Metadata from an Oracle Database
-
Deletion of multiple images
-
Synchronization / comparison of Metadata between two servers
-
Finding / Fixing search index differences
-
Deletion of the whole database
-
-
These tasks can't run simultaneously.
-
If a task is active, a progress bar is shown in the Image Library UI.
-
Information for the last running task can be seen in the Status Page.
-
View: How to Browse Images and View Metadata
Viewing current Image Library content in the main view where all other views are visible. Most of the necessary tasks should be done here.
-
All available files are displayed in the main view.
-
You can execute all actions (searching, ingesting, editing).
-
Able to filter and order files on certain properties.
-
Refine your filters and ordering when browsing or serching
-
The filters are grouped and can be combined
-
Selected filters, ordering and active search are indicated with blue buttons
-
-
Has pagination and displays the total number of files and currently viewed page.
-
Amount of displayed files is defined by the screen space, and therefore dynamic.
-
Images can be selected, and have an overlay to display their status.
-
Images details can viewed by clicking on them:
-
Display the metadata.
-
Display the image properties
-
Display the image with an higher resolution.
-
Ingest: How to Add Images
Ingesting is the process in which a user uploads one or more an images to the Graphic Hub Image Library and assigns metadata.
This can be done by using the Upload/Import button on the main menu.
-
At the Ingest page the user can upload one or multiple images by dragging and dropping an image onto the upload pane.
-
Alternatively, click on Select Files to open a dialog to browse for images.
-
-
The ingest automatically attempts to fill metadata by the file name.
-
Required metadata fields must be filled by the user, this can be done by clicking on the specific image.
-
Confirm the upload of all selected image by pressing Import.
-
The image is uploaded to Graphic Hub and is immediately available for usage in the Image Library and Asset search in Pilot Edge.
-
Graphic Hub ImEx Agent automatically schedules an import and conversion to the Viz Engine native image format through Graphic Hub REST. This is indicated with the processing state.
-
When the image is converted and ready for playout by Viz Engine it is in the available state.
Editing: How to Edit Metadata
Editing metadata can be done in the main and search view by selecting an image.
Information: Required fields need to be filled, a red box indicates required fields when saving.
Information: You can edit Persons much better by selecting a field in the person editor and pressing ALT + ENTER. Now you can edit more fields and also add an organization.
Deleting: How to Delete an Image
This can be done in the main and search view by selecting one or multiple images and then clicking Delete.
Searching: How to Search for Images
The search bar is used to search for images.
-
Simple search based on all required metadata fields
-
Title
-
Description
-
Person:
-
TV Name
-
First Name
-
Last Name
-
-
Tags
-
-
The search is case insensitive and narrows by combining words. i.e.: "Lionel Messi" finds only images with the searchable fields "Lionel" and "Messi"
-
Total found results are displayed under the page view
-
You can also order and Filter the search result
-
It is also possible to use quotes in your search in order to find a literal string (for example, "Lionel Messi" only shows images containing Lionel Messi but not Messi Lionel).
-
To refine searches, wildcards can also be used:
-
?: A?ple returns results containing both Apple and Ample.
-
*: Matches one or more characters at the current position: A*le returns Aple, Apple and Appple.
-
Information: An active search is indicated with blue search button. Clear the search result by deleting the search or hitting the "x"
Searching: How to Filter by Upload / Last Changed Date
To filter by the upload / last changed date, click the gear icon next to the search bar. There you can select a start and end date.
Searching: How to Search for Images with Pilot Edge
The open search endpoint needs to be added as search provider in the Pilot Data Server configuration. Please consult the Pilot Manual for instructions.
Information: The default service document to add for the Image Libary is: http://HOSTNAME_IMEX:19390/restvos/service .
Importing: How to Import an Existing Viz Object Store Database
Importing is a one stop process which allows to connect to an Viz Object Store Oracle database and import existing images (from the network share) and metadata once.
Information: Importing is only available in "Administrative View". The process should only be executed once for an initial import! Map your VOS image share network drive properly before starting this task: How to Map a Network Share into a Drive and Access it from Windows Services for Import!
-
It requires the Oracle access settings (hostname, username, password, database) and access to the network share used.
-
Steps:
-
Provide configuration and credentials for:
-
Hostname: Host where Oracle is running.
-
Username and Password: Oracle username and password.
Note: Use the user that owns the Viz Pilot schema. Typically this is pilot, and not a system user like system or sys.
-
Database service: The Oracle DB service instance (typically pilot or vizrtdb).
-
Server port: The Oracle service port (typically 1521).
-
-
Click Check connection. It should show Database Connection Successful
-
Edit the analyze options:
-
Edit Image Shares: Shows all image locations (network shares) found in the Oracle database.
-
From these paths the images are read and imported.
-
You are able to edit every individual path by editing the "Replace path with" part
-
You can replace all paths by adding applying a part of the path and its replacement in the first fields
-
-
-
-
Full search: use all database entries, even if the image is not available on the network share
-
By default this setting is disabled, meaning only content is analyzed where an image is available.
-
Enabling this only analyzes and display the image entries, they are ignored during the import because no image is available.
-
-
-
Click Analyze Database: Starts to analyze the database content and the available images.
-
This can be done several times when the configuration is changed (for example, when editing the Image Shares mapping).
-
The Oracle database content and available images are analyzed, which can take some time.
-
If there are no results:
-
Please check that the network share is accessible for a service (Map it correctly)!
-
Refine your Image Share mapping by editing the image shares
-
-
-
Select a subset or all images to import by clicking Select (top left) > Select All.
-
Start the import by clicking Action (top left) > Import.
-
The import process starts and runs asynchronously on the Graphic Hub ImEx Agent.
-
The import process might take some time and the UI is locked and allows to view the progress and cancel the import.
-
Note that staging into the processing of the Viz Engine native format is done asynchronously and may lag behind.
-
It is recommended to have only one client active to avoid constant reloading of clients due to the massive amount of updates sent during the import.
-
Administrative Tasks
Information: Adminstrative tasks are only available in the "Adminstrative view", you are able to access this by adding ?admin=true to the URL. For example, http://localhost:19390/imagelibrary/index.html#/?admin=true .
-
Duplicates: View and find duplicates.
-
Import Progress/Status:
-
Currently uploading and processing images of the Graphic Hub ImEx Agent distribution plan.
-
Import status: Displays the status of the last import and analyze task.
-
-
Availability: View the status of currently importing items to the Viz Engine native file format
-
Server: Displays multiple options to check
-
One can "Fix Indices" to resolve search / filtering issues. (Database Indices Tab)
-
Shows the differences of "Models", "Images" & "Payloads"
-
The Differences can be "Missing" (on either Graphic Hub) or "Changed".
-
-
One can "Lock" + "Unlock" the database.
-
One can "Sync" it with another Graphic Hub, which can be used to bring Main and Replication in sync. (Database Sync Tab)
-
One can "Drop" the whole database on the right server in the view. Needed if sync errors happen. Meaning one drops the database first and then synchronizes it again.
-
Troubleshooting
A Yellow Icon is Displayed on the Top Right of the Page
A yellow icon indicates an abnormal state of the Image Library. Click on the icon to get more information about the warning / error.
Image Library Page Has Connection Errors / Fresh Installation / Graphic Hub ImEx is not Responding
Image Library might not have been configured properly. Mostly those errors are because:
-
Missing / Misconfigured License: Make sure the Image Library Extension is explicitly enabled in the Graphic Hub Terminal.
-
ImEx Image Library is not configured to a destination directory.
-
ImEx destintion directory is not properly configured.
-
Graphic Hub REST is not properly configured or stopped.
Image Library Cannot Import / Ingest Images
-
Check if you have the license properly configured . The Icon should not be yellow (this is only visible if a problem has been detected, in a non-administrative mode).
-
Main and Replication need a license, please check both servers.
-
Validate that the license was properly allocated by the Graphic Hub (see in the log) and that the license has a proper maintenance period.
-
-
Check if there is enough disk space available on Graphic Hub.
-
Ingesting does not allow all file types with every format. Make sure you are importing a common file type.
-
Make sure the Image library is not in "Locked" mode . The Lock should not be yellow (this is only visible if a problem has been detected, in a non-administrative mode).
Search Results / Filters are Incomplete and Missing / Showing Wrong Images
Before re-indexing, make sure that there is no background processing being done on the Graphic Hub:
-
Go to the Image Library Administrative UI > Server Page > Database Indices Tab
-
Take note of the Image Index / Search Index Working values:
-
These values represent the amount of background Image Library tasks queued on the Graphic Hub
-
Searching and Filtering may return outdated results until all tasks are processed in the background.
-
These queues may grow and are processed in the background. This is nothing to worry about and expected when ingesting or editing a large amount of images.
-
The search index on the Graphic Hub(s) may have run out of sync. You can manually trigger re-indexing of all metadata:
-
Go to the Image Library Administrative UI > Server Page
-
Lock the server in the Database Lock State Tab. Locking the database blocks any write-access to the Image Library database.
-
Go to the Database Indices Tab.
-
Click on Fix Indices:
-
This operation re-indexes every image and metadata item.
-
Re-indexing of a database with 500,000 images takes about 3 minutes, but can take longer depending on load and hardware configuration.
-
The current stage and progress are logged in the Graphic Hub Log.
-
Some filters don't work, Sorting by ascending and descending and filtering by date has no effect.
This is not an error, but expected due to an outdated version of Graphic Hub. The ImEx Agent still works properly, but these new features are not usable. An outdated Graphic Hub with a newer ImEx Agent version is indicated by the Download Icon on the top right in Administrative mode.
There Are Missing Images In My Cluster or some Metadata Is Incomplete
-
Main and Replication might have differences due to network issues.
-
Main and Replication might have differences due due to the downtime of one server.
Use built in tools to solve the differences:
-
Make Sure both servers are running and are in their native mode, with no open transactions.
-
Use the Image Library Administrative UI > Server page > Database Sync tab.
-
Select your replication server on the top right of the page. It is also possible to view and fix differences between Graphic Hubs which are not in a Cluster.
-
Show Differences: Runs a task in the background which shows all the differences between.
-
After the task is done, a list of differences between both servers appears.
-
-
Hit Sync Servers to synchronize both servers again. The database needs to be locked beforehand.
-
Don't forget to unlock the servers again.
Image Library Is not Deployed via Deploy Agent, I Need a backup Solution!
There are multiple ways of making a backup:
-
Shutdown:
-
Shutdown you Servers properly at a service interval and let Graphic Hub Terminal handle the backup.
-
Shutdown your Servers properly and backup the data directory.
-
-
Manual Server Synchronization
-
You can synchronize your servers manually to a Multiuser server with a valid Image Library License.
-
Go to the Image Library Administrative UI > Server page. Enter your destination server instead of choosing one: VizDbServer@Hostname:19396.
-
Show Differences: Runs a task in the background and show all the differences between both servers.
-
After the task is done a list of differences between both servers appears.
-
-
Hit Sync Servers to synchronize both servers again. The database needs to be locked for this procedure.
-
Don't forget to unlock the servers again.
-
Images Are not Available for Playout / Cannot Find Images in Graphic Hub
The images are only available in the Graphic Hub when they have been converted to the native Viz Engine format. They do not contain any "usable" name, because they are only intended for automated playout.
You should not be using those images for Designing Scenes, etc...
If your playout cannot load these images make sure to have a look in the Availability page:
-
You can view the distribution plan for the Image library in the ImEx configure web interface.
-
You can view the distribution plan for the Image library in the Image Library Administrative view:
-
If there are Pending imports, you need to either wait for the ImEx to import the images.
-
Check the errors by going into the status tab (Administrative mode only).
-
Check your Graphic Hub for corrupted files.
-
If the Import does not continue, Restarting Graphic Hub ImEx Agent & Graphic Hub REST should trigger a new import of all the missing files.
-
Availability / Distribution Plan Does not Continue Upload / Shows Errors
The distribution plan is not continuing and stops without recovery might happen for various reasons:
-
Check your Graphic Hub for corrupted files.
-
Restart Graphic Hub REST Service.
-
Restart Graphic Hub ImEx Agent Service.
Import Reports Error ORA-00942 Table or View Does not Exist
This error may occur when a user is used for the import that is not the owner of the Viz Pilot schema (for example, system or sys).
-
Please use the user that owns the Pilot schema, typically this is pilot.