Headless Drupal

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.

We want Drupal to be the CMS of choice for client-side MVC frameworks.

We want an API for renderable structure and context-aware template-driven JSON representations of pages.

The intention of this working group is to discuss how Drupal core should change for the ability for many different presentation layers to interact with Drupal, especially client-side frameworks, not just Drupal's own theme system.

We are working on drafting a manifesto on GitHub.

For some background, see Notes and Discussion from DrupalCon Austin.


Our todo list to get to robust RESTful client interaction support

  1. Document the current REST API
    • Maybe use something like Apiary
  2. Verify that we have PATCH support and that we can make individual field updates
  3. Implement OPTIONS support
  4. Create a benchmark implementation on a popular framework like Angular or Backbone
  5. Support retrieval of specific content entity views over REST
  6. Support retrieval of specific content entity edit forms and fields with widgets over REST
  7. Support linking and mapping of associated templates when retrieving of specific content entity views over REST
  8. Develop a cache-busting file name fingerprinting strategy so that templates and other resources retrieved from entity links can be versioned

rteijeiro's picture

CRUD using Backbone.js and Drupal 8

Here is the second part of my findings related to decoupling Drupal 8 frontend using Backbone.js

http://blog.loadimpact.com/2014/09/30/first-steps-with-crud-using-backbo...

I'm still trying to figure out how to create and update content. I'm almost there :)

Feedback is welcome.

Read more
mrfelton's picture

Automated API documentation and exploration using Apiary or Apigee

Hi,

We are looking at using Drupal 8 as a central data hub and data management portal / crm-type system, and then exposing that data for consumption and modification via RESTful web services. As the API would form a very core part of our system its essential that it is robust, comprehensive, and well documented. I'm interested to know wether any work has been done on integrating tools like Apiary or Apigee with Drupal 8 based web services.

Read more
dwanta's picture

Bunny Talk - daemon drupal

I've been working on something related, I called it the Bunny Talk Protocol, named after the module I started writing a few years back.

The protocol allows access to drupal, either retrieving pages or specific elements, using the same token security and access permissions in drupal. For instance you can retrieve a JSON page representation and display it, or call a specific function passing parms, either retreiving JSON or updating data, just as if it were local.

Read more
RobKoberg's picture

AngularJS best practices

Check out: http://toddmotto.com/opinionated-angular-js-styleguide-for-teams/
and
http://toddmotto.com/minimal-angular-module-syntax-approach-using-an-iife/

In the examples posted, I have been seeing angular bad practices. We should be following the best practices in blog posts so as to not lead people down the wrong path.

Read more
gettysburger's picture

Western Maryland Drupal Users Group Meetup on September 11, 2014

Start: 
2014-09-11 19:00 - 21:00 UTC
Organizers: 
Event type: 
User group meeting

With "Headless" Drupal all the rage, we are very excited to have as our speaker this month, David Dan, who will demonstrate his latest successes with "Real-Time Apps with Drupal 8 and Angular." David is doing some new and exciting things with Drupal that we are sure you have not seen anywhere else.

Read more
RobKoberg's picture

drupal_goto() is evil: how to handle?

I am dealing with the password reset form and the one time login link and getting a CORS error since drupal is trying to redirect on the server. I can usually handle form redirects but drupal_goto is a problem. How do you handle it in a headless environment with an HTML client on a different server?

I wonder if this group should maintain a current drupal with an empty drupal_goto function?

Read more
eatings's picture

Headless Drupal Doubleheader at SF DUG

Start: 
2014-08-18 18:00 - 20:00 America/Los_Angeles
Organizers: 
Event type: 
User group meeting

Josh Koenig and I are talking Headless Drupal tonight at SFDUG, at the Pantheon office (717 California, San Francisco). I'll be talking about the sitebuilding and usage implications of Headless approaches, and Josh will be demoing his work-in-progress D8+Angular experiments. We'll do our best to record this.

Admission is free, food and drinks will be provided.

Read more
RobKoberg's picture

Angular and Drupal: Proxying angular for development

A few weeks ago, I read a blog post about using angular in drupal. It mentioned to rebuild the app each time you make a change. That would drive me mad.

If you are using angular on the same server as drupal (that is, in a subdirectory of the docroot), you can proxy your grunt served angular app.

