edx-platform icon indicating copy to clipboard operation
edx-platform copied to clipboard

feat: [FC-0047] add mobile push notifications functionality

Open NiedielnitsevIvan opened this issue 1 year ago • 6 comments

Description

This PR addressed to adding the ability to send push notifications to the OeX mobile app on IOS and Android, using edx-ace functionality and Firebase Cloud Messaging as a cloud provider.

Some push notifications are also added here directly, namely:

  • push notifications for user enroll;
  • push notifications for user unenroll;
  • push notifications for add course beta testers;
  • push notifications for remove course beta testers;
  • push notification event to discussions.

Useful information to include:

  • Which edX user roles will this change impact? Common user roles are "Learner", "Course Author", "Developer", and "Operator".
  • Include screenshots for changes to the UI (ideally, both "before" and "after" screenshots, if applicable).
  • Provide links to the description of corresponding configuration changes. Remember to correctly annotate these changes.

Supporting information

FC-0047 TBD

Testing instructions

  1. Install edx-ace version 1.9.0.
  2. Add FIREBASE_CREDENTIALS or FIREBASE_CREDENTIALS_PATH to the platform settings.
  3. Add a new push_notification channel to ACE_ENABLED_CHANEL.
  4. Log in to OeX.
  5. Install the OeX mobile application on your device.
  6. Add your device token to FCM Devices with a link to your user from the admin panel.
  7. Enroll/unenroll the user(from step 7) in the “Instructor” tab to trigger the push notification event.
  8. Make sure you receive push notifications on your device.

Deadline

"None"

Other information

  • Edx-ace push notifications ARD - https://github.com/openedx/edx-ace/pull/277
  • This PR depends on Edx-ace PR which adds the necessary functionality.

NiedielnitsevIvan avatar Jun 11 '24 15:06 NiedielnitsevIvan

Thanks for the pull request, @NiedielnitsevIvan!

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.

  • 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.

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

  • 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

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

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

openedx-webhooks avatar Jun 11 '24 15:06 openedx-webhooks

To fix pipelines, it is necessary to merge this PR in edx-ace and release a new version so that this PR can rely on it.

NiedielnitsevIvan avatar Jun 13 '24 15:06 NiedielnitsevIvan

@NiedielnitsevIvan @GlugovGrGlib I see you're still actively pushing changes to this branch. Thank you for your efforts!

Is there anything I can help with to push this work forward? I know I've delayed other pull requests so I want to double check that I'm not blocking this one.

OmarIthawi avatar Aug 11 '24 18:08 OmarIthawi

Hello @OmarIthawi with this latest commits we were able to address your comments from previous CR run and make all CI checks to pass. This PR is ready for the yet another review, hopefully final CR pass from your side.

GlugovGrGlib avatar Aug 11 '24 21:08 GlugovGrGlib

@NiedielnitsevIvan thank you so much for going above and beyond. Please let me know when the tests are fixed so we can go ahead and merge it.

OmarIthawi avatar Sep 07 '24 15:09 OmarIthawi

@NiedielnitsevIvan thank you so much for going above and beyond. Please let me know when the tests are fixed so we can go ahead and merge it.

@OmarIthawi Checks are fixed.

NiedielnitsevIvan avatar Sep 11 '24 13:09 NiedielnitsevIvan

@bmtcril as this PR is finally approved, could you please check and merge this PR?

GlugovGrGlib avatar Sep 13 '24 12:09 GlugovGrGlib

Thanks @GlugovGrGlib @NiedielnitsevIvan , I'm doing a last pass run through now. This seems to me to be a medium risk PR to land, so what I'd like to do is:

  • Notify 2U in the usual cc-edx-platform channel that this is coming and give them time to review / ask questions
  • Try to schedule time when one of you can be available to do the merge in case of any issues / reverts
  • We often hold off from doing these merges on a Friday, is there I time during 2U business hours on Monday I can suggest merging?

Thanks, this is looking great!

bmtcril avatar Sep 13 '24 14:09 bmtcril

Merging on this is delayed while 2U works out issues on their side. Better to let the release queue clear than potentially get caught up in rollbacks and reverts while things get stable there. Discussion is happening in #cc-edx-platform if you'd like to follow along, but it seems likely it will take a day or two before we can merge. Sorry for the delay.

bmtcril avatar Sep 16 '24 15:09 bmtcril

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

edx-pipeline-bot avatar Sep 20 '24 15:09 edx-pipeline-bot

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

edx-pipeline-bot avatar Sep 20 '24 16:09 edx-pipeline-bot

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

edx-pipeline-bot avatar Sep 20 '24 16:09 edx-pipeline-bot