openedx / openedx-learning

GNU Affero General Public License v3.0
5 stars 11 forks source link

fix: Update ObjectTagView and ObjectTagCountsView to accept complex objectIds #246

Closed marslanabdulrauf closed 1 day ago

marslanabdulrauf commented 1 month ago

Current: The current approach is to save the id of the content through a generic string, so that the tag can be linked to any type of content, no matter what type of ID have. For example, with this approach we can link standalone blocks and library blocks, both on Denver (v3) and Blockstore Content Libraries (v2).

Issue: With complex object_id e.g; course-v1:MIT+lt101.1+101.1 which is a acceptable format, django resolver is throwing 404

What this PR does? This PR is adding a regex for object_id lookup field value in ObjectTagView and ObjectTagCountsView to make it accept special characters specially those which are common in openedx course creation

Before: image

After: image

openedx-webhooks commented 1 month ago

Thanks for the pull request, @marslanabdulrauf!

What's next?

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

:radio_button: Get product approval

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

:radio_button: 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:

:radio_button: 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.

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

Who will review my changes?

This repository is currently maintained by @axim-engineering. 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:

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

mphilbrick211 commented 1 month ago

Hi @marslanabdulrauf, thank you for this contribution! Please let me know if you have any questions re: submitting a CLA form. Thanks!

pdpinch commented 4 weeks ago

@mphilbrick211 -- @marslanabdulrauf is working for MIT on this PR and he should be covered by the MIT entity agreement. I've just added him to the MITx Staff and GitHub details google sheet.

Ian2012 commented 1 week ago

Hi @marslanabdulrauf can you add tests for both scenarios?

marslanabdulrauf commented 1 week ago

yeah sure @Ian2012

Ian2012 commented 1 week ago

@ormsbee Do you want to take a look at this one?

ormsbee commented 6 days ago

@Ian2012: Please don't block on my review. But if you're asking me to be another reviewer, I can do that–but I probably won't get to it until Monday.

Ian2012 commented 6 days ago

@marslanabdulrauf quality tests are failing. I can merge once CI passes.

Ian2012 commented 3 days ago

@marslanabdulrauf Once it's bumped, it's good to go.

marslanabdulrauf commented 2 days ago

@Ian2012 I am unclear, how much time this might take ? Additionally, we need this for the Open edX Sumac release. Will we create a patch version specifically for Sumac, or will we bump the version in master and then backport it to Sumac?

Current status at the time of writing:

Ian2012 commented 1 day ago

Sorry, I wasn't clear. I want you to bump the version to merge and release it. I think we can merge it to master and upgrade the version, the current changes on openedx-learning are not breaking. cc @ormsbee

marslanabdulrauf commented 6 hours ago

Hi @Ian2012, Thanks for merging the PR! I noticed that we cannot directly bump its version for SUMAC, as it relies on the learner_downloadable field, which was removed in the latest version of openedx-learning. To address this issue, we discussed a few options:

  1. Backport the change to the 0.16.x branch and release a 0.16.2 version of the library for SUMAC
  2. Update SUMAC to handle the absence of learner_downloadable while back-porting this

Would you be open to rolling out a 0.16.2 release with the backported change? If not, could we explore how best to align with SUMAC release with the latest openedx-learning?

Let me know your thoughts or if you'd like us to assist further.

Thanks again!

Ian2012 commented 3 hours ago

We already performed this change on edx-platform: https://github.com/openedx/edx-platform/pull/35788, and openedx-learning it's already on v0.18.0 on edx-platform: https://github.com/openedx/edx-platform/blob/open-release/sumac.master/requirements/edx/base.txt#L828