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

feat: Copy tags when sync library [FC-0062] #35596

Merged

Conversation

ChrisChV
Copy link
Contributor

@ChrisChV ChrisChV commented Oct 5, 2024

Description

This PR adds:

  • Call copy_tags function of tagging API to copy tags from all library components when adding (copy) a library in a course.
  • Update ObjectTagMinimalSerializer to avoid delete tags that are copied.
  • Which edX user roles will this change impact? "Course Author"

Supporting information

Testing instructions

  • Run this script to create taxonomies: https:/open-craft/taxonomy-sample-data
  • Run make requirements in lms and cms shell or rebuild your openedx-dev image in tutor.
  • To test this you need to use the legacy Unit page (disable contentstore.new_studio_mfe.use_new_unit_page)
  • Create a new library with components. Add tags to these components.
  • Copy to Clipboard a component
  • Go to a unit inside a course.
  • Paste the component. Refresh the page to see tags count button.
  • Open the manage tag, verify the copied tags. Edit and verify that you can't delete.
  • Add more tags and verify that you can delete the new added tags.
  • On the library, add more tags to the component. Edit the component and update the title.
  • Return to the course and refresh the page.
  • Click on "Update Available" of the new component.
  • Verify the new tags.
  • On the library add the same tags of the component in the course. Edit the component and update the title.
  • Return to the course and refresh the page. Click on "Update Available" of the new component.
  • Verify the new tags and verify that you cant delete the tags

Deadline

ASAP

Other information

Before merge:

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Oct 5, 2024
@openedx-webhooks
Copy link

openedx-webhooks commented Oct 5, 2024

Thanks for the pull request, @ChrisChV!

What's next?

Please work through the following steps to get your changes ready for engineering review:

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.

🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads

🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

🔘 Let us know that your PR is ready for review:

Who will review my changes?

This repository is currently maintained by @openedx/wg-maintenance-edx-platform. Tag them in a comment and let them know that your changes are ready for review.

Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@ChrisChV ChrisChV marked this pull request as draft October 5, 2024 02:37
@ChrisChV ChrisChV changed the title feat: Copy tags when sync library feat: Copy tags when sync library [FC-0062] Oct 8, 2024
@ChrisChV ChrisChV marked this pull request as ready for review October 8, 2024 21:19
Copy link
Contributor

@navinkarkera navinkarkera left a comment

Choose a reason for hiding this comment

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

@ChrisChV Nice job! 🚀

  • I tested this: (Played around with tags in library and course via library component and verified the tags after sync.)
  • I read through the code
  • I checked for accessibility issues
  • Includes documentation

requirements/edx/base.txt Outdated Show resolved Hide resolved
@mphilbrick211 mphilbrick211 added the FC Relates to an Axim Funded Contribution project label Oct 10, 2024
@bradenmacdonald
Copy link
Contributor

@ChrisChV I guess this has needed some refactoring since I last reviewed it, so let me know when it's ready for another review.

@ChrisChV ChrisChV force-pushed the chris/FAL-3616-copy-tags-in-library branch from 9fe57ef to 4418951 Compare October 18, 2024 02:09
@ChrisChV
Copy link
Contributor Author

ChrisChV commented Oct 18, 2024

I guess this has needed some refactoring since I last reviewed it, so let me know when it's ready for another review.

@bradenmacdonald Yes, the way to copy components has changed. It's ready for a new review.

Copy link
Contributor

@bradenmacdonald bradenmacdonald left a comment

Choose a reason for hiding this comment

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

One suggestion... otherwise I'm just testing now and then I'll approve.

cms/djangoapps/contentstore/helpers.py Outdated Show resolved Hide resolved
cms/lib/xblock/upstream_sync.py Outdated Show resolved Hide resolved
Copy link
Contributor

@bradenmacdonald bradenmacdonald left a comment

Choose a reason for hiding this comment

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

I tested this and it works great! The only weird thing is that since tags aren't part of the draft-publish cycle, you have to make changes to the block and publish them before the tags will be synced. We should mention that to the product team during acceptance testing.

Please consider making the changes I suggested before merging, but go ahead and merge either way.

@ChrisChV ChrisChV enabled auto-merge (squash) October 21, 2024 15:02
@ChrisChV ChrisChV merged commit 9e14566 into openedx:master Oct 21, 2024
48 checks passed
@ChrisChV ChrisChV deleted the chris/FAL-3616-copy-tags-in-library branch October 21, 2024 15:24
@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production.

@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

1 similar comment
@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production.

@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

1 similar comment
@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FC Relates to an Axim Funded Contribution project open-source-contribution PR author is not from Axim or 2U
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

6 participants