Scenario:

  • Deploying content from Drupal 8 environment to remote production Drupal 8 environment using Relaxed web services.
  • Multiple authors working in different workspaces.
  • Content required to be published at different times.

Use Cases:

  • Authors want to deploy only selective content to Live site.
  • Unapproved content cannot be moved to production environment due to security risk.

Problem:

  • Deploy replicates all content between workspaces including unpublished content.

Comments

gpandher created an issue. See original summary.

gpandher’s picture

DamienMcKenna’s picture

Version: 8.x-1.0-alpha6 » 8.x-1.x-dev
Category: Feature request » Support request
Priority: Critical » Normal
Status: Active » Postponed (maintainer needs more info)

I tested this with the latest versions of all modules (checked out via git a few days ago):

  • Workspace A and Workspace B on Site A all set with target to Site B.
  • Create content on Workspace A - content shows on Site A in admin/content as expected.
  • Deploy Workspace A - content shows on Site B.
  • Switch to Workspace B - the content from Workspace A on Site A is no longer visible in admin/content.
  • Create new content in Workspace B - content shows on Site A in admin/content as expected.
  • Switch back to Workspace A - content shows the original in admin/content.
  • Create new content in Workspace A.
  • Deploy changes from Workspace A - only the new Workspace A content shows up, the Workspace B content is not deployed.

Please confirm the exact steps you're following, see if you can identify exactly what is causing the unwanted content to be deployed.

nmalinoski’s picture

I think what's being requested is a selective deploy, where individual pieces of content can be pushed on demand--a single node, in this case. Would also be nice to be able to transfer all items of a particular content type (e.g. comments).

As I understand it, Deploy's only method is to push all changes to the target instance. The only way to work around this limitation seems to be to spin up a new workspace for every piece of content to be created, which sounds cumbersome and untenable.

There is the the Deploy Plus module, which seems to build on the basic Deploy functionality to let you evaluate everything that's being pushed and remove individual items. I'm not sure if this subtractive method is the only mode available, or if an additive mode (Like tmgmt's translation cart) is in the works.

Assuming the Deploy module is intended to be just the basic UI framework and push-everything functionality, and it's preferable for modules to enhance or change that functionality, it may be better to request selective deploy enhancements from the Deploy Plus team.

gpandher’s picture

@DamienMcKenna : Workspaces can be one way to solve this issue, but as @nmalinoski mentioned workspace as cumbersome and untenable.

Workspace is like turning Drupal's Content management system into a git repository by creating new branch every time for new content, then merging it to production using deploy. We can easily loose track of deployment-ready content and unwanted content between different workspaces. It is really difficult for content authors who do not have prior developers experience and do not understand git workflow.

Few other problems:
There is no option to compare content between two workspaces.
There is no dry-run option for deploy, which just report list of content it would have deployed.

A Deploy filter UI would be very helpful, to see list of new content in present environment as compared to upstream production environment and then select changes which we want to deploy.

Deploy Plus has not been ported Drupal 8 yet.

Grimreaper’s picture

Hello,

For information, I am currently developing a module that add VBO to deploy content: https://www.drupal.org/project/deploy_individual