This article provides an overview of the architecture and working of Elvis 5.
At the core of the system lies Elvis Server which takes care of almost all of the functionality available in Elvis such as security (granting or denying users access to assets), a search engine, file processing (generating thumbnails and previews, extracting and embedding metadata and extracting full text for indexing) and file versioning.
To allow integration with other systems and easy re-use of content a RESTful API is available.
A number of customizable plug-ins can be configured to perform automation or to extend client functionality.
The Server is completely self proficient which means that no external databases or other resources are required other than a file system. Elvis Server has a built-in Web server for all its HTTP communication while all communication between the Elvis clients and the Server is done over HTTP or HTTPS, meaning minimal configuration complexity regarding firewalls.
Combined with thumbnails and previews that are based on standard Web formats, the Elvis clients are very fast on a local network and can be easily used from remote locations or over the Internet.
One of our main goals with Elvis is to provide an easy-to-use and open platform for working with content. The ease 'less-is-more' philosophy is not only visible in the user interface but also in the server architecture and configuration.
The Elvis 5 structure: clusters and nodes
Elvis 5 is a dynamically scalable system with a high level of built-in availability, redundancy and load balancing.
The Elvis 5 structure consists of a cluster of one or more nodes, each with the ability to take on a specific role such as that of a search engine for searching and indexing, a processing engine for processing files and generating previews, or a job scheduler for running scheduled jobs.
Note: Technically, each node is the same and each is installed by using the same installer. Its role is determined by changing the configuration during the installation.
A typical cluster consists of 3 Search nodes and 2 Processing nodes.
For more information, see The Elvis 5 structure: clusters and nodes.
Sharing files with colleagues, customers or other contacts is made easy by using the Elvis Share client. All it takes is selecting some assets in an Elvis Web client or the Desktop client, have Elvis generate a URL and sending that URL to the users who you want to share the assets with. Users can then access these assets through a Web browser without having to log in to Elvis. You can set various access rights for the users such as the ability to download the assets, approve them or let users upload new assets.