Experimental project

This is a sandbox project, which contains experimental code for developer use only.

#NearlyHeadlessDrupal is a movement to de-couple the Drupal CMS from front end development - allowing front end developers the freedom to use next generation javascript frameworks (Angular, Ember, etc) to build advanced AJAX based applications. There is a working group centered around work for Drupal 8.x to this end: Headless Drupal. While that group's focus is on keeping Drupal relevant in the future, this set of modules will bring these concepts to Drupal 7.x, now.

Nearly Headless Drupal is an important distinction from purely Headless Drupal in that Headless Drupal won't work for search engines. While you could run purely headless and set up a PhantomJS environment to parse, build and return snapshots to Google for indexing - why bother with that headache when you already have a rendering system in Drupal that can easily provide your content to Google for you?

This collection of modules will provide tools for getting robust JSON data out of Drupal, as well as adding tools to Drupal itself to properly handle Google's unique handshake for AJAX based sites. The overarching goal for this project is to make these tools easy enough to use that a front end developer could set this up without needing to write any PHP.

NHD JSON

The inspiration for NHD JSON is the Views Datasource module, but the focus is on exposing robust JSON data streams and will not necessarily be limited to only using Views to do it. Also, support for exposing a rendered entity instead of requiring the use of fields will be added shortly.

7.x-1.x branch features are currently limited to views integration. Basic code structure was forked from views_datasource but the field handling is a complete re-write and this module only exposes JSON as opposed to views_datasource's multiple formats.

This module requires and makes extensive use of Entity API and provides deep entity transversal for nested entities and their fields. Including, but not limited to:

NHD SEO

Brings Google's _escaped_fragment_ handshake support to Drupal.

NHD Theme

Recommended for use with the _escaped_fragment_ implementation. This is a theme created specifically for returning the least amount of data possible to Google during spidering for the greatest speed.

Project information

  • Created by jaymallison on , updated