CPB today announces the launch of the PBCore 2.0 Development Project
(Washington, DC) - - The Corporation for Public Broadcasting today announced the launch of the PBCore 2.0 Development Project.
The PBCore 2.0 Development Project will expand the existing PBCore metadata standard to increase the ability, on one hand, of content producers and distributors using digital media to classify and describe public media content (audio and video) and, on the other, of audiences to find public media content on a variety of digital media and mobile platforms.
The PBCore 2.0 Development Project will also work to enhance the PBCore standard to ensure that it will be able to satisfy the demands of multiplatform digital content as well as an evolving World Wide Web. Since PBCore's development in 2005, it has become not only one of the most widely-used metadata standards in the world, but also the basis of other metadata standards. At the same time, in the last five years, the number of digital media applications that would benefit from PBCore has grown significantly. An updated PBCore will benefit not only public broadcasters, but all users of metadata standards based on PBCore.
PBCore in Drupal Supports Customizing Elements End Users See
Don’t look now, but the PBCore module I added to Drupal.org is now #3 in results for pbcore on Google bumping pbcoreresources.org to #4. That module wasn’t intended to be the definitive PBCore module for Drupal, but a conversation started to help locate users and developers with similar needs. This approach of releasing modules that aren’t ready for users and developing in public has worked really well for the MERCI (Manage Equipment Reservations, Checkout and Inventory) and Creative Commons modules. I’m hoping to find additional Drupal users and developers interested in PBCore so I’m not writing code that only serves our needs… which is basically all the module does so far.
The new PBCore module does 4 things:
1. Populates tables with full list of items genre, rating and language elements that adhere to the PBCore standard. This creates a shared vocabulary required to facilitate sharing content.
2. Allow a each site to enable/disable items within an element to meet there local needs
3. Allow a each site to customize the description of items within an element to meet there local needs
4. Provide functions that can be added to CCK fields to populate the select list with the enabled items. Users see the customized descriptions, but the value stored in the database is the standard PBCore value.
After talking to Andrew Feigenson and Ed Leonard about PBcore 2.0, I’m thinking of adding a 5th feature…
5. An option to report the status and customizations of PBCore items to a centralize location.
I’ve posted a detailed explanation about why we’re customizing PBCore terms, but it can be summed up by the Gay/lesbian genre item. We customize that to Gender/Sexuality everywhere a user would see it, but store the actual PBCore term in the database. This works well to appease our producers creating content in that genre who find limiting the description of their work to a Gay/lesbian insulting. It can’t imagine how would argue that Gay/lesbian shouldn’t be deprecated and Gender/Sexuality added, but in cases where the change is less obvious having data from sites using the PBCore module would be helpful. If hundreds of sites are customizing Gay/lesbian and no one is enabling French, that would be a logical place to start revising genre.
Any thoughts on the approach of allowing customizations? Sharing status and customizations of items?
Generating PBCore Instantiation data
To follow up on the comments in Jack’s last post I posted XSL and workflow information that can translate the XML output of MediaInfo and turn it into a PBCore instantiation element (not the whole record, just the technical side of PBCore).
The XSL and a drag-and-drop Mac application of it are at http://www.avpreserve.com/pbcore-instantiationizer/.
An article about the development and related issues is at http://www.avpreserve.com/pbcore-instantiationizer/pbcore-instantiationizing/.
Overall transforming many of the metadata fields from MediaInfo’s output to PBCore is fairly straightforward (mediainfo:overallbitrate -> pbcore:formatdatarate, mediainfo:filesize -> pbcore:formatFileSize), but fields such as formatTracks and formatChannelConfigurations are a bit of a challenge to automate.
Any feedback on this is appreciated.