Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tagging] Automatically add system tags for Language (to courses and course content) #79

Closed
pomegranited opened this issue Jul 20, 2023 · 8 comments · Fixed by openedx/edx-platform#32907

Comments

@pomegranited
Copy link

pomegranited commented Jul 20, 2023

Story

"As a content author, I want the system to maintain automatic tags on my content so that I don't have to perform these tasks manually when creating/updating content."

Full description

Follow up to

Implement automatic tagging for the system taxonomies defined in the MVP. These tags should be created/updated automatically from the content itself, triggered by the create/update events for courses and course blocks provided by #78

Acceptance criteria

Language system taxonomy:

  • When the user creates a new course or component ("XBlock") within a course:
    • a new ObjectTag for that object is created against the Language Taxonomy, with its Tag set to the content author's preferred language or browser language.
  • When the user updates an existing course, block, library, or library block:
    • if the object already has a Language ObjectTag, no change is made to that tag. (A future ticket will make this language tag editable by content authors, and so their changes must be preserved.)
    • if the object does not have an Language ObjectTag, one is created, using the editing content author's preferred language or browser language.
  • When the user deletes a course or course xblock:
    • any existing tags for this object are deleted (this should already be handled by our tagging system).
  • When an operator runs the "update tags" management command with a given "content author user ID" and a list of course, or course block IDs, a new Language ObjectTag is created if one does not already exist.

Future work

#97 will implement the same thing for library blocks.

Documentation updates & improvements criteria

  • Ensure that the management command and its options are fully documented.

Relevant repositories

@pomegranited pomegranited changed the title [Tagging] Implement system taxonomy auto-tagging [Tagging] Automatically add system tags for Language Aug 9, 2023
@pomegranited
Copy link
Author

Note: split this into 3 separate tasks, awaiting prioritization of the other system tags:

@bradenmacdonald
Copy link
Contributor

We are going to split the libraries part of this into a separate task for next sprint and focus on course blocks in this sprint (which is almost done).

@jmakowski1123 I need your call on something: for libraries we don't currently have a way to tell what language should be used when a new library block is created. We are considering adding a new setting for each library that determines the language of all the content in the library, just like courses have a language field that defines the language of the course. Would that make sense? Or would you prefer we try to support multiple languages within a library, based on the preferred language of the user who created each block?

CC @rpenido

@jmakowski1123
Copy link

Thinking to future state of libraries, we'll want libraries to support multiple languages within a library. As we think ahead to libraries being built/shared at the org level, there will be use cases where one library may have content in different languages.

@bradenmacdonald
Copy link
Contributor

@jmakowski1123 OK, good to know. So in that case, how should we decide what language tag to apply when a user creates a block in a library? Or should we let the user set those manually in the future?

@jmakowski1123
Copy link

Language is a tag that would be added at the block level, right? (as oppose to at the library level). Could language be auto-added based on a read of the content, but we give authors permission to change it if it's applied incorrectly?

@bradenmacdonald
Copy link
Contributor

@jmakowski1123 Yes, language will be a tag applied at the block level. And yes authors can override it. And yes, language could be auto-detected from the content itself but that would definitely be too complex for the MVP so we'll need to do something dumber like use the default language of the author, or the same language as the previous block in the library, or something simple like that.

@jmakowski1123
Copy link

That sounds fine. I just want to get around the need for an author to manually add language to each block, each time.

@bradenmacdonald bradenmacdonald changed the title [Tagging] Automatically add system tags for Language [Tagging] Automatically add system tags for Language (to courses and course content) Aug 30, 2023
@bradenmacdonald
Copy link
Contributor

@jmakowski1123 @rpenido I have moved the library blocks language tagging to a new ticket, #97 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging a pull request may close this issue.

3 participants