Download presentation
Presentation is loading. Please wait.
1
Drupal and MongoDB or the road to APIs
2
Drupal 7
3
What went well? Entity-field storage: node, comment, user...
Session (frequent writes) Watchdog (capped collection) Cache
4
What worked out so-so? Blocks. Unmaintainable solution.
5
Where were things stored?
List of modules: system table Date formats: date_format_type date_formats date_format_locale tables Text formats: filter filter_format tables Arbitrary contrib arbitrary table
6
How were things handled?
Field widgets, formatters: Some info hook settings stored in an arbitrary table handled by arbitrary callbacks Cache, query: variable_get defines include file variable_get defines settings
7
Consequences Even with a SQL abstraction driver, full MongoDB is practically impossible. Pluggability is totally arbitrary
9
Drupal 8 There can be only one
10
Where are things stored?
List of modules: CMI Date formats: CMI Text formats: CMI Arbitrary contrib: CMI or bust
11
How are things handled? Defined in a dependency injection container: easy and uniform to change Annotated classes: every kind of plugin has the same metadata definition Again, settings in CMI
13
So how will MongoDB fit? Inject via the DIC
Sweep up the remaining little via a DB driver, but this is limited.
14
MongoDB distribution Necessary to be able to install without MySQL
Ability to change things early and keep them changed
15
Existing drivers? Session: might become Symfony, then needs new driver
Watchdog: this might change to Monolog or PSR-3. Entity storage: hopefully base entity storage also (I will work on this)
16
New drivers File usage Flood
17
CMI "driver" CMI canonical is YAML file Plus caching
We have a cache driver For speed on queries, do not serialize on cache_config (other bins might have objects/arrays so serialize needed)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.