Metavus has a plugin-based architecture, with core functionality providing the basic infrastructure, including metadata creation and editing, and plugins building on that core to deliver extended and expanded capabilities and features.

Core

Ready to Use

After a quick installation (usually taking less than five minutes), Metavus is ready-to-go, right out of the box, with preconfigured schemas and a sample set of records that can be played with to learn the basics and then cleared away to make room for your own collections with just two clicks.

Fully-Customizable Metadata Fields and Schemas

To provide you with the building blocks to set up collections and workflows ideally suited to your needs, Metavus supports 17 distinct types of metadata fields:  TextParagraphEmailURLNumber, Point, Date, Timestamp, Tree, Controlled Name, Option, File, Image, Flag, Reference, Search Parameter Set, and User.  Schemas can be built using any or all of these field types.  (The default resource record schema is based on Dublin Core.)

Metadata-Based Everything

In Metavus, metadata fields and schemas aren’t just for resource records.  Collections and users are also described by fully-extendable and customizable schemas, and default plugins like PagesBlog, and Calendar Events use their own extendable and customizable schemas to describe web pages, blog entries, and events (respectively).

Flexible Access Control

Per-schema viewing, editing, and authoring permissions are supported, and they can be based on both user permission flags and on metadata field values, with logical operators and the ability to create condition subgroups.  That means that you can, for example, set up permissions like “make records with field A set to value B or C and field D set to value E visible to users with permission flag F or G, and allow users with permission flag H to add new records and edit them as long as field J is set to value K and the record was created within the last 30 days“.  And since collections, users, and other types of data are also metadata-schema-based, the same access control power and flexibility applies there as well.

Powerful Built-In Search Engine

The search engine in Metavus is built in to the software, requiring no external installation or configuration. It supports both keyword and per-field searching, and common search conventions like phrase searching and term exclusion.  In addition, it also supports date and numeric comparisons and date ranges, and even allows you to search by when a metadata field was last modified.  And because it’s all metadata-based, a single search can bring you results from across all schemas – collection records, blog posts, web pages, calendar events, and more – and once you have search results, they can be narrowed down via faceted searching.

Dynamic Collections

Collections in Metavus are defined via sets of search parameters, which means that they can be based on any combination of metadata conditions or attributes, and are dynamically-updated in real time, based on any and all current metadata.

Accessible and Standards-Compliant User Interface

The user interface in Metavus is designed to be easy to customize, being built with the Bootstrap front-end framework, with style sheets written in SCSS/SASS. In addition, the default interface meets accessibility standards right out-of-the-box, being WCAG 2.1-compliant. And if your interface needs are more complex, Metavus supports running multiple interfaces on the same site, allowing you to, for example, present one interface to teachers and an entirely different interface to students.

Robust Infrastructure

Metavus is designed to run in the very common LAMP environment, using PHP 7.1 or newer and MySQL 5.0 or newer.  The code is open source, and complies with the PSR-1 and PSR-12 coding standards, to make it easy to understand and extend. Performance and SEO are also priorities, so the underlying application framework includes many optimizations, like dynamic page caching, automatic JavaScript and CSS minification, and transparent URL fingerprinting.

Command Line Access

And if you’re more comfortable sometimes working from the command line, Metavus includes the mvus command line utility, that allows many common tasks to be performed from the command line, including checking and setting configuration parameters, enabling and disabling plugins, and adding users and granting them privileges.  The mvus utility also includes options to back up and restore the site database, and can be extended to add additional commands via plugins.

Plugins

You can leverage built-in plugins, add third-party plugins, or create your own, to extend and expand the core Metavus functionality.  Below is a sampling of a few of the 25+ plugins included with the Metavus distribution package.

AutoFetch

No need to download every file yourself.  AutoFetch allows you to specify a URL field that may contain addresses of files you want to retrieve, a File field in which to store those files, and a set of search parameters to decide which records you want to fetch files for.

BatchEdit

Need to update values in a lot of records at once?  BatchEdit allows you to make changes to one or more fields in a specific set of records or items en masse, setting, clearing, prepending or appending to, or searching and replacing in text.  And it works across multiple types of items simultaneously (e.g. resources and blog posts).

