* feat: Add Library Collections REST endpoints
* test: Add tests for Collections REST APIs
* chore: Add missing __init__ files
* docs: Add warning about unstable REST APIs
* feat: emit CONTENT_OBJECT_ASSOCIATIONS_CHANGED
whenever a content object's tags or collections have changed,
and handle that event in content/search.
The deprecated CONTENT_OBJECT_TAGS_CHANGED event is still emitted when
tags change; to be removed after Sumac.
* docs: replaces CONTENT_OBJECT_TAGS_CHANGED with CONTENT_OBJECT_ASSOCIATIONS_CHANGED
* chore: updates openedx-events==9.14.0
* chore: updates openedx-learning==0.11.4
Co-authored-by: Yusuf Musleh <yusuf@opencraft.com>
Co-authored-by: Chris Chávez <xnpiochv@gmail.com>
Co-authored-by: Rômulo Penido <romulo@thinkdash.dev>
* feat: Update search index when object tags updated
* feat: Update index when library block tags change
* refactor: Remove extra params
* docs: Add new event to hook events docs
* feat: Add and use upsert_block_tags_index_docs
This takes care of updating tags data in search index for both course and library blocks.
* chore: Update openedx-events
* fix: Update tests + include course block tags in reindex
* feat: Fix static-type issues + adjust tag_object
* fix: bug retrieving the Meilisearch API key UID (first time only)
* docs: Update comments
---------
Co-authored-by: Braden MacDonald <braden@opencraft.com>
Now that the content in `guides` is all of the edx-platform docs, move
them all into the top-level docs directory to reduce confusion.
BREAKING CHANGE: Guides are now just docs. This will require updating
the publishing settings so that RTD looks for the conf in a different
location.