-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Database
abstraction layer. If the current DB
is MySQL
and we want to change it to Oracle
, then we only need to change the config engine in settings.php.
The codebase is the same. All layers - (Database, Menu, Themes, Forms are stored in array form i.e. key-value pair) are independent.
Due to this, the framework is scalable(ability to be changed). The menu layer in Drupal itself has many functionalities.
Theme-based abstraction layer: CSS, JS, HTML are all kept separate.
Basically, it means to Read, Write and Delete. Can be achieved via roles and permissions. According to the organizational hierarchy/structure, we can define various roles and give permissions to achieve finely grained ACL - Granularity.
Each field of content is a new table in a particular database i.e. it creates two tables for each field: node_field_data
and node_field_data_revision
.
The codebase will be the same for all sites.
- Create a new directory in the
sites/
folder as the URL name for the site. Eg: giri.vridhamma.org for DhammaGiri. - Add
settings.php
in eachsites
folder and add a newDB
name in the config engine. - Note: If you have say 100 sites and each site is pointing to a separate DB with the same codebase, then any update in drupal say will affect all 100 sites. Eg: Current Dana's site - handling 60 centers - has the same codebase with different sites folder.
How to maintain multisite features for centers?
- Solution: Create a central site. The DB of this site is the central DB. The API Layer is also different. Expose API from this site to all center's sites. Solved! API is powerful.