@maxmeno's comment here:

...you pointed to a page that talks about modules - the corresponding page about layouts, https://backdropcms.org/guide/layouts does not mention installation through the UI at all.

...brought this issue here to life. It is also related to #1291 (might make that one moot depending on the decision made here)

So, we currently have: - Appearance -> Install theme /admin/appearance/install - Functionality -> Install module /admin/modules/install - Structure -> Layouts -> Install layout /admin/structure/layouts/install 1. The menu item for installing layouts is 2 levels deep. Might be confusing to users or less discoverable. I still think that organizationally it is in the right place though. Thoughts? 2. The URL for themes is /appearance/install while for modules is /modules/install. Thought that we should perhaps change it to /functionality/install, but then for layouts we have /layouts/install. So, if we were to change something, it would be the theme installation URL to /themes/install. Bothers me and OCD starts kicking in again :stuck_out_tongue_winking_eye: 3. The Install theme, Install module and Install layout menu items all lead to a page with "Install a project" as title. Do we actually have any check or validation in place that disallows for example installing a theme from the Install module or Install layout page? I think not, but then... should we? IMO it is not a bad thing - just funny UX. Thoughts again? 4. If we implement #1561 and #1380 and then take advantage of these two features for all project installation pages, we'll allow installing multiple projects from a single page/form and if no check on their type is made, then this will allow installing a mix of modules, themes and layouts. Again not a bad thing, just funny UX having separate pages for the same thing.

So, why not figure a way to consolidate all these in a single "Install projects" page, under a single /admin/projects/install or /admin/install/projects or even plain /admin/extend URL (with redirects in place if we need to)?

...or is this whole thing sort of moot because we're getting Project Browser into core soon(ish)? But then again, once PB is in, why not simply redirect all these pages to it? We could perhaps pass on URL tokens that filter the PB results by project type depending on whether the user clicked Appearance -> Install theme or Functionality -> Install module or Structure -> Layouts - Install layout.

For people that need the old way of installing projects (browsing their local filesystem for custom-coded modules not uploaded on backdrop-contrib or manually entering URLs for use cases where projects are hosted elsewhere), we could have an "Advanced" tab in the PB UI that offers the URL text area and the multi-upload widget (already mentioned in #1288).

Thoughts?

GitHub Issue #: 
1701