-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Story
"As a content author, I want to see the tags previously used with a free-text taxonomy, or available for use with a closed taxonomy, so that I can see what tags are available for use on my content."
Description
Expose an "autocomplete" REST API for open and closed taxonomies. Builds on the python API created for #65. And the structure of the data returned by this API should match that developed for #75.
Performance is key here: because this may be called over and over as users add and remove characters from their search prefix string, this API must be lightning fast, and so please consider adding indexes or other similar changes to the data models to facilitate performance here. Your automated tests should also verify that minimal queries are being made against the database and response times are quick.
Plan out the best way for this API to be used by the frontend, and include decisions in an ADR. E.g., if the frontend sends an autocomplete query for the prefix "Arc", and the backend API finds and returns N "Arc"-prefixed tags, where N is less than the requested page size, then the frontend could do further filtering against that set for "Arch", "Archi", "Architecture"..
UPDATE THIS
For each field, it should contain the taxonomy metadata its name, type, and possible values if the field is not a free-form text field. If the field is a free-form text, it should return a unique set of values that have been used so far (so the frontend can display an auto-complete input).
Completion criteria
TBD
Studio API for:
/api/v1/content_tagging/taxonomy/<id>/tags_autocomplete/?prefix=<prefix>&page_size=<size>&page=<p>
Expose the python API created for [Tagging] Autocomplete tags API method #65
Paginate this view, using a low default page_size, e.g. 20.
The bulk of the logic for these APIs should be implemented in https://github.com/openedx/openedx-learning/, and exposed to Studio using the openedx/features/content_tagging REST API.
Behavioral specifications
TBD
Describe the various actions users can perform in the software and the expected response of the software. Include the common happy paths, and paths which result in errors.
- "When the user , ."
Documentation updates & improvements criteria
- A list of specific documentation requirements, to ensure constant attention and iterative improvements to documentation, or the mention "Left to the assignee’s appreciation"
Relevant PRs/repositories
- Generic tagging changes go in: https://github.com/openedx/openedx-learning/
- Content Tagging changes cf: feat: adds Content Tagging edx-platform#32661
Only code that is content- or org-specific should build on this change.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status