Skip to content

Module reference

Every submodule shipped by the suite. For what they do end-to-end, see architecture/modules.md; this page is a flat inventory.

Core

Module Required Description
wow Yes Core — BattleNetClient, dashboard, TTL sweeper, shared base classes.

Reference data (taxonomy-backed)

Module Depends on Provides
wow_realm wow wow_realm vocabulary (realms + connected realm groups)
wow_playable_class wow wow_playable_class vocabulary
wow_playable_race wow wow_playable_race vocabulary
wow_playable_specialization wow wow_playable_specialization vocabulary
wow_power_type wow wow_power_type vocabulary
wow_reputation wow wow_reputation_faction vocabulary + wow_reputation_standing junction

Catalogs

Module Depends on Catalog entity Junction entity
wow_achievement wow, advancedqueue wow_achievement + category taxonomy wow_achievement_progress
wow_mount wow wow_mount wow_mount_collection
wow_pet wow wow_pet wow_collected_pet
wow_title wow wow_title wow_title_award
wow_toy wow wow_toy wow_toy_collection
wow_item wow wow_item + wow_item_class taxonomy (none — on-demand fetch)
wow_creature wow wow_creature + wow_creature_type + wow_creature_family taxonomies (none — on-demand fetch)
wow_quest wow, advancedqueue wow_quest + wow_quest_type taxonomy (none — batch sync via queue)

Owners

Module Depends on What it projects
wow_character wow, wow_realm, wow_playable_class, wow_playable_race character field onto 6 junction entity types
wow_guild wow, wow_realm guild field onto wow_achievement_progress

Auth + glue

Module Depends on Role
wow_battlenet_login wow, openid_connect, key Battle.net OIDC client + token capture
wow_user wow_character, wow_battlenet_login uid + is_main projection, character selection UI, purge cascade

Editor integration

Module Depends on Role
wow_editor wow, drupal:ckeditor5 CKEditor 5 toolbar button for inserting WoW data links via the SearchableDataProvider system

Dependency graph (conceptual)

wow
 ├── wow_realm, wow_playable_class, wow_playable_race, wow_playable_specialization, wow_power_type
 ├── wow_achievement, wow_mount, wow_pet, wow_title, wow_toy, wow_reputation, wow_item, wow_creature, wow_quest
 ├── wow_editor ────────→ drupal:ckeditor5
 ├── wow_character ──────→ (any of the above catalogs / junctions)
 │    └── wow_user ──────→ wow_battlenet_login ────→ openid_connect
 └── wow_guild ─────────→ (wow_achievement for guild-scoped progress)

Catalog modules never reference owners. Owner modules project INTO catalogs via runtime hooks. Auth modules never reference UI modules (see architecture/modules.md).

Test-support modules

These live under modules/wow_character/tests/modules/ and are only enabled inside kernel tests:

Module Used by
wow_character_page_test CharacterPageAlterIntegrationTest