Note: You are currently viewing documentation for Moodle 3.9. Up-to-date documentation for the latest stable version of Moodle may be available here: Moodle app FAQ.

Moodle app FAQ: Difference between revisions

From MoodleDocs
(→‎Teachers: small rewording, TeX notation filter)
 
(41 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Mobile}}
{{Mobile}}
== New Moodle App Plans (starting 2 April 2020) ==
Please see the official FAQs in the [https://apps.moodle.com/local/apps/portal_faqs.php Moodle Apps portal]
==Students==
==Students==


===How can I get the Moodle Mobile app?===
===How can I get the Moodle app?===


The Moodle Mobile app is available for free from Google Play and the Apple Store. See [https://download.moodle.org/mobile/ Moodle Mobile downloads] for links. You can also install the app directly from your mobile device by searching for 'Moodle Mobile' with author/owner 'Moodle Pty Ltd'.
The Moodle app is available for free from Google Play and the Apple Store. See [https://download.moodle.org/mobile/ 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?===
===I can't get the app to work. What do I do?===


The Moodle Mobile app will ONLY work with Moodle sites that have been set up to allow it. Please talk to your Moodle administrator if you have any problems connecting.
The Moodle app will ONLY work with Moodle sites that have been set up to allow it. Please talk to your Moodle administrator if you have any problems connecting.


===What permissions does the app require?===
===What permissions does the app require?===
Line 37: Line 42:
===When are activities completed offline synchronized?===
===When are activities completed offline synchronized?===


See [[Moodle Mobile synchronization]].
See [[Moodle app synchronization]].


===Why the site is asking for my username and password when an activity is opened in the browser?===
===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).
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.


==Teachers==
==Teachers==
Line 47: Line 57:
===How can I enable videos in my course to be downloaded?===
===How can I enable videos in my course to be downloaded?===


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


===Video subtitles are not working===
===Video subtitles are not working===
Line 64: Line 74:
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.
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?===
=== I can't mark assignments in the app===
Grading assignments is on the [https://docs.moodle.org/dev/Moodle_Mobile_Roadmap roadmap] and will be available shortly.
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?===
===What communications tools can I use in the app to engage with my learners?===
Line 72: Line 82:
===My protected Vimeo videos are not playing in the app===
===My protected 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).
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, <div class="embed-responsive">


For older versions, see this forum discussion with a workaround: https://moodle.org/mod/forum/discuss.php?d=327342
For older versions, see this forum discussion with a workaround: https://moodle.org/mod/forum/discuss.php?d=327342
===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===
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"


=== I use a Moodle plugin but the app says it is not supported ===
=== I use a Moodle plugin but the app says it is not supported ===
Line 82: Line 102:


=== I have problems playing SCORM packages ===
=== I have problems playing SCORM packages ===
Please refer to [[Moodle Mobile SCORM player]].
Please refer to [[Moodle app SCORM player]].


=== My quizzes or lessons are not working offline ===
=== My quizzes or lessons are not working offline ===
Line 91: Line 111:


The app doesn't yet support MathJax (see MOBILE-1611). Instead, the [[TeX notation filter]] should be enabled.
The app doesn't yet support MathJax (see MOBILE-1611). Instead, the [[TeX notation filter]] should be enabled.
=== 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


==Administrators==
==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 ===
=== 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.geocerts.com/ssl_checker and https://www.ssllabs.com/ssltest/analyze.html
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.geocerts.com/ssl_checker and https://www.ssllabs.com/ssltest/analyze.html
=== I can connect with my Android but not with my iPhone (or iOS device) ===
This is usually a server configuration problem caused by this bug: "access-control-allow-origin cannot contain more than one origin"
iOS-based 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 "*", this is failing only in iOS (probably because the native Safari implementation is more restrictive):
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. Once this server misconfiguration issue is solved, you will be able to access to your site using the app in iOS


===I can't get the app to work. What can I do?===
===I can't get the app to work. What can I do?===
Line 107: Line 150:
# 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
# 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
# If you are using IIS check that  Anonymous access is not disabled for the /webservice directory.
# If you are using IIS check that  Anonymous access is not disabled for the /webservice directory.
# 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/*, and /tokenpluginfile.php


If you still have a problem, please post in the [https://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum].
If you still have a problem, please post in the [https://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum].
Line 116: Line 160:
===I can't view the courses tab as an administrator===
===I can't view the courses tab as an administrator===


The Moodle Mobile app only displays courses you are enrolled in. If you want to view a course as an admin, you need to enrol in it.
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===
===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 Mobile guide for admins]] for details of how to configure it.
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: [https://www.geocerts.com/ssl_checker SSL Checker]. All the checks must be OK, including the "Certificate Chain Complete".
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: [https://www.geocerts.com/ssl_checker 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 is not working with my custom auth plugin===
Line 128: Line 176:
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:
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:


* It launchs this URL https://yourmoodle/local/mobile/launch.php?service=local_mobile&passport=abc in the device browser (Moodle 3.2 onwards the URL is /tool/mobile instead local/mobile)
* It launchs this URL https://yourmoodle/admin/tool/mobile/launch.php?service=moodlemobile_app&passport=abc in the device browser (Moodle 3.2 onwards the URL is /tool/mobile instead local/mobile)
* If the user is not logged in, the browser will redirect the user to the login page
* If the user is not logged in, the browser will redirect the user to the login page
* If the auth plugin used implements correctly the handling of the wantsurl session var, once the user has logged in, the browser should redirect back to the https://yourmoodle/local/mobile/launch.php?service=local_mobile&passport=abc URL that will launch the mobile app via the custom URL protocol
* If the auth plugin used implements correctly the handling of the wantsurl session var, once the user has logged in, the browser should redirect back to the https://yourmoodle/local/mobile/launch.php?service=local_mobile&passport=abc URL that will launch the mobile app via the custom URL protocol


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.
Custom auth plugins may be failing in the last step,not redirecting back to admin/tool/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.
The SAML plugin works correctly but some modifications of that plugin may not work if important lines are changed.
Line 138: Line 186:
===I am having problems requesting an airnotifier access key===
===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 fill in the [http://goo.gl/forms/WLwkbe8b7c  Airnotifier access key manual request form]. (If your site is hosted so you can't obtain your siteidentifier, enter "cannot obtain" in the field.) Your site registration will be checked and you will be sent an access key in a few days if everything is correct.
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 ===
=== Push notifications are not working ===


Please check [[Mobile app notifications#Troubleshooting]]
Please check [[Mobile app notifications#Troubleshooting]]
=== 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 [https://moodle.com/app/ 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: [[#ipmismatch:_.27Client_IP_address_mismatch.27|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.


===Error messages===
===Error messages===
Line 160: Line 218:
# For https sites, the certificate is valid (see FAQ above)
# 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 Moodle Mobile ====
===='We lost connection; you need to reconnect. Your token is now invalid.' on my custom version of the Moodle app ====


Please check:
Please check:
# You have followed all the steps listed in [[:dev:Moodle Mobile Developing a plugin tutorial|Moodle Mobile Developing a plugin tutorial]]
# You have followed all the steps listed in [[:dev:Moodle Mobile Developing a plugin tutorial|Moodle Mobile Developing a plugin tutorial]]
# You have enabled the moodle/webservice:createtoken capability for the authenticated user
# You have enabled the [[Capabilities/moodle/webservice:createtoken|moodle/webservice:createtoken]]  for the authenticated user


===='No permission to create web service token for the service local_mobile' when attempting to log in as an admin====
===='No permission to create web service token for the service local_mobile' when attempting to log in as an admin====
Line 172: Line 230:
# Go to ''Site administration > Plugins > Web services > Manage tokens''
# Go to ''Site administration > Plugins > Web services > Manage tokens''
# Click Add
# Click Add
# Enter the admin username and select 'Moodle Mobile additional features service' (i.e. do NOT leave it as 'Moodle Mobile web service')
# Enter the admin username and select 'Moodle app additional features service' (i.e. do NOT leave it as 'Moodle app web service')
# Click the 'Save changes' button.
# Click the 'Save changes' button.


Line 178: Line 236:


The user quota global setting should be an integer. For more details, see the discussion [https://moodle.org/mod/forum/discuss.php?d=320873 How to enable Moodle Mobile App for all accounts].
The user quota global setting should be an integer. For more details, see the discussion [https://moodle.org/mod/forum/discuss.php?d=320873 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 ====
===='Invalid response value detected' when accessing My Courses or Course Overview ====
Line 195: Line 261:
There is a bug in Moodle 3.3 that can cause this error. Please update to Moodle 3.3.2.
There is a bug in Moodle 3.3 that can cause this error. Please update to Moodle 3.3.2.


===="Cannot get course contents"====
===='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.
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.
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:
# Go to ''Site administration > Security > Site security settings''.
# Find the setting named ''User created token duration''.
# 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).
# 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:
# Go to ''Site administration > Administration > Server > HTTP''.
# Find the setting named ''Ignore reverse proxies'' (reverseproxyignore).
# Enter the IP of your proxy (or range of IPs).
# Click the 'Save changes' button.


===I think I found a bug with the app. Where can I report it?===
===I think I found a bug with the app. Where can I report it?===
Line 205: Line 291:
# Log in to the [https://tracker.moodle.org/browse/MOBILE Moodle Mobile tracker] (you'll need to [http://tracker.moodle.org/secure/Signup%21default.jspa create a tracker account] if you've not done so previously)
# Log in to the [https://tracker.moodle.org/browse/MOBILE Moodle Mobile tracker] (you'll need to [http://tracker.moodle.org/secure/Signup%21default.jspa create a tracker account] if you've not done so previously)
# Check whether the issue has already been reported by doing a [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE search]
# Check whether the issue has already been reported by doing a [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE search]
# If not, report the bug by clicking the 'Create Issue' link at the top right of the page, selecting 'Moodle Mobile' as the project
# If not, report the bug by clicking the 'Create Issue' link at the top right of the page, selecting 'Moodle app' as the project
# Add a detailed description, then click the Create button
# 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
# Attach the following files to the issue by selecting 'Attach Files' in the 'More actions' dropdown menu:
#* 'Device information' - this can be found in the app (''Settings -> Development -> Device info'', you can send yourself this information by email using the email button at the bottom)
#* App Log (''Settings -> Development -> Show Log'', again you can send yourself this information by email)


===How can I get the app in my language?===
===How can I get the app in my language?===
[[File:setting the app lang.png|thumb|100px|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.


The Moodle Mobile app is currently being translated into many languages. If it is not yet available in your language, please contribute a translation! See [[:dev:Translating Moodle Mobile|Translating Moodle Mobile]] for details of what to do.
If the Moodle app is not yet available in your language, please contribute a translation! See [[:dev:Translating Moodle Mobile|Translating Moodle Mobile]] for details of what to do.


==Any further questions?==
==Any further questions?==
Line 221: Line 306:
[[Category:FAQ]]
[[Category:FAQ]]


[[de:Moodle Mobile FAQ]]
[[de:Moodle Mobile - FAQ]]
[[ca:Moodle Mobile FAQ]]
[[ca:Moodle Mobile FAQ]]
[[es:Moodle Mobile FAQ]]
[[es:Moodle app FAQ]]
[[fr:Moodle pour les mobiles]]
[[fr:Moodle pour les mobiles]]
[[ja:モバイルMoodle FAQ]]
[[ja:モバイルMoodle FAQ]]

Latest revision as of 13:59, 9 December 2020


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 sites that have been set up to allow it. 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.


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

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

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"

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

Please refer to Moodle app SCORM player.

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

The app doesn't yet support MathJax (see MOBILE-1611). Instead, the TeX notation filter should be enabled.

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

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.geocerts.com/ssl_checker and https://www.ssllabs.com/ssltest/analyze.html

I can connect with my Android but not with my iPhone (or iOS device)

This is usually a server configuration problem caused by this bug: "access-control-allow-origin cannot contain more than one origin"

iOS-based 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 "*", this is failing only in iOS (probably because the native Safari implementation is more restrictive): 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. Once this server misconfiguration issue is solved, you will be able to access to your site using the app in iOS

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/*, 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 admin/tool/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

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.

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

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.