Skip to content

#2709#1894

Open
protitude wants to merge 8 commits intomd-devfrom
md-2709
Open

#2709#1894
protitude wants to merge 8 commits intomd-devfrom
md-2709

Conversation

@protitude
Copy link
Copy Markdown
Collaborator

@protitude protitude commented Apr 29, 2026

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

  • I have checked that the PR is ready to be merged
  • I have reviewed the DIFF and checked that the changes are as expected
  • I have assigned myself or someone else to review the PR

This was referenced Apr 29, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_study node type with related fields, displays, and a supporting taxonomy vocabulary for “Access Tools Used”.
  • Adds a new View (tool_case_study) exposing a page at tools/researcher-stories to render the new content.
  • Enhances gh:pr Robo 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.

Comment thread robo/src/Robo/Plugin/Commands/GhCommands.php
Comment on lines +147 to +149
element_type: ''
element_class: bing
element_label_type: ''
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +8 to +12
id: taxonomy_term.field_tsc_link_to_tool
field_name: field_tsc_link_to_tool
entity_type: taxonomy_term
type: link
settings: { }
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +174 to 176
$branch_parts = explode("-", $full_branch);
$issue_number = $branch_parts[1];
$issue_number = preg_replace('/\r\n|\r|\n/', '', $issue_number);
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$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.

Suggested change
$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];

Copilot uses AI. Check for mistakes.
tool_case_study: view update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants