The PMP is shut down as of July 2021 - this module is no longer maintained!

This module integrates Drupal with the Public Media Platform (PMP) API.

Please make sure you read the README.md file before trying things out. It requires a 3rd-party library -- and a very specific version of it.

This package is composed of 8 distinct modules.

  • pmpapi provides basic, minimal PMP API functionality.
  • pmpapi_push (push) allows one to turn local entities into PMP docs, and then write them to the API.
  • pmpapi_pull (pull) allows one to pull down various API docs, and then them turn the into (local, Drupal) entities.
  • pmpapi_query_tools allows the user to build, save and edit complicated pull queries that are run on cron.
  • pmpapi_groups allows the user to create/edit/delete PMP user groups. There is no strict dependence between the groups and permissions module.
  • pmpapi_permissions (perms) allows one to manage permissions on API content. Do not confuse these with native Drupal permissions.
  • pmpapi_updates (updates) allows one to have pulled stories automatically updated, with a minimal amount of effort.
  • pmpapi_remote_files extends functionality of pull, via the Remote stream wrapper module. It allows certain file-based profiles to be pulled, without the file being copied locally.
  • pmpapi, pmpapi_push, pmpapi_pull, and pmpapi_update rely heavily on classes that, in theory, could be extended or replaced with custom classes.
  • These modules try to be very particular about vocabulary, in order to reduce confusion. When referring to "low-level" functionality of the base module (pmpapi.module), the verbs are: fetch (a single doc), query (make a general query), send (data to the API), and remove (doc(s) from the API). When referring to functionality that maps drupal entities to PMP docs (and vice versa), the verbs are push and pull.

Project information

Releases