After looking at what Jack Brighton has been doing with FieldFrame in Expression Engine (which AFAICT is really similar to Drupal's CCK), hearing BAVC's desire to stick with PBCore, and knowing that CPB is actively working on requirements for PBCore 2.0, I took another look a PBCore. What I found was that most of the terms the beta stations wanted to include in a new standard were really similar to an existing PBCore term. In most case, giving each station the ability to 'clarify' a PBCore term was all that was needed to leverage the existing standard.
So I wrote a new PBCore module to do just that. The only elements that weren't easily mapped from the Doodle voting back to PBCore were Government - Local, Government -State, Culture/Ethnicity and Social Issues. These are the current DOM genres...
The new PBCore module does 4 things:
- 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.
- Allow a each site to enable/disable items within an element to meet there local needs
- Allow a each site to customize the description of items within an element to meet there local needs
- 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.
I haven't done any UI work yet, but I believe that adding weight, parent and some additional code this approach will actually adding a hierarchy of selectable or unselectable items that Craig's prefered .
1) Arts/ Entertainment
- Books/ Poetry
- Comedy/ Drama
2) Community Info
3) Culture & Society
- Gender/ Sexuality
- Culture/ Ethnicity
- Lifestyle/ Hobbies
- Spirituality/ Religion
4) Documentary & Journalism
- Business/ Economy
- Legal/ Political
- Science/ Tech
5) Education/ Schools
For ratings, we've moved from the single safe_for_all_ages checkbox to just 4 FCC ratings with customized descriptions.
TV-Y => Young children - G/TV-Y
TV-G => General audiences - PG/TV-G
TV-14 => Parental guidance suggested - PG13/TV-14
TV-MA => Mature audiences - R/TV-MA
The 2.x branch of om_timeslot_scheduler now includes a start and end time to block adult content from being scheduled. Even though we've only enabled TV-MA at DOM, that code will block any content we get from another station that uses TV-MA+VSL, TV-MA+VS, TV-MA+VL, TV-MA+V, TV-MA+SL, TV-MA+S, or TV-MA+L as well as MPAA: R, MPAA: NC-17, or MPAA: NR.
While this approach doesn't get 100% of what everyone wants, the fact that the CPB is actively soliciting feedback to revise PBCore makes me comfortable enough to continue building a codebase on this structure. The solution to the terms several stations wanted that can't be mapped is to lobby CPB to have them included in PBCore2.0. As soon as PBCore2.0 even reaches a draft state, we can commit a new version of the PBCore module to deprecate old terms, update terms, and add new terms to the options you have the option of enabling for your users.