Recipe: character tracking¶
Public character pages, no player login required — admins import and keep the data fresh.
What you get¶
- A canonical URL per imported character:
/wow/character/{region}/{realm}/{name}. - Base stats (level, class, race, ilvl, achievement points) rendered out of the box.
- Progressive enhancement from every extra module you enable: achievements strip, collection mosaic, etc.
Minimum modules¶
wow
wow_realm
wow_playable_class
wow_playable_race
wow_playable_specialization
wow_power_type
wow_character
All four reference-data modules are listed here because characters reference class, race, and specialization directly, and specialization entities reference power types. Skipping one means some character fields stay blank.
Setup¶
- Install the suite and configure Battle.net credentials.
- Sync reference data:
- Import the characters you want to track:
- Visit
/wow/character/eu/stormrage/khadgarto confirm.
Adding progressive enhancements¶
Enable collection modules one at a time to decorate the character page:
drush en wow_achievement wow_mount wow_pet wow_title wow_toy wow_reputation -y
drush wow:sync-achi-categories
drush wow:sync-achievements
drush wow:sync-mounts
drush wow:sync-pets
drush wow:sync-titles
drush wow:sync-toys
drush wow:sync-reputation-factions
Each module's CharacterDataProvider kicks in automatically on the next character refresh. Re-run:
The character page now shows the recent-achievements strip, collection counts, active title ribbon, etc.
Keeping data fresh¶
There is no built-in bulk-refresh drush command. For a small site (dozens of characters) you can schedule per-character lookups:
For a larger site, write a custom drush command (or module cron) that loops over stored characters and calls CharacterSync::refresh() — this is deliberately left to the operator so you can pick your own pacing and scope. Stale characters that never get refreshed are eventually deleted by the TTL sweeper.
What this recipe doesn't need¶
wow_battlenet_login— no Battle.net SSOwow_user— no ownership mapping between Drupal users and characterswow_guild— no guild pages
Add those later if the site grows in that direction. None of them are required for public character pages.
See also¶
- Usage: characters — full field list and refresh contract
- Character data providers — add your own page section via
buildPageSections()