Problem/Motivation

Supporting the development of Single Page Applications (SPA) on Drupal 8 requires the confluence of several sub-systems: REST, AJAX, routing, Views.

Complex client-side features and applications will only become more prevalent into the future. We want to be the go-to CMS that drives data to these applications. To this end, we need to ensure that the required sub-systems are sufficiently feature-rich to draw front end developers to Drupal.

This issue is a meta tracking issue for all of the sub-issues that we need to address.

Remaining tasks

Issues should be added for any component that is not available or complete. Please note if a sub-system is fully supported. Linking to an example is even better.

Entities

  • Complete model.
  • Linked entities

Supported HTTP methods

  • CREATE
  • GET
    • Raw value is returned.
    • Text filters are applied. These are for security purposes.
    • Doesn’t return the effect of field formatters. Field formatters are meant to build the HTML display
    • Configuration is not returned through REST. The thought was that contrib would build out this capability.
  • POST
  • UPDATE/PATCH
  • DELETE
  • PUT
    • Missing??

Validation

  • Field validation
  • Entity validation - is this different from field validation?
  • Form validation

Cacheing

There’s no way of knowing if an entity was updated: #2044583: Add EntityChangedInterface to allow entities with "changed" field to be properly cached
#2005644: Use client-side cache tags & caching to eliminate 1 HTTP requests/page for in-place editing metadata, introduce drupalSettings.user.permissionsHash

TWIG template support

Punted. Folks will want to use their pet templating system.

Views

GET is available, no other methods.

Authorization

  • Basic Auth
  • HTTP Auth
  • Cookies
  • OAuth

CORS headers

Do we need to support these in Core?

List requests

How do we get the list of comments for an entity?

API changes

Perhaps necessary, but untenable at this point in Drupal 8.

Original report by jessebeach

Comments

jessebeach’s picture

Issue summary: View changes

added 2044583

jessebeach’s picture

Issue summary: View changes

added #2005644

YesCT’s picture

Issue tags: -Front end +frontend

correcting the tag to the more common one.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.