Blog

The Blog plugin allows you to add blog or news functionality to your collection site, with a fully-customizable schema, and leveraging all of the functionality that implies, like being able to edit news entries via BatchEdit, or automatically make changes via Rules.

Captcha

Spam bots can be the bane of any serious website or interactive collection. This plugin provides CAPTCHA anti-spam support to help discourage bots from wasting your time.

CalendarEvents

The CalendarEvents plugin allows you to add a calendar of upcoming events to your site, described by a fully-customizable schema, that (again) allows you to take advantage of other tools to automate processing and save time and effort.

Developer

Metavus is designed to be very extendable, and part of that is making it friendly for software development. The Developer plugin provides an array of developer-oriented features, like database query and execution profiling, an info line at the bottom of every page that shows page generation time, DB cache rate, and other useful info, and an email whitelist, so that you don’t accidentally spam your user base while testing a new feature or rule.

Folders

Folders allows users to assemble and share their own collections of records or items. Records can be added and removed manually, or en masse from search results, and folders can be arranged via a drag&drop interface or sorted by any relevant metadata field.

GoogleMaps

The GoogleMaps plugin allows you to embed a Google map window into a web page (some coding required), with pins on the map being driven by metadata field values.

Mailer

Use the Mailer plugin’s WYSIWYG editor to create email templates that include search criteria, lists of collection records or items, specific metadata field values from those items, and more. And those templates can then be used with the Rules plugin, to generate automated mailings when specific conditions occur (e.g. a collection record is ready for review).

Metrics Recorder / Metrics Reporter

Web analytics tools like Google Analytics and Matomo are great for gathering general website usage data, but they don’t tie that data easily back to usage of your collection.  The Metrics Recorder and Metrics Reporter plugins gather more collection-specific data, directly tied to specific collection records, users, and searches, and generate interactive reports based on that data, to help you more effectively manage your collection and site.

OAI-PMHServer

The Open Archives Initiative’s Protocol for Metadata Harvesting (OAI-PMH) is a widely-used mechanism for sharing metadata, used by large catalogs like OAIster to share resource information far and wide.  The OAI-PMHServer plugin allows you to share your records via this popular protocol, defining metadata formats to offer for harvesting, with your metadata fields mapped within those formats in any way you like.

Pages

It’s not always just about the collection – sometimes you need to post collection policies or cataloging guidelines or other content for your users. The Pages plugin allows you to add pages to your site containing free-form content, using a WYSIWYG editor.  And those pages of course have their own customizable metadata schema, allowing you to add any additional details about them you might like to track, and leverage that data with Rules and other plugins to add features or automation.  For quick edits, the Pages plugin also provides an inline editor that allows you to edit a page in place, and for more complex content, it offers tab support, to organize content on a page via clickable tabs.

ResourceExporter

Sometimes you want to get some of that metadata out of your collection, to manipulate with Excel, share it with friends (perhaps so they can manipulate it with Excel), or ingest it into some other application. The ResourceExporter plugin allows you to export any or all of your collection metadata in various formats.

Rules

A big part of what makes Metavus such a powerful tool for building, maintaining, and sharing a digital collection is automation, and the Rules plugin is at the core of that.  With Rules, you can specify conditions that, when met, can send custom emails or automatically make changes to field values.  In addition, conditions can be time-based, which means that, for example, you could set up a rule that automatically sends an email notice about records that have been marked as “Unreviewed” for more than 30 days.

SecondaryNavigation

Easy access to the things you use most can make a big difference in using (or maintaining) a website or collection.  The SecondaryNavigation plugin provides the ability for each user to customize their own personal secondary menu on your site, with the links that are most important to them, via a drag-and-drop interface.

URLChecker

Maintaining the links in your collection or on your site is essential to keeping it valuable and usable.  The URLChecker plugin continuously monitors links in metadata fields (including Pages plugin page content), alerts you when they have gone bad, and provides an array of tools to manage and correct them.