To proxy the angular app do a normal $ grunt serve to have the app running. In a apache vhost, you can place:

DocumentRoot "/path/to/drupal/docroot"
ServerName local.dev

ProxyRequests Off

Order deny,allow
Allow from all

Read more
joshk's picture

Proposed Goal: Many Implementations of a Common Demo

My biggest concern is that this group ends up bikeshedding and/or attempting to boil the ocean and solve a million theoretical problems. My biggest hope is that we deliver a killer app for front-end developers looking to build their implementation. If we can do that, it will force us to do a lot of other smart things, and enable millions of others to put their innovation "on top" of ours.

To that end, I'd like to propose a goal that's pragmatic, provides value, and will help keep the discussion and work focused.

Read more
c4rl's picture

What's in a name: "Headless" vs "Decoupled"

Naming things! Our favorite pasttime.

Wondering based on some recent conversation on what people think of the word "Headless" vs "Decoupled."

Any objections should the latter replace the former?

Read more
Bevan's picture

What role does Drupal play?

Some web UIs with very rich UXes have an architecture made up of two parts;

  1. REST API server; Connects to the database and controls and manipulates all data coming in and out of the database, but never "renders" anything other than formatted data (e.g. JSON); It never does anything related to any markup.
  2. UI server; Static resources for the web browser: an "index.html", JavaScript, CSS stylesheets, templates and UI/chrome images (but not content images uploaded by users).
Read more
rteijeiro's picture

Headless Drupal8 using Backbone.js

I'm working on a Headless Drupal application using Drupal 8 and Backbone.js. You can follow the documented steps in this blog post (part 1): http://blog.loadimpact.com/2014/07/29/headless-drupal-8-retrieving-conte...

I found a couple of problems that I'll report as bugs in an issue after discussing them and be sure if they are real bugs or features :P

Feedback is welcome. Thanks! :)

Read more
larowlan's picture

Self documenting rest api module

Inspired by symfony's NelmioApiDocBundle I've knocked up the Self documenting Rest Api module.
Provides automatic documentation of your Rest end points at /api/doc.
Comments welcomed via issue queue.
@larowlan

Read more

Drupal sites that are already using "Headless Drupal" methods

Here's a catalog of responses from this question on Twitter: https://twitter.com/webchick/status/487584625812705282

I seem to recall there are sites out there using "Headless #Drupal" (custom front-end, Drupal = content store) in D7 already. Any pointers?

Feel free to add your own sites/resources here!

Read more
amitaibu's picture

Headless Drupal, One form at a time

In case you missed the blog post in Planet Drupal -- http://goo.gl/2P6MkE

Read more
bertboerland's picture

dc amsterdam session

I love this group and am very interested in helping out to spread the word that Drupal might be more then a system spitting out webpages or even rss ;-) I propossed a session on DrupalCon Amsterdam for this. If it gets selected I welcome your help with examples and ideas. If you have any questions wrt the sessions, please comment on https://amsterdam2014.drupal.org/session/drupal-things

Read more
jaymallison's picture

Nearly Headless Drupal talk

My coworker Mike and I will be leading a discussion on #NearlyHeadlessDrupal at the Portland front end DUG meetup this Thursday. We'll be going in depth on the ups and downs of the process, our approach, and the module work I'm doing to make it all easier.

Event info here: https://groups.drupal.org/node/427533

Read more
kim.pepper's picture

Support OPTIONS request

There is an issue in the core queue on adding OPTIONS request support. Please feel free to help out and get this in.

https://drupal.org/node/2237231

Kim

Read more
RobKoberg's picture

Created a post on using v8 and angular with each being on separate sites

http://www.koberg.com/2014/06/08/headless-drupal-8-and-angularjs-theme-s...

However, I got stuck with the article's image and term data. I created a support issue here: https://drupal.org/node/2282603 but any advice would be appreciated.

Read more

Notes and discussion from DrupalCon Austin

The Headless Drupal working group was created to support discussions taking place at DrupalCon Austin.

Some related assets and notes from the conference.

Notes from Austin Headless Drupal BoF

Notes from afternoon Coder Lounge discussion

Read more
Subscribe with RSS Syndicate content