Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-68294

Add a new "Mobile app subscription plan" section in the Moodle app settings

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      This has to be tested by someone with access to the Staging environment of the Moodle Apps Portal because it requires access to the site registration database, Airnotifier and the staging apps portal, preferably, someone from the Apps team

      Testing instructions

      1. In your local Moodle installation enable "Mobile services"
      2. Go to Site Administration -> Mobile app and check that you now see a new option "Your Moodle app subscription"
      3. Edit your config.php file and set $CFG->disablemobileappsubscription = true;
      4. Go back to Site Administration and confirm you don't see the "Moodle app subscription" option
      5. Remove the line from config.php
      6. Create a valid internet address for your site using ngrok
      7. Now, open the "Your Moodle app subscription" section and check that you see that your plan is "Free" and you see a message indicating that you need to register your site on the Apps portal for more informatiion
      8. Check also that you dont see notifications information
      9. Register your site in the Apps Portal (staging environment)
      10. Log-out from the Moodle site, log-in and go to the subscription page to check that you don't see the messages about registering you site anymore
      11. In your Moodle site configure the Mobile notifications, to enable them using the Access key displayed in the apps portal
      12. Generate some Push notifications in your site
      13. Log-out from the Moodle site, log-in and go to the subscription page to check that you see the notifications information
      14. In the Apps Portal, upgrade to a Pro plan
      15. In your Moodle site, in Mobile app -> Mobile app features add some custom menu items, strings and disabled features
      16. Go to your app subscription page and check that you see the different "Pro" features and limits. Check that the progress bars correctly displayed the number of features allowed vs permitted
      17. Upgrade to a Premium plan in the apps portal (just updating manually plan field in the subscription table)
      18. Purge your Moodle site cache as Admin
      19. Go to your app subscription page and check that you see the different "Premium" features and limits. Check that for the features limited, you don't see any progress bar, you just see "Unlimited"
      Show
      This has to be tested by someone with access to the Staging environment of the Moodle Apps Portal because it requires access to the site registration database, Airnotifier and the staging apps portal, preferably, someone from the Apps team Testing instructions In your local Moodle installation enable "Mobile services" Go to Site Administration -> Mobile app and check that you now see a new option "Your Moodle app subscription" Edit your config.php file and set $CFG->disablemobileappsubscription = true; Go back to Site Administration and confirm you don't see the "Moodle app subscription" option Remove the line from config.php Create a valid internet address for your site using ngrok Now, open the "Your Moodle app subscription" section and check that you see that your plan is "Free" and you see a message indicating that you need to register your site on the Apps portal for more informatiion Check also that you dont see notifications information Register your site in the Apps Portal (staging environment) Log-out from the Moodle site, log-in and go to the subscription page to check that you don't see the messages about registering you site anymore In your Moodle site configure the Mobile notifications, to enable them using the Access key displayed in the apps portal Generate some Push notifications in your site Log-out from the Moodle site, log-in and go to the subscription page to check that you see the notifications information In the Apps Portal, upgrade to a Pro plan In your Moodle site, in Mobile app -> Mobile app features add some custom menu items, strings and disabled features Go to your app subscription page and check that you see the different "Pro" features and limits. Check that the progress bars correctly displayed the number of features allowed vs permitted Upgrade to a Premium plan in the apps portal (just updating manually plan field in the subscription table) Purge your Moodle site cache as Admin Go to your app subscription page and check that you see the different "Premium" features and limits. Check that for the features limited, you don't see any progress bar, you just see "Unlimited"
    • Affected Branches:
      MOODLE_38_STABLE, MOODLE_39_STABLE
    • Fixed Branches:
      MOODLE_39_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-68294-master

      Description

      We need to let site admins know that there are some limits/restrictions that may apply to the app (if they have enabled it).

      The overall idea will be the following:

      • In the site administration section "Mobile app" among the different options we will include a new one:
        "Your Moodle app subscription"
      • In this new page, plan information for the current site will be retrieved from apps.moodle.com and displayed to the site admin:
        • Current plan
        • Different limits/restrictions applied
        • Warning if some Moodle features are configured but are not supported by the current plan
        • Warning if the site reached the maximum number of allower user devices receiving notifications
        • Detailed information about Push notifications processed in the current month (or including previous months with graphs if the plan is a paid plan like pro or premium)
        • Links to the Moodle Apps portal for registering / purchasing a paid plan.

      In order to do that we'll need to call a new WS that will be available in the Moodle Apps Portal (apps.moodle.com) passing as parameter the following information:

      • The current siteurl ($CFG->wwwroot)
      • Moodle app ids (Android and iOS) to detect custom/branded apps
      • A way to authenticate/validate the request (we will send the Airnotifier Access Key, the $CFG->siteidentifier and/or registration token) so the apps portal can choose how to validate that request comes from a valid site
      • Once the WS request is validated, all the necessary information for printing the page will be returned. If the site is not yet registered, we will display information about how to register for a free plan at least

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jleyva Juan Leyva
              Reporter:
              jleyva Juan Leyva
              Peer reviewer:
              Noel De Martin
              Integrator:
              Sara Arjona (@sarjona)
              Tester:
              Noel De Martin
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                15/Jun/20

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 3 days, 7 hours, 15 minutes
                  3d 7h 15m