The #2710947: Support replication filters ticket implemented the "plumbing" for replication filters. However, there is no UI.

This ticket is for defining how modules utilizing that "plumbing" should expose replication filters to the user.

Those modules include:

  • Workspace (via Workbench Moderation)
  • Relaxed
  • Deploy

Comments

josephdpurcell created an issue. See original summary.

josephdpurcell’s picture

Here is a rough draft of a scope of work for exposing replication filters to the user:

  • ReplicationTaskInterface is the input we want to expose to the user for replication (Note: these inputs are inspired by CouchDB's replication settings: http://docs.couchdb.org/en/1.6.1/json-structure.html#replication-settings)
  • Modify the form for creating/editing Workspaces to include inputs for the replication settings defined in the ReplicationTaskInterface
  • Any UI that triggers execution of ReplicatorInterface::replicate should include the replication settings defined on the Workspace, passing those inputs to ::replicate as a ReplicationTaskInterface.

Here are example implementations:

  • Deploy: each deployment created would derive the replication settings from the Workspace (this may be better than having to set the replication settings for each deployment, which may be cumbersome/overwhelming for the user)
  • Relaxed: when a Workspace is configured to choose a remote as the upstream it would also be configured with the replication settings appropriate for that remote (this gives more granular control than configuring replication settings on each remote)
  • Workspace (via Workbench Moderation): when a Workspace is published it would derive the replication settings from the Workspace (having to set the replication settings each time a Workspace is published may be cumbersome/overwhelming to the user)

Edit: completely revised proposal to assume replication settings are on Workspace.

josephdpurcell’s picture

Title: Add UI for Replication Filters » Propose UI for Replication Filters
Component: Code » User interface
Category: Feature request » Task
Issue summary: View changes

Changing the description and title to explain this ticket is for defining how modules should interact with replication module. Implementation will be completed in tickets on each module utilizing the replication module.

Grayside’s picture

Wouldn't a fairly basic case for a replication filter be an operation to take arbitrary IDs for replication? That's something that could be built into the already existing Admin Content page.

josephdpurcell’s picture

Yes, choosing UUIDs for replication is a case for replication settings.

I think we should optimize where the location of replication settings based on convenience to the user, which I suspect will be a function largely based on frequency of modification and the context in which they are desired to be modified.

The #2 proposal is for having the replication settings on each Workspace. I think it is a decent starting point, but it doesn't address cases that I imagine would occur:

  • Deploy: configuring settings per-deployment, e.g. "I only want to deploy this one piece of content"
  • Relaxed: configuring settings per-endpoint, e.g. "I want to guarantee only published articles are replicated to prod"
  • Workspace (via WBM): configuring settings per-publish, e.g. "I want to curate all my edits in this workspace to only deploy what I want"

As such, I think we should implement replication settings on the Workspace in a fashion that allows any module to move the replication settings inputs where desired.

josephdpurcell’s picture

StatusFileSize
new37.4 KB

Here is an initial set of work:

I still need to write tests and pass a parameters to filters, i.e. support configurable filters. Attached is a screenshot of the UI.

josephdpurcell’s picture

This solution assumes you are creating "Replication Settings" config entities in code which then get exposed to the UI.

One potential follow up will be to look into exposing a UI for creating / editing "Replication Settings".

josephdpurcell’s picture

Status: Active » Needs review
StatusFileSize
new45.84 KB

I have submitted a patch to expose a UI for replication filters: https://www.drupal.org/node/2749167#comment-11491867

I've attached a screenshot of what configuring a Workspace currently looks like to the user.

balsama’s picture

Status: Needs review » Fixed

I think this can be closed on [#2749167: Support ReplicationTask which has been committed.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.