One of the core tenets of Metavus is the importance of getting you up and running as quickly and easily as possible.


The current version of Metavus is 1.1.0.

Metavus is also available via Github.


Installation of Metavus usually takes less than five minutes.


Metavus is designed to run on a web server with a LAMP (Linux/Apache/MySQL/PHP) stack.

The minimum required PHP version is 7.2.  The minimum required MySQL version is 5.0.  (MariaDB may also be used, in place of MySQL.)  (PHP 7.2 was released in 2017, so most servers put online in the last five years or that are older but actively-maintained should work fine.)


  1. Download the Metavus distribution package from the link above.
  2. Create a new database for Metavus on your web server, and a MySQL (or MariaDB) user who has all privileges for accessing and modifying it.
  3. Unzip the Metavus package and upload the files to the desired location on your web server.
  4. Access your new Metavus installation using a web browser (go to, for example, “” or “”, depending on your domain and which directory you uploaded the files to), and follow the instructions on that page to complete the installation.


  • The database for a new installation of Metavus should be empty when starting the installation.
  • If you want Metavus to live in the root of your domain (e.g. “”), upload the files to the root directory of your web server.
  • If you want Metavus to live in its own subdirectory under your domain (e.g. “”), then create an appropriately-named directory on your server (like “collection”), and upload the files to that directory.
  • The URL for your site should match where you uploaded your files.  So if you uploaded them to the root directory, you would go to “”, while if you uploaded them to a subdirectory called “collection”, you should visit “”.


Like the installation, upgrading Metavus to the latest version is designed to be quick and easy.

To upgrade to a new version of Metavus, just download the Metavus package, unzip the package and upload the files to your site, and then visit your site with your browser.  The upgrade will be run automatically.

The files unique to your site are all stored in the “local” directory, except for the “.htaccess” file in the base directory;  everything else in the directory tree are Metavus distribution files.

(If you are upgrading from CWIS, please contact us for a few additional tips to help ensure a smooth migration.)

Change Log

Version 1.1.0 – Released June 8, 2023


  • Added ability to configure settings on a per-interface basis, via new Interface Configuration page.
  • Added interface configuration setting to customize the title of the Featured Items section on the Home page.
  • Added Clean URLs for Browse Resources and Home pages.
  • Added interface configuration setting to control the number of items to show on the collection display page.
  • Added list of upcoming events to Home page in default interface.  (Requires CalendarEvents plugin.)
  • Added option for downloading original image file to full image page.
  • Added a clarifying note to Browse Resources page, shown only to administrative users, indicating that the Browse page only lists records that are publicly-visible.
  • Added clarifying import instructions and examples of import files to tab-delimited data import.
  • mvus utility: New command “export schema” that exports a specified schema definition to an XML file.
  • AutoScreenshot plugin: Added a “Take Now” button that can be used to immediately capture a screenshot rather than waiting for a background  task to run.
  • CalendarEvents plugin: Added EventsPerPage configuration parameter.
  • Collage plugin: Added logic to ensure images are larger than the configured title size, to avoid images from being stretched by the browser. 
  • Developer plugin: Add the ability to profile memory usage.
  • Google Analytics plugin: Add support for GA4 properties. 
  • Google Maps plugin: Make KML cache lifetime configurable. 
  • UrlChecker plugin: Added a column to results page showing which records are publicly-visible.
  • NEW PLUGIN: CalendarFeed — Provides a URL to a feed of events in iCalendar format that match a set of search parameters.
  • NEW PLUGIN: CustomCSS — Allows CSS customizations to be added from the site interface, without adding or editing files.
  • NEW PLUGIN: FeaturedItems — Generate a list of featured items of a specific type using search parameters, a sorting field, and an optional grouping field.


  • Merged Advanced System Configuration into System Configuration.
  • Revamped Administration page to break plugin administration menu items out into their own sections
  • Revise UI to consistently use <button> tags where appropriate rather than a mixture of <button> and <a> tags.
  • Add mv-image-extralarge and mv-image-huge sizes.
  • Revised the way plugin configuration options are loaded in numerous plugins to avoid unnecessary work when the page being loaded is not the plugin configuration page.
  • Revised GoTo page to return a 404 on invalid record IDs rather than going to a fallback redirect.
  • When purging sample data, sample Collection records are now also removed.
  • Added validation to many MetadataField methods, primarily aimed at ensuring the parameters being set for a field are valid for that field’s type.
  • AutoScreenshot plugin: Increased resolution of screenshots and change them to use a 1:1 aspect ratio.
  • AutoScreenshot plugin: Revised the “Firefox” screenshot method to use the –headless –screenshot options that Firefox now provides rather than running Firefox inside an Xvfb instance.
  • Blog plugin: Revised blog summaries so that those which include an image will display captions if the post includes a caption but omit them otherwise.
  • Pages plugin: Revised handling of tabbed content to allow content after the end of the tabs and also multiple sets of tabs on a page.
  • Mailer plugin: Improved error handling and logging.


  • Fixed misuse of DTSTAMP property in iCalendar, so that it now uses the the event’s most recent time of modification, rather than the date and time of the creation of the iCalendar document.
  • Fixed bug in FormUI that resulted in insertion keywords not being escaped when appearing in the contents of text area fields.
  • Fixed bug where blog titles were smaller than sub-headers, removed H1 from the list of CKEditor styles.
  • Fixed a bug in RecordEditingUI where vocabularies with exactly the number of terms configured as the incremental search threshold for their metadata field could not be edited.
  • Improved error message when no Unique Field is set but the data file omits values for Title or Description on a line during data import.
  • Added more-informative error message to data import when no data file was uploaded for import. 
  • Fixed bug on home page that caused one extra item to appear in the Featured Resources area.
  • Fixed numerous bugs in search parameter set editor, involving subgroup handling, tree field handling, and user field handling.
  • Fixed the “Please Note” message for mapped fields when editing metadata fields, to direct users to Edit Metadata Schema, where the relevant settings now live.
  • Fixed generation of ‘remove’ links in search facets for Tree fields so that it respects the field’s search logic setting rather than reverting to the top-level logic setting.
  • Fixed bug that caused the search string to be lost when paging past the first page of matching terms, when editing controlled names. 
  • In Record::applyListOfChanges() (used primarily by the BatchEdit plugin), if the changes applied make the record publicly-viewable, run the “On Record Release” actions.
  • Fixed bug that prevented a metadata field’s Label or Instructions from being cleared once they were set
  • Fixed bug that rendered image insertion buttons nonfunctional in the rich text editor if the cursor was inside a heading or a list.
  • Fixed date validation bug that could cause valid dates to be rejected, when editing records.
  • Fixed bug in change set editor (used by the BatchEdit plugin and Rules plugin) that could prevent list of included fields from being editable.
  • Fixed bug in metadata field editor that prevented clearing a default qualifier.
  • Blog Plugin: fixed bug causing an exception when deleting a comment on a blog entry.
  • Blog plugin: Fixed bug that caused image captions to appear in notification emails for new posts.
  • Folders plugin: Improved error handling on folder viewing page and fixed issue with clean URL generation that was causing exceptions when invalid folder IDs were supplied.
  • OAIPMHServer plugin: Fixed bug that caused exceptions when editing a format that had no “Defaults” setting saved.
  • OAIPMHServer plugin: Use CDATA to escape field descriptions so that the generated XML will remain valid even when the descriptions have embedded HTML.
  • Mailer plugin: Fixed logic bug in approval queue page that caused the ‘approve’ button to appear only when there were no messages to approve.
  • MailingList plugin: Fixed bug that could prevent subscribing or unsubscribing when the mailing list name included capital letters. 
  • UrlChecker plugin: Fixed logic error that could prevent new resources from being queued for URL checks.

