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

Change the Endpoint for retrieving Platform Parameters #3506

Open
Arjupta opened this issue Jul 20, 2021 · 3 comments
Open

Change the Endpoint for retrieving Platform Parameters #3506

Arjupta opened this issue Jul 20, 2021 · 3 comments
Labels
bug End user-perceivable behaviors which are not desirable. Impact: Low Low perceived user impact (e.g. edge cases). Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Work: Low Solution is clear and broken into good-first-issue-sized chunks. Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@Arjupta
Copy link
Contributor

Arjupta commented Jul 20, 2021

Currently the PlatformParameterService points to a demo endpoint for fetching platform parameters from the Oppia Backend. This url needs to be changed to a new endpoint after the platform parameter project gets completed. For doing so we need to first make the neccessary changes in the Oppia Backend to support the expected format of response needed and Afterwards we will raise a Pull request that changes the url in PlatformParameterService

@Arjupta Arjupta added Priority: Essential This work item must be completed for its milestone. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. Where: Infrastructure labels Jul 20, 2021
@Broppia Broppia added issue_type_infrastructure Impact: Low Low perceived user impact (e.g. edge cases). labels Jul 14, 2022
@BenHenning BenHenning added Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Z-ibt Temporary label for Ben to keep track of issues he's triaged. issue_user_developer labels Sep 15, 2022
@seanlip seanlip added bug End user-perceivable behaviors which are not desirable. and removed issue_type_infrastructure labels Mar 28, 2023
@adhiamboperes adhiamboperes added Work: Low Solution is clear and broken into good-first-issue-sized chunks. and removed Priority: Essential This work item must be completed for its milestone. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. labels Aug 14, 2023
@BenHenning BenHenning added this to the 1.0 Global availability milestone Aug 29, 2024
@BenHenning
Copy link
Member

This has actually evolved since the original issue was filed. The web team has completed a revamping of the feature flag & platform parameter system. As of now:

  • Feature flags are not exposed via any endpoints for Oppia Android to consume, so we won't be able to leverage web's new feature flag functionality. We don't plan to change this until after GA.
  • We're considering leveraging platform parameters for feature flags on Android, but this is still being discussed.
  • Platform parameters on web currently do not support platform-specific retrieval like they did before, and this functionality is planned to be reintroduced. The platform parameter controller was also removed, so it will need to be reintroduced.

As of now, no work can be done on this until web is updated to reintroduce its platform parameter controller with support for platform evaluation (so that Android only receives Android-specific constants).

Once that's completed, the following code changes will need to be made:

  • PlatformParameterService: may need updates to call into the correct handler and with the correct values.
  • PlatformParameterSyncUpWorker: may need changes if the API for the service changes.
  • New platform parameters should be introduced on web to introduce support for app deprecations (see notes in Implementation Request: Android Deprecation Notification #5025).

The code changes above and the end-to-end behavior will need to be verified in two stages:

  • Stage 1: local verification.
    • A dev version of the web server needs to be started (with the new functionality introduced).
    • A local build of the app needs to be deployed to an emulator and configured to use the local development version of the app (see https://stackoverflow.com/a/6310592). This will require a change to NetworkConfigProdModule (to point away from oppia.org).
    • The platform parameters for app deprecation (Implementation Request: Android Deprecation Notification #5025) should be tweaked via the local dev app admin panel to deprecate the local dev app.
    • The local dev app should be verified to sync by seeing the deprecation after an app restart (need to ensure the background worker runs).
  • Stage 2: production verification.
    • The app deprecation feature should be enabled in production Oppia web (without any versions being deprecated).
    • We should verify in newer versions of the app that they're logging the feature as enabled via the feature list event.

@BenHenning
Copy link
Member

@adhiamboperes this is a critical issue for GA--I don't think we should be removing it.

@BenHenning
Copy link
Member

oppia/oppia#21097 is the Oppia web issue that needs to be solved in tandem to this work (since it's what needs to be done in order to expose the new endpoint that will be needed by the app).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug End user-perceivable behaviors which are not desirable. Impact: Low Low perceived user impact (e.g. edge cases). Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Work: Low Solution is clear and broken into good-first-issue-sized chunks. Z-ibt Temporary label for Ben to keep track of issues he's triaged.
Development

No branches or pull requests

5 participants