Module demo: Central Things Manager

Friday, 28 February 2014 - 1:00pm

Centrally maintaining data structures and content is a difficult thing to do, and there really isn't a complete solution for Drupal (yet!). Central Things Manager is a module I've developed that attempts to do just that.

The key aims of this module:

  • Export & import Content Types and Taxonomies
  • Export of content created using central Content Types
  • Import of central content using shared vocabularies
  • Direct export/import to a Triplestore in RDF format
    • I love RDF. It's an elegant and powerful way of describing things.
    • I also love AllegroGraph. It's an extremely well performing and capable TripleStore.

This module is a work in progress and not yet ready for public consumption. The current feature list:

  • Support for all core Field types, plus several popular contrib modules
  • Ability to rewrite Term & Entity references to local instances (i.e fix incorrectly mapped tid and target_ids)
  • Rewrite of referenced images to full external URL (using Core Bridge & custom module)
  • Support for Field Collections
  • Support for Field Groups
  • Allow for consumption of centrally published content using flexible filter-sets (dynamically generated SPARQL)
  • Batched installs of large vocabularies
  • Revisions for vocabularies (and even individual Terms)
  • Automatic update of Content Types & Vocabs on consuming sites
  • Automatic update of consumed content when updates occur on original content
  • Removal of consumed content when unpublished or removed from origin site
  • Allow for forked, locally overridden content

The screencast below intends to demonstrate the module in its current state against a dev copy of The University of Queensland's new News website. I'm currently working on a more generic, open source version of this module with support for any TripleStore. I'll get a sandbox project up for it shortly. If there's demand I'll also post a follow-up blog with technical information about this implementation.