logo

Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Drupal Multisite Folder Structure

14/04/2025, by Ivan

The following is an example of a multisite structure in Drupal 8. For simplicity, other core Drupal folders and files are not listed.

Multisite Structure:

-- core

-- modules
   -- contrib
   -- custom

-- themes
   -- contrib
   -- custom

-- sites
   -- site1
         -- modules
            -- custom
            -- contrib
         -- themes
            -- custom
            -- contrib
         -- files
   -- site2
         -- modules
            -- custom
            -- contrib
         -- themes
            -- custom
            -- contrib
         -- files
   -- site3
         -- modules
            -- custom
            -- contrib
         -- themes
            -- custom
            -- contrib
         -- files

DevOps Scenario:

In multisite environments, it's common for each site maintainer to manage their own site-specific code. In complex environments, front-end developers may also prefer production deployments to be decoupled from standard Drupal deployments. Below is an example of how Drupal 8 multisite folders might be split across multiple repositories. It’s assumed that each site has its own database and shares the common codebase, as illustrated below.

.                    ----> Repository1 (common to all developers)
-- core                                                           

-- modules
   -- contrib
   -- custom

-- themes
   -- contrib
   -- custom           ----> Repository2 (managed by front-end developers)

-- sites
   -- site1            ----> Repository3 (managed by site1 developers)
         -- modules
            -- custom
            -- contrib
         -- themes
            -- custom
            -- contrib
         -- files
   -- site2            ----> Repository4 (managed by site2 developers)
         -- modules
            -- custom
            -- contrib
         -- themes
            -- custom
            -- contrib
         -- files
   -- site3            ----> Repository5 (managed by site3 developers)
         -- modules
            -- custom
            -- contrib
         -- themes
            -- custom
            -- contrib
         -- files

This model offers the following advantages:

1. Front-end developers can perform independent deployments, separate from standard Drupal backend deployments.

2. Each site maintainer can independently deploy changes (e.g., each site can have its own release schedule).