Add Group abstraction for cross-project search#12751
Conversation
Co-authored-by: ericholscher <25510+ericholscher@users.noreply.github.com>
Co-authored-by: ericholscher <25510+ericholscher@users.noreply.github.com>
Co-authored-by: ericholscher <25510+ericholscher@users.noreply.github.com>
|
@copilot just call it group, and fix tests and lunting.. |
Co-authored-by: ericholscher <25510+ericholscher@users.noreply.github.com>
|
Just a quick note here. The backend to support this is already implemented and it's just a value in the API response from addons: https://github.com/readthedocs/readthedocs.org/blob/main/readthedocs/proxito/views/hosting.py#L467-L486 We need to create the UI for this as discussed in readthedocs/addons#22 |
|
Yeah, if this is only being used for search, we already support searching across different projects. |
|
Yea, but the main thing here is creating named groups, so I can do things like |
Gotcha. I wouldn't go this direction just now without implementing the regular filters first. I think a few amount of these use cases are solved by the search filters we have thought about already. In fact, the UI is planned to a allow custom filters where you enter:
Then, it will be rendered in the UI as a Ops checkbox that you can tick it to automatically add the filter parameter. |
Implements project grouping to enable searching across related projects (subprojects, translations) with a single query parameter.
Changes
Model:
Groupwith name, slug, and M2M toProjectAuto-grouping signals:
{parent-slug}-subprojectsgroup{main-slug}-translationsgroupSearch integration:
project_group:slugsyntaxAdmin: Standard Django admin for manual group management
Usage
Groups are created automatically when subprojects or translations are added. Projects can also be manually organized into groups via admin.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.