Conversation
Adding tools case study content type and taxonomy
Tools used unlimited
researcher stories view/content type
There was a problem hiding this comment.
Pull request overview
Adds a new Drupal content type and supporting configuration for “Tools in Practice: Researcher Stories”, plus a Robo helper update to streamline creating cross-repo PRs for issue branches.
Changes:
- Introduces
tools_case_studynode type with related fields, displays, and a supporting taxonomy vocabulary for “Access Tools Used”. - Adds a new View (
tool_case_study) exposing a page attools/researcher-storiesto render the new content. - Enhances
gh:prRobo command to auto-generate PR bodies and create PRs in related pinned repos; pins relevant Composer dependencies to the issue branch.
Reviewed changes
Copilot reviewed 47 out of 49 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| web/sites/default/config/default/views.view.user_admin_people.yml | Moves pagination_heading_level into the correct pager options location. |
| web/sites/default/config/default/views.view.tool_case_study.yml | New View to list/render Tools Case Study content and expose a page route. |
| web/sites/default/config/default/taxonomy.vocabulary.tcs_access_tools_used.yml | New taxonomy vocabulary for “Access Tools Used”. |
| web/sites/default/config/default/node.type.tools_case_study.yml | New tools_case_study content type definition. |
| web/sites/default/config/default/field.storage.taxonomy_term.field_tsc_link_to_tool.yml | Adds taxonomy term link field storage for tool link. |
| web/sites/default/config/default/field.storage.taxonomy_term.field_tool_logo.yml | Adds taxonomy term image field storage for tool logo. |
| web/sites/default/config/default/field.storage.node.field_tcs_total_cpu_gpu_hours.yml | Adds node field storage for total CPU/GPU hours. |
| web/sites/default/config/default/field.storage.node.field_tcs_time_to_science.yml | Adds node field storage for time to science. |
| web/sites/default/config/default/field.storage.node.field_tcs_software.yml | Adds node field storage for software links. |
| web/sites/default/config/default/field.storage.node.field_tcs_service_units.yml | Adds node field storage for service units. |
| web/sites/default/config/default/field.storage.node.field_tcs_role.yml | Adds node field storage for researcher role. |
| web/sites/default/config/default/field.storage.node.field_tcs_researcher_name.yml | Adds node field storage referencing a user as “Researcher Name”. |
| web/sites/default/config/default/field.storage.node.field_tcs_research_topic.yml | Adds node field storage for research topic. |
| web/sites/default/config/default/field.storage.node.field_tcs_main_image.yml | Adds node field storage for main image. |
| web/sites/default/config/default/field.storage.node.field_tcs_institution.yml | Adds node field storage for institution. |
| web/sites/default/config/default/field.storage.node.field_tcs_field_of_science.yml | Adds node field storage for field of science. |
| web/sites/default/config/default/field.storage.node.field_tcs_allocation_type.yml | Adds node field storage for allocation type (allowed values). |
| web/sites/default/config/default/field.storage.node.field_tcs_access_tools_used.yml | Adds node field storage referencing “Access Tools Used” terms. |
| web/sites/default/config/default/field.storage.node.field_tcs_access_resource.yml | Adds node field storage referencing ACCESS resource content. |
| web/sites/default/config/default/field.field.taxonomy_term.tcs_access_tools_used.field_tsc_link_to_tool.yml | Attaches “Link to Tool” field to the vocabulary terms. |
| web/sites/default/config/default/field.field.taxonomy_term.tcs_access_tools_used.field_tool_logo.yml | Attaches “Tool Logo” field to the vocabulary terms. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_total_cpu_gpu_hours.yml | Attaches total CPU/GPU hours field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_time_to_science.yml | Attaches time-to-science field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_software.yml | Attaches software link field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_service_units.yml | Attaches service units field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_role.yml | Attaches required role field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_researcher_name.yml | Attaches required researcher user reference to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_research_topic.yml | Attaches required research topic field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_main_image.yml | Attaches main image field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_institution.yml | Attaches required institution field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_field_of_science.yml | Attaches field-of-science field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_allocation_type.yml | Attaches required allocation type field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_access_tools_used.yml | Attaches ACCESS tools used term reference field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_tcs_access_resource.yml | Attaches ACCESS resource node reference field to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_domain_source.yml | Adds domain source field instance to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_domain_all_affiliates.yml | Adds “send to all affiliates” field instance to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.field_domain_access.yml | Adds required domain access field instance to the content type. |
| web/sites/default/config/default/field.field.node.tools_case_study.body.yml | Configures body field label/behavior for the content type. |
| web/sites/default/config/default/core.entity_view_display.taxonomy_term.tcs_access_tools_used.default.yml | Default term display for tool logo + link fields. |
| web/sites/default/config/default/core.entity_view_display.node.tools_case_study.teaser.yml | Teaser view mode configuration for the new content type. |
| web/sites/default/config/default/core.entity_view_display.node.tools_case_study.default.yml | Default display w/ Layout Builder sections and components for the content type. |
| web/sites/default/config/default/core.entity_form_display.taxonomy_term.tcs_access_tools_used.default.yml | Term form display config for logo + link fields. |
| web/sites/default/config/default/core.entity_form_display.node.tools_case_study.default.yml | Node form display config for all new fields. |
| web/sites/default/config/default/core.base_field_override.node.tools_case_study.title.yml | Overrides title label to “Headline Title” for the content type. |
| web/sites/default/config/default/core.base_field_override.node.tools_case_study.promote.yml | Base field override for promote default/settings. |
| robo/src/Robo/Plugin/Commands/GhCommands.php | Updates gh:pr command to fetch Jira summary, create PRs across pinned repos, and cross-link them. |
| robo/assets/md/md-2709 | Adds a new multidev asset entry for this issue. |
| composer.lock | Updates locked dependencies to issue branches and updates metadata accordingly. |
| composer.json | Pins amp/access and necyberteam/asp-theme to the issue branch. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| element_type: '' | ||
| element_class: bing | ||
| element_label_type: '' |
There was a problem hiding this comment.
element_class: bing looks like an accidental/debug value (no corresponding .bing usage found in the codebase). If this class isn’t intentionally used for styling, it should be removed or renamed to a meaningful CSS class to avoid leaking debug artifacts into rendered markup.
| id: taxonomy_term.field_tsc_link_to_tool | ||
| field_name: field_tsc_link_to_tool | ||
| entity_type: taxonomy_term | ||
| type: link | ||
| settings: { } |
There was a problem hiding this comment.
The new taxonomy term field is named field_tsc_link_to_tool, but the rest of this feature’s fields use the field_tcs_... prefix (Tools Case Study). If tsc is not a separate, intentional acronym, it’s worth renaming now (field storage + instances + displays) to keep field naming consistent and avoid having to carry a typo permanently.
| $branch_parts = explode("-", $full_branch); | ||
| $issue_number = $branch_parts[1]; | ||
| $issue_number = preg_replace('/\r\n|\r|\n/', '', $issue_number); |
There was a problem hiding this comment.
$issue_number = $branch_parts[1]; assumes the current branch name always contains a - with the issue number in the second segment. If the command is run from a branch like md-dev, main, or any non-standard branch name, this will produce an undefined offset and/or an incorrect issue number (e.g., md-dev -> dev). Consider extracting the issue number with a regex (e.g., first \d+ match) and failing fast with a clear message when it can't be determined.
| $branch_parts = explode("-", $full_branch); | |
| $issue_number = $branch_parts[1]; | |
| $issue_number = preg_replace('/\r\n|\r|\n/', '', $issue_number); | |
| if (!preg_match('/\d+/', $full_branch, $matches)) { | |
| throw new TaskException( | |
| $this, | |
| "Unable to determine issue number from branch '$full_branch'. Use a branch name containing the issue number." | |
| ); | |
| } | |
| $issue_number = $matches[0]; |
tool_case_study: view update
Describe context / purpose for this PR
New Content Type: Tools in Practice: Researcher Stories
Issue link
https://cyberteamportal.atlassian.net/browse/D8-2709
Any other related PRs?
Link to MultiDev instance
http://md-2709-accessmatch.pantheonsite.io
Checklist for PR author