Version 1.0.1 – Released October 24, 2022


  • Added new “insert with caption” buttons (“Insert-R-C” and “Insert-L-C”), available when editing items with Image fields (e.g. Blog entries).
  • Provide an example configuration file for running Metavus with an nginx web server.
  • Add the account activation link to the user editing page (for unactivated users), to make it easier to send to users if needed.
  • Collage plugin: Added “Order Persistence Period” configuration setting, that determines how frequently the order of images changes.
  • NEW PLUGIN: NavEditor — Provides simple editing of the main navigation options in the default interface.


  • WYSIWYG editing (e.g. for Paragraph fields) now uses a whitelist for allowed CSS attributes, rather than a blacklist.
  • When editing users, select the default user interface for users who do not currently have a user interface set.
  • Default interface: Focus is now automatically switched to search box when “Search” is clicked.
  • Default interface: Footer revamped to be more responsive.
  • Default interface: Improved responsiveness in main navigation and on most forms.
  • Default interface: Set <pre> elements to wrap within the content area to prevent poorly-formatted content from breaking the layout.
  • Blog plugin: Changed teaser break marker to explicit ‘–‘ instead of double blank line.
  • Blog plugin: Whitespace is now explicitly disallowed in clean URLs.
  • Blog plugin: Do not display “Notify Subscribers” buttons for blogs that are not configured for sending notifications.
  • Collage plugin: Revised image selection to prevent adjacent repeated images.


  • Fixed issue that caused the port number to be omitted on some internal links when running on a non-standard port.
  • Fixed manual rebuilding of recommender database.
  • Fixed issue with exception occurring when viewing a folder with bad parameter values in the URL.
  • Change file length column in database (Files:FileLength) to BIGINT UNSIGNED to support very large files.
  • Revise record editing to not to use lookbehind assertions for compatibility with Safari.
  • Fixed escaping of single quotes in alt text for image “Insert” buttons. 
  • Fix a bug wrapping long lines in HTML messages that produced a mix of “\r\n” and “\r” line endings when “\r\n” was requested.
  • Fixed error that occurred due to undefined variable when exporting controlled vocabularies from within the metadata field editor. 
  • Fixed account request to make sure that default values for the User schema are used in all cases. 
  • Mailer plugin: Fixed background email sending to use correct object type, instead of always using Record. 
  • Mailer plugin: Fix bug that caused an exception when when a template that expected a resource is used in a context where no resource is available. 
  • UrlChecker plugin: Fix bug that prevented data for deleted records from being cleaned out. 

Version 1.0.0Released July 19, 2022

Initial release.