PBCore-backed Asset Metadata Management System
Ruby JavaScript
Pull request Compare This branch is 8 commits ahead, 10 commits behind mlc:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



This is a PBCore-compliant media asset database developed in Ruby on Rails.

To report bugs, email the author at mike@vermicel.li

To browse the source, go to git.mlcastle.net/?p=pbcore.git;a=summary

This software was developed by Roasted Vermicelli, LLC for the WNET Digital Archive. Copyright © 2008-2009 Educational Broadcasting Corporation. Copyright © 2009-2011 Roasted Vermicelli LLC.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/.

A copy of the GNU General Public License can also be found in the 'GPL-3' file in the root directory of the project.

Code in the vendor and gems directories of this project was created by other authors under potentially different Free Software licenses; look in those directories for further information.

This work employs PBCore. The PBCore (Public Broadcasting Metadata Dictionary) was created by the public broadcasting community in the United States of America for use by public broadcasters and others. Initial development funding for PBCore was provided by the Corporation for Public Broadcasting. The PBCore is built on the foundation of the Dublin Core (ISO 15836), an international standard for resource discovery (dublincore.org), and has been reviewed by the Dublin Core Metadata Initiative Usage Board. Copyright: 2005, Corporation for Public Broadcasting.


Refer to the server set-up, but don't actually set up a server.

Some points:

  • Copy a config from config/auth_rules to config/authorization_rules.rb (site-specific)

  • You need to create config/application.json (see .example file)

  • There's now scripts/install_required_gems.rb which will install all the dependencies needed.

  • At the moment, with rails 2.1, rubygems 1.3.7 is stable. To install with rvm:

    $ rvm rubygems 1.3.7

  • If you are using RVM you may try this for libxml/libxslt:

    $ gem install libxml-ruby –version 0.8.0

    For libxslt, this worked (macports/osx):

    $ gem install -r libxslt-ruby –version 0.9.2 – –with-xml2-lib=/opt/local/lib –with-xml2-include=/opt/local/include –with-xslt-lib=/opt/local/lib –with-xslt-include=/opt/local/include

  • Sunspot gem versions > 1.1 do not seem to work with Rails 2.1

  • Sunspot needs to be indexed and running:

	$ rake sunspot:solr:start

$ rake sunspot:solr:reindex


See doc/INSTALL.rdoc


  • /config/authorization_rules.rb is symlinked to a ruleset in /config/auth_rules/

  • /config/auth_rules/lockdown.rb is for DHC

  • zed is z.mlcastle.net

  • wnet is out-of-date and unsupported

  • bavc is gone

There's a way to get a list of records as an RSS feed. If you don't provide a search parameter, the records come back BY DEFAULT in most-recently-modified order.