Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multisite Enhancements (propagation edition) #7189

Closed
JeanLucEsser opened this issue Nov 26, 2020 · 1 comment
Closed

Multisite Enhancements (propagation edition) #7189

JeanLucEsser opened this issue Nov 26, 2020 · 1 comment
Labels
enhancement improvements to existing features internationalization 🌐 features related to internationalization or localization

Comments

@JeanLucEsser
Copy link

JeanLucEsser commented Nov 26, 2020

Disclaimer : this proposal is not a fully thought out solution, just a top of my head idea as to what could make sense based on experience with multisite on a large client’s project.

Allow for removing of an entry from a site

When the channel propagation method is to let each entry choose which site it should be saved to, we get a button to add a site in our entry form, but once added, we get no way to remove a site, only a way to deactivate, which is not the same.

If we are able to explicitly add a site to the entry so it can be activated / deactivated, we should be able to remove a site from the entry so that the entry is not listed anymore as a site element.

This should be allowed only for the sites for which the cp user has permission on.

Logged as an anomaly here: #7190

Going further # 1 : letting each entry choose to override the propagation default

Extracting the dropdown option « let each entry choose which site it should be saved to » to its own checkbox could allow for further customization.

In such a setup, the dropdown options would still apply as a default behavior, but you would give the user the option to override any of the dropbox default should they check the box to allow for it.

For instance, the actual behavior of « let each entry choose which site it should be saved to » would be replaced by « only save entries to the site they were created in » plus the new checkbox « allow entries to override which site it should be saved to ».

But the further customization would allow for selecting the dropdown option « save entries to other sites in the same site group » as a default behavior, with the possibility to remove a site (or add a site from another group) on a per entry basis should the new checkbox allow for the override of the default behavior. I’m talking about adding and removing a site from the entry, not just enabling / disabling the entry for a site.

BTW, defining permissions per user on these behaviors should be possible but that’s for another post. I have some ideas on a full revamp of permissions allowing for conditionals and per field viewing / editing, I’ll find some time to expose them.

Going further # 2 : allow for reset via query on existing entries

As it stands, the propagation method acts on two states of entries : the existing entries at the time the propagation method is set, and the new entries that will be created after that.

Should the previous proposition be implemented, we should be able to manually force a reset of all entries into the default behavior anytime we need to.

Even better, we could be able to filter a set of entries and define their site propagation (if overriding is set) and per site statuses depending on what’s allowed for them.

Going further # 3 : propagation method per site

In writing about all this, I wondered if the dropdown was the best way to handle the propagation options, seeing the site list above. Wouldn’t it make more sense, visually as well as functionally to allow for each site to propagate or not?

You have your site list where you decide to activate the section for the site, set its template and status by default. Why not set if the entries should propagate or not by default here? No more by langage, by group or by site activated. You see the sites, you define the options. Simple as it gets.

We can even make the checkbox override per site. Propagate (or not) by default and allow user to override from within the entry.

Illustration

Here is a quick draft to illustrate my proposition (it should list 2 sites as this makes sense only in a multi site setting). Should you find value in what I propose here, I’ll be glad to discuss it further.

Again this is just a quick thought and there are probably many holes in my thinking. For example, a better approach could be to couple that with user permissions as overriding the propagation method from within the entry could be allowed only for specific users.

image

@jan-dh
Copy link

jan-dh commented Dec 9, 2020

Would love to see something like this implemented.

@brandonkelly brandonkelly added enhancement improvements to existing features internationalization 🌐 features related to internationalization or localization and removed enhancement labels Dec 9, 2020
@craftcms craftcms locked and limited conversation to collaborators Jun 22, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
enhancement improvements to existing features internationalization 🌐 features related to internationalization or localization
Projects
None yet
Development

No branches or pull requests

3 participants