Problem/Motivation
Currently, Replication Filters apply only when "pushing" a workspace (i.e., when merging). It seems to me that filters would make more sense and be more useful if they applied to the opposite - on pull. It's also been suggested that they could apply to both directions... or even be configurable.
There are a lot of different terms, so to be clear:
Push:
What happens when you deploy a workspace back to its defined upstream. This can be triggered by the deploy module or by setting a Workspace's moderation state to Published. In git terminology, this is similar to `merge`.
Pull:
What happens when you click on the "Update" button on a Workspace that has an upstream target workspace defined. In git terminology, this is similar to `rebase`.
Proposed resolution
It makes more sense to me have filters apply only when pulling. That way, users could avoid pulling content that they're not interested in - e.g. comments. This becomes more important when we consider that the initial Pull operation is expensive. I would also argue that filtering on push is contrary to how we envision people using workspaces. If there is something on your workspace that you do not want pushed live, then you shouldn't be pushing that workspace.
Remaining tasks
Discuss and come to a consensus.
User interface changes
I think this will depend on what the consensus is. Either way, the "Configure replication settings" field (which allows users to select the filter) should probably be more descriptive as to what its doing and when it is applied.
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | configure-filters.png | 24.42 KB | balsama |
Comments
Comment #2
balsamaTo be clear, when I say "currently" (Currently, Replication Filters apply only when "pushing" a workspace...) I'm talking about the work @josephdpurcell has done in his fork over here:
Comment #3
josephdpurcell commentedAfter discussion, the path I'm going down is having "push" and "pull" replication settings. This gives the greatest flexibility and clarity that filtering *could* apply to either.
Say a developer wants to hide the "push" replication settings, how would we allow that field to be configured?
Comment #4
balsamaI'm not sure it's important for us to provide a way for developers to hide settings (outside of traditional form hooks). Am I missing something?
Anyway, I'm in agreement with joesephdpurcell. We should just provide a settings for both directions. Here's a quick wireframe of what I'm envisioning so there's no confusion. The text/labels aren't really thought through and I would welcome improvements there.
Comment #5
phenaproxima+1 to this approach.
Comment #6
josephdpurcell commentedI have uploaded a screenshot of the current implementation in this comment: https://www.drupal.org/node/2749177#comment-11492385
There are differences between balsama's and what is implemented, please comment on #2749167: Support ReplicationTask with any changes that should be made.
Comment #7
balsamaThanks. I think this can be closed since #2749167: Support ReplicationTask is committed.