Template:Roles text parser
From Another Eden Wiki
Currently used way to do Roles and Filters:
- Roles are stored in DB-table: Template:CharacterRoles in string field
- Roles are calculated and saved into DB when character or sidekick page is saved (Template:Roles text parser/Character, Template:Roles text parser/Sidekick)
- On skill pages pre-calculated roles can be checked for each skill (purge_cache after edits) (inside Template:Notice AUTO > Template:Roles text parser/Skill)
- Template:Roles text parser/queryV2 is current parser template that uses mySql functionality to calculate each individual role.
- Results of individual roles are grouped inside templated query into text strings (/Character, /Sidekick,/Skill)
- (skill produces: "_role_role2_role3" string)
- (character/sidekick produces "_role_role2_role3,_role4_role1,_role3_role" list of (,) skill-strings )
- To test results and filter out bad cases, while editing in new role Template:Roles text parser/Test query is included in < noinclude > section of /QueryV2 page
- Results of individual roles are grouped inside templated query into text strings (/Character, /Sidekick,/Skill)
- Template:CharacterFiltersV2 SkillRoles is current filter used to filter character tables with attached roles.
Unsolved problems:
- Saving from Character pages produces duped empty db record for each character in roles DB table.
- Partly solution: to always use group by=character._pageName in queries with Roles attached.
Deprecated old templates of previous ways to filter characters: