New Moodle App Plans (starting 2 April 2020)

Please see the official FAQs in the Moodle Apps portal

Students

How can I get the Moodle app?

The Moodle app is available for free from Google Play and the Apple Store. See Moodle app downloads for links. You can also install the app directly from your mobile device by searching for 'Moodle app' with author/owner 'Moodle Pty Ltd'.

I can't get the app to work. What do I do?

The Moodle app will ONLY work with Moodle recent sites that have been set up to allow it (the app will only connect to Moodle LMS sites version 3.5 onward). Please talk to your Moodle administrator if you have any problems connecting.

What permissions does the app require?

The app requires the following permissions:

  • Record audio - for uploading to your Moodle site
  • Read and modify the contents of your SD card - for content to be downloaded to your SD Card for offline access.
  • Network access - to be able to connect with your Moodle site and check if you are connected, and if not to switch to offline mode.
  • Run at startup - to receive local notifications even when the app is running in the background.
  • Prevent phone from sleeping - to receive push notifications anytime.

I can't see my course on the app. What do I do?

Check with your course tutor that you are correctly enrolled.

Why can't I upload my assignment on the app?

Check with your Moodle site administrator.

Why can't I sometimes access the app or submit anything to it?

This could be because of interruptions in your internet connection. Wait a while and try again. If you continue to have problems, contact your Moodle site administrator.

Is there a space limit on my files?

Assignments will have a size limit which you can see. For other space limit questions, check with your Moodle site administrator.

Who should I contact for help with the app?

Your Moodle site administrator can assist you in getting the app to work correctly.

When are activities completed offline synchronized?

See Moodle app synchronization.

Why the site is asking for my username and password when an activity is opened in the browser?

Auto-login from the app is only supported in sites using Moodle 3.2 onwards. Also, for security reasons, between auto-logins you must wait 6 minutes (this should not be a problem because most of the browsers will keep your Moodle session open).

I use LineageOS and I'm having problems using the app

LineageOS uses a different WebView implementation not compatible vith the app. You need to install "Android System WebView" from Google Play (or via a trusted apk) and enabling it via Settings > Developer options > WebView implementation.

H5P packages are not working on iOS

This is caused by a new feature of iOS 14 called ITP that blocks cookies for external sites embedded in the app (the H5P content is played embedded in an iframe pointing to the Moodle website) unless the user enables a setting in the app to allow those cookies.

The quick workaround is to ask your students using iPhone/iPad with iOS 14 to enable the setting "Allow Cross-Website Tracking" available via the Settings app (look for the Moodle app, at the bottom)

Teachers

How can I enable videos in my course to be downloaded?

See the section 'Media download for offline usage' in Creating Moodle-app-friendly courses.

Video subtitles are not working

This may happen in old Android versions (Android < 4.4), in modern Android and iOS versions they should work fine.

Which course format is it best to use?

Topics or weekly course format is best suited to mobile devices.

How do I make YouTube links open automatically in the app?

Add YouTube links as a URL resource.

Why can't my students see their courses?

If you or an administrator have correctly enrolled them in a course, they can see it in their mobile app. If they are correctly enrolled but can still not see their course, ask them to check with your Moodle site administrator.

I can't mark assignments in the app

If you are experiencing problems when grading, please review that you are using the correct decimal separators (if the app interface is in English, you must use a period).

What communications tools can I use in the app to engage with my learners?

See Mobile app notifications. Chat, forums and messaging are all supported by the app.

My Vimeo videos are not playing in the app

Vimeo protected videos should work on Moodle 3.3.4 onwards, please note that you need to enable this admin setting "Allow frame embedding" (allowframembedding admin setting). If that still doesn't work, make sure your server allows it by using this rule: X-Frame-Options "ALLOWALL"

You may also use Bootstrap responsive classes: https://getbootstrap.com/docs/4.0/utilities/embed/, for example,

For older versions, see this forum discussion with a workaround: https://moodle.org/mod/forum/discuss.php?d=327342

If the issue is with vimeo videos on Moodle sites 3.10 or 3.11, please update the Moodle site to the latest version possible (at least 3.10.10 or 3.11.6). (See https://tracker.moodle.org/browse/MDL-74042)

ReCaptcha doesn't work on my site

You need to enable this admin setting "Allow frame embedding" (allowframembedding admin setting). If that still doesn't work, make sure your server allows it by using this rule: X-Frame-Options "ALLOWALL"

H5P packages don't work on my site

Old Moodle versions

In some old Moodle versions, you might need to enable this admin setting "Allow frame embedding" (allowframembedding admin setting). If that still doesn't work, make sure your server allows it by using this rule: X-Frame-Options "ALLOWALL"

This can also happen when you are using the non-official H5P plugin (mod_hvp), in that case you will see the following message: This site is not configured properly for displaying mobile H5P content. Please contact a site administrator so they can apply the suggested configuration changes.

Cookies issues

If your site uses HTTPS please ensure that the "Secure cookies only" (cookiesecure) setting under Site administration > HTTP security is enabled.

Dependency errors

When the following error appears "Missing dependency H5P.Editor. something X required by H5P.Editor. something Y". H5P packages need to include all the libraries (dependencies) they use so the package is self-contained. But sometimes packages might be missing at least one dependency.

In order to fix this, you could do the following:

Open Moodle’s Content Bank (from the link in the problematic H5P settings page) and upload your H5P package there, once uploaded, you will see the H5P package and an “Edit” button, click on that button so the editor opens, scroll down and click “Save”. Now, you can replace the problematic H5P with this new one, for this, you can just include it from the Content bank by opening the activity settings page and the file picker.

I use a Moodle plugin but the app says it is not supported

You should contact the plugin developer and point him to this documentation: https://docs.moodle.org/dev/Moodle_Mobile_Remote_addons where it is explained how to add support to plugins in the Mobile app.

There is a list of Moodle plugins supported by the app here: https://moodle.org/plugins/browse.php?list=award&id=6

I have problems playing SCORM packages

This might be caused because:

  • The SCORM was added using an advanced option (remote imsmanifest.xml packages or file system repository unzipped SCORMS)
  • The SCORM ZIP file was created using a tool that does not create standardised ZIP files (for example, zip files containing the inverted path separator "\" will not work on Android)

Please refer to Moodle app SCORM player for additional information.

My quizzes or lessons are not working offline

You need to edit the quiz or lesson activity settings and enable the "Allow lesson/quiz to be attempted offline using the mobile app" configuration option.

Maths notation is not displaying correctly in the app

If you are having issues with MathJax, please enable the TeX notation filter instead.

How can I disable text selection / copy in the app?

You can create a remote theme and add some custom CSS rules to disable it, see https://docs.moodle.org/dev/Moodle_Mobile_Themes

My images, videos or audios stop working after the first time

Please make sure the URL you're using on the media file doesn't have any redirect (e.g. http to https), always try to use the final URL. There's a bug in the library we use to download those files, it doesn't work when downloading files with redirects. We have plans to remove that library from the app, but since then please always try to use URLs without redirects.

Administrators

How can I have my site listed in the Moodle app site finder?

Please refer to our Moodle app guide for admins for instructions.

How can I debug errors in the app?

Go to the More tab and then to Settings > General. Enable "Display debug messages". This will show an explanatory message when an error occurs, alternatively, you can do a full debugging via: https://docs.moodle.org/dev/Moodle_Mobile_debugging_WS_requests

I can connect with my iPhone but not with my Android phone

This usually happens when the site is using https and the certificate is not correctly configured or it is using an old protocol, please use these pages to check this certificate: https://www.sslshopper.com/ssl-checker.html, https://www.geocerts.com/ssl_checker, and https://www.ssllabs.com/ssltest/analyze.html

My certificate is fine but I still can't connect

This is usually a server configuration problem caused by any of the following server configuration issues:

"Access to XMLHttpRequest at 'https://yoursite/webservice/rest/server.php?moodlewsrestformat=json...' from origin 'http://localhost' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

This is because a Proxy/Firewall/Web Server security module is removing automatically the Access-Control-Allow-Origin: * header that Moodle sets to allow Web Service requests.

It is totally secure to remove that Proxy/Firewall/Web Server rule/configuration because that header is only set by Moodle when needed.

"access-control-allow-origin cannot contain more than one origin".

iOS and Android apps do not allow the following header to contain more than one item: "Access-Control-Allow-Origin". For example, a header like this: Access-Control-Allow-Origin: *, https://mydomain.com will cause problems.

This HTTP header is not valid, according to the specification you can only specify a domain or a "*": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

Please, review if you have a Proxy/Firewall/Web Server adding automatically values to that HTTP header.

My certificate is fine but the Moodle app is detecting http instead of https

If the Moodle app is detecting http instead of https, please revise config.php (check "wwwroot" as well as "httpswwwroot")

I can't get the app to work. What can I do?

Assuming you have enabled mobile services on your site, please check:

  1. If your site uses an SSL certificate, it must be a trusted certificate, not self-signed. Please use these tools or a similar one to check that your certificate is fine: SSL Checker and SSL Server Test. All the checks must be ok, including the "Certificate Chain Complete". Otherwise the app might work on iOS but not on Android.
  2. Debugging is disabled (in Site administration > Development > Debugging)
  3. The ADOdb debug option is disabled if you are using the external database auth or enrolment plugin (in Plugins > Authentication > External database and in Plugins > Enrolment > External database).
  4. SHA-1 https certificates are not supported anymore in Chrome, this means that the Android version of the app won't work for your site. If your site doesn't work in desktop Chrome or Chromium it won't work in the Android app. See https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html for more information
  5. If you are using IIS check that Anonymous access is not disabled for the /webservice directory.
  6. If you are using a web application firewall like StackPath, Barracuda, Cloudflare, Juniper, etc... try to temporary disable it to check if that's the cause. If so, you'll have to whitelist these endpoints: login/token.php, webservice/*, lib/ajax/*, media/player/vimeo/wsplayer.php and /tokenpluginfile.php

If you still have a problem, please post in the Moodle for mobile forum.

I cannot access with old users, but I can with recently created ones!

Please, do a "Purge all caches" via the Moodle administration settings, this will solve the problem.

I can't view the courses tab as an administrator

The Moodle app only displays courses you are enrolled in. If you want to view a course as an admin, you need to enrol in it.

My Moodle site uses a SSO auth method (Shibboleth, CAS, Google OAuth, etc) and the app is not working

See the section 'Mobile authentication' in the Moodle app guide for admins for details of how to configure it.

If configured the app is still not connecting: If your site uses an SSL certificate, it must be a trusted certificate, not self-signed. Please use this tool or a similar one to check that your certificate is fine: SSL Checker. All the checks must be OK, including the "Certificate Chain Complete".

If your SSO method is unable to authenticate when using an "embedded browser" (it gives an authentication error), please check if it works with a "browser window". If it does work with the browser window then it means your SSO is performing an HTTP redirect, and these kind of redirects aren't supported by the app (the request is redirected by the browser not passing the POST parameters). Unfortunately, this is something we cannot control in the Mobile app (it can't be handled via JavaScript). For further information, see http://stackoverflow.com/questions/228225/prevent-redirection-of-xmlhttprequest and http://stackoverflow.com/questions/4168784/ajax-redirection-handling

There are only 2 possible solutions: set the authentication via a "browser window" instead of an embedded one (please notice this won't work in the Linux desktop app), or remove the redirect from the SSO auth method.

SSO is not working with my custom auth plugin

SSO should work in any plugin if the plugin handles correctly the $SESSION->wantsurl, this is the way SSO works when it is launched via the app:

Custom auth plugins may be failing in the last step,not redirecting back to local/mobile, this will happen only if the plugin does not support correctly the $SESSION->wantsurl.

The SAML plugin works correctly but some modifications of that plugin may not work if important lines are changed.

I am having problems requesting an airnotifier access key

If you have registered your site but are still unable to request an access key, please register your site on the Moodle Apps Portal https://apps.moodle.com once your site is registered there, an Airnotifier access key will be automatically generated for you.

Push notifications are not working

Please check Mobile app notifications#Troubleshooting

How notifications icon badges are updated

Android: Not all Android devices support icon badges so in some cases badges will never display numbers, also, depending on the device only a badge indicating that there are new notifications will be displayed when receiving a Push notification when the app is not in the foreground.

iOS: The icon badge counter is only updated when the app is open and it will reflect the number of notifications pending reading or the number of message senders that sent you a message you have not read yet

In general, for iOS the icon badge displayed number should match the one displayed at the bottom of the app (or it should be the sum of the notifications and messages badges) and is not an indicator of the number of Push notifications the user has received, it acts as a reminder of pending notifications to be read that only gets updated when the user open the apps

There is an open issue to improve the behaviour on iOS, please watch MDL-73707

I configured 'QR code access' to automatic login, but the app still asks for credentials

Automatic authentication only works for Pro and Premium sites. You can see the app plans in this site.

I you're getting an error saying that the device you're using to connect isn't in the same network as the device that displays the QR code but both devices are connected to the same network, please check the section: ipmissmatch: 'Client IP address mismatch'.

Some users are asked to reauthenticate too often when they browse the site

This can happen if the app is sending too many variables to a WebService, e.g. because a course has a large number of sections and/or activities. This error will be fixed in the 3.9.3 version of the app, but you can increase the value of max_input_vars in php.ini to fix it in your server.

After upgrading to 3.9.5 some of my plugins have stopped working

The Moodle App 3.9.5 version comes with some breaking changes for plugins, most of the existing plugins have been updated to support the new changes.

Please check the following list of plugins that should work for 3.9.5 once you have upgraded to the latest version indicated in the document: https://docs.google.com/spreadsheets/d/1E9PqcUBpp9SAfQc_zJtX5tf9GeS3UN76A85IrrB4UDw/edit#gid=0

After upgrading to 3.9.5 I can log in on my Moodle site but I see a blank page or the app styles broken

This is usually because your Moodle site has a customised CSS.

Please try leaving empty CSS (mobilecssurl) on Site administration > Mobile app > Mobile appearance. If that works, please read Moodle App Remote Themes and create a new CSS file using the variables mentioned there

I cannot access my site after upgrading to 3.9.5

In the v3.9.5 of the app some security checks have become more strict than they used to in Android. Please check the following:

Error messages

'Can not find data record in database table external_functions'

This error usually happens due to a bad configuration or setting value in your Moodle site, please check:

  1. The user quota global setting should be an integer. For more details, see the discussion How to enable Moodle Mobile App for all accounts.
  2. The usermaxuploadfilesize should be an integer, please try to decrease the size. It can be configured in Site Administration > Security > Site Policies > Maximum uploaded file size. The default value (Site upload limit) depends on the PHP configuration, you might have to change the value of upload_max_filesize and post_max_size in your php.ini file.
  3. The user "lang" field in the database is set to a correct value and existing language installed in the site. Some times the lang field is set via external systems to incorrect values or pointing to a language pack that was uninstalled. Please, note that to fix this you need direct access to the database and your 'user' and 'course' table.

'Cannot connect: Verify that you have typed correctly the URL and that your site uses Moodle 3.5 or later'

Please check:

  1. Mobile services are enabled for the site.
  2. The user is entering the correct URL for the site (see FAQ above)
  3. For https sites, the certificate is valid (see FAQ above)

'We lost connection; you need to reconnect. Your token is now invalid.' on my custom version of the Moodle app

Please check:

  1. You have followed all the steps listed in Moodle Mobile Developing a plugin tutorial
  2. You have enabled the moodle/webservice:createtoken for the authenticated user

'No permission to create web service token for the service local_mobile' when attempting to log in (any user that it is not an admin)

Please check you have enabled the moodle/webservice:createtoken for the authenticated user or any global role you want to allow to use the mobile app

'No permission to create web service token for the service local_mobile' when attempting to log in as an admin

You need to create a token for the admin account (only) as follows:

  1. Go to Site administration > Plugins > Web services > Manage tokens
  2. Click Add
  3. Enter the admin username and select 'Moodle app additional features service' (i.e. do NOT leave it as 'Moodle app web service')
  4. Click the 'Save changes' button.

'Invalid response value detected' when accessing the site

The user quota global setting should be an integer. For more details, see the discussion How to enable Moodle Mobile App for all accounts.

' Invalid response value detected: Invalid external api response: the value is "", the server was expecting "raw" type"

This usually happens when there is a field with value NULL in a table in the database that should not be there. This may happen if your Moodle has been upgraded over many years and the database schema is broken.

To fix it, you can do the following:

  • Detect the field that is causing the problem (it should be indicated before the error message)
  • Fix the field, for example, for the password field in the lesson table: UPDATE mdl_lesson SET password = WHERE password IS NULL (remember that your table prefix can be different than mdl_)

'Invalid response value detected' when accessing My Courses or Course Overview

This usually happens when a course uses a language that isn't installed in the site. Please make sure that all courses use valid languages. This can be easily checked in the database, table "course", there is a column named "lang".

'A required parameter (username) was missing'

This may happen if your site implements HTTP redirects; the request is redirected by the browser not passing the POST parameters.

Unfortunately, this is something we cannot control in the Mobile app (it can't be handled via JavaScript). For further information, see http://stackoverflow.com/questions/228225/prevent-redirection-of-xmlhttprequest and http://stackoverflow.com/questions/4168784/ajax-redirection-handling

The solution is to change the HTTP redirect and use an HTML page with a meta tag or JavaScript redirect.

'Invalid json in request: No error'

There is a bug in Moodle 3.3 that can cause this error. Please update to Moodle 3.3.2.

'Cannot get course contents'

This usually happens when the course is using a course format plugin that was uninstalled from the server or that was not properly installed.

Please, reinstall again the course format plugin.

'Access control exception' or 'Your authentication token is invalid or has expired'

If this error appears as soon as you enter the username and password for a new site, then it probably means that the token expiration time is badly configured. This is how to fix it:

  1. Go to Site administration > Security > Site security settings.
  2. Find the setting named User created token duration.
  3. If the value is set to 0 or it's too low, please set it back to a valid value (the default value is 12 weeks).
  4. Click the 'Save changes' button.

ipmismatch: 'Client IP address mismatch'

This error can appear when a user opens your site in a browser while using the app. This happens if your site is behind a proxy and you're using one of these Moodle versions o higher: 3.5.11, 3.6.9, 3.7.5, 3.8.2, 3.9.0.

To fix it:

  1. Go to Site administration > Administration > Server > HTTP.
  2. Find the setting named Ignore reverse proxies (reverseproxyignore).
  3. Enter the IP of your proxy (or range of IPs).
  4. Click the 'Save changes' button.

The Moodle app does not connect to MoodleBox (or other internal self-hosted systems)

You will need to disable SSL to make the app works, please see this forum discussion for more information: https://moodle.org/mod/forum/discuss.php?d=424353#p1739474

I think I found a bug with the app. Where can I report it?

  1. Log in to the Moodle Mobile tracker (you'll need to create a tracker account if you've not done so previously)
  2. Check whether the issue has already been reported by doing a search
  3. If not, report the bug by clicking the 'Create Issue' link at the top right of the page, selecting 'Moodle app' as the project
  4. Add a detailed description providing as much information as possible (Moodle version, app version, device model and operating system, etc...), then click the Create button

How can I get the app in my language?

Setting your language

The Moodle app automatically detects your mobile's language and displays in the same language (if the translation exists). Otherwise, you can set the app language in App settings > General.

If the Moodle app is not yet available in your language, please contribute a translation! See Translating Moodle Mobile for details of what to do.

Any further questions?

Please post in the Moodle for mobile forum on moodle.org.