Skip to content

Evaluate removing or repurposing the team_member role (memberRole) field #113

@JohnRDOrazio

Description

@JohnRDOrazio

Context

While adding author profiles (branch fix/headless-draft-preview), author pages were switched to display the team_member title (memberTitle) instead of role (memberRole), to match how every other team-member card renders. As a result, memberRole is no longer used anywhere in the frontend.

We should decide whether to remove memberRole or repurpose it (give role and title distinct, intentional meanings).

Options

  • Remove — drop member_role everywhere (see checklist below).
  • Repurpose — e.g. title = professional/honorific title ("AI Specialist"), role = context-specific functional role ("Project Lead") shown on project/governance cards. Would need a defined distinction and UI wiring.

What removing it would entail (cross-cutting)

  • ACF field member_role in group_team_memberwordpress/themes/cdcf-headless/functions.php:1743
  • REST param registration for POST /cdcf/v1/team-memberwordpress/themes/cdcf-headless/functions.php:548
  • Handler write — wordpress/themes/cdcf-headless/includes/handlers/team-member.php:57
  • PHPUnit expectations — wordpress/themes/cdcf-headless/tests/TeamMemberHandlerTest.php:83,373,386
  • GraphQL selection memberRole in TEAM_MEMBER_FIELDSlib/wordpress/queries.ts:53
  • Type WPTeamMember.memberRolelib/wordpress/types.ts:69
  • Python client param — scripts/cdcf_api.py:237,604
  • Docs — docs/python-api-client.md:278 and the REST table in AGENTS.md/CLAUDE.md
  • Seed data sets member_rolewordpress/web-init.php:273
  • Data: existing team_member posts may have stored member_role values (consider a one-time cleanup/backfill, and whether any of those values should migrate to member_title)

Notes

  • Frontend display already standardized on memberTitle (also feeds JSON-LD Person.jobTitle on author pages).
  • No urgency — memberRole remaining in the schema is harmless; this is tracked so the decision isn't lost.

🤖 Filed with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions