Moodle app guide for admins: Difference between revisions

From MoodleDocs
No edit summary
Line 45: Line 45:
For further information, see the dev docs [[:dev:Moodle Mobile Themes|Moodle Mobile Themes]].
For further information, see the dev docs [[:dev:Moodle Mobile Themes|Moodle Mobile Themes]].


If you want your own custom branding for your organization, Moodle offers the The Branded Moodle Mobile app service, please visit https://moodle.com/mobileapp/ for more information.
If you want your own custom branding for your organization, Moodle offers the The [https://moodle.com/branded-app Branded Moodle Mobile app] service, please visit https://moodle.com/app/ for more information.


== Moodle Mobile additional features plugin for old Moodle sites ==
== Moodle Mobile additional features plugin for old Moodle sites ==

Revision as of 10:02, 27 February 2020

Enable mobile services on your site

Your site needs to have mobile access enabled so users can use the mobile app.

For sites using https, mobile access is enabled by default in new installations of Moodle 3.0 onwards.

For http sites, mobile access can be enabled by an administrator as follows:

  1. In Site administration > Mobile app > Mobile settings tick the 'Enable web services for mobile devices' checkbox
  2. Click the button to save changes.

If your site uses a SSL certificate, it must be a trusted certificate. For security reasons the app doesn't work with self-signed certificates.

Please, verify that your certificate is valid via: https://www.geocerts.com/ssl_checker (you shouldn't see any warning).

If your site has the /login directory protected (frequently done when using the Shibboleth authentication method), you must enable access to the login/token.php script.

Frame embedding

If your sites uses reCaptcha, Vimeo videos or custom menu items (as described bellow) you must enable the admin setting "Allow frame embedding" (allowframembedding).

Mobile authentication

If your site uses a SSO authentication method (CAS, Shibboleth, LDAP SSO, OAuth...), then select via a browser window or via an embedded browser for 'Type of login' (typeoflogin) in 'Mobile authentication' in the Site administration. (This setting is provided for older pre-Moodle 3.2 sites via the Moodle Mobile additional features plugin.)

The options 'browser window' and 'embedded browser' are very similar; the only difference is when redirecting the user to enter their credentials in the site, the site will be opened in the device's default browser (for browser window) or the site will be opened "embedded" in the mobile app (for embedded browser). The user experience is better in embedded browser, but not all the authentication plugins will work in embedded browser (for example, if JavaScript popups are required they must use the 'browser window'). The admin should check whether both options work, and if so, choose 'embedded browser'.

If you are using Google OAuth you will have to use the 'browser window' method because Google recently blocked authentication via 'embedded browsers'.

If your organisation uses a custom branded app and 'Type of login' is set to 'Via a browser window' or 'Via embedded browser', then a URL scheme (forcedurlscheme) may be set. This will result in only the custom branded app working for the site: the official Moodle Mobile app will not work.

Customise your app theme

The app can also retrieve your custom styles from your Moodle site. Since the app is a HTML5 app, you can safely apply any CSS, CSS2 and CSS3 style.

Go to Administration > Site administration > Mobile app > Mobile appearance and enter in the mobilecssurl field a valid URL pointing to a CSS file containing your custom styles.

The CSS should be placed inside your Moodle installation (in your custom theme or inside a local plugin).

For example: https://mymoodlesite.com/theme/mytheme/style/mymobileapp.css

Once the user is logged in the app, remote CSS files for applying your custom styles are regularly retrieved.

Notice that on the first time a user opens the app, he will see the default "orange" style. Your custom styles will be applied once the user has added a site in the app.

For further information, see the dev docs Moodle Mobile Themes.

If you want your own custom branding for your organization, Moodle offers the The Branded Moodle Mobile app service, please visit https://moodle.com/app/ for more information.

Moodle Mobile additional features plugin for old Moodle sites

For old Moodle sites it is recommended to install the Moodle Mobile additional features plugin.

Notifications

You might find them annoying but push notifications keeps you and your users informed and updated on everything about the app. Moodle only send useful and important notifications such as new features or service disruptions.

Enabling push notifications is easy! An administrator can enable it by connecting their Moodle site/s to our free Notifications server available (only) for registered Moodle sites.

An access key can be obtained via Site administration > Plugins > Message outputs > Manage message outputs. Then by clicking the link to the Mobile settings, on the next page select Request access key.

The full guide on enabling push notifications can be found here: Mobile app notifications

App banners

Moodle Mobile app banner

App banners let your users know that there is a mobile app available for the site. App banners are only displayed when accessing the site using a mobile browser.

In Moodle 3.3 onwards, app banners for Android are supported as well as for iOS.

App banners are disabled by default. They can be enabled in 'Mobile appearance' in the Site administration.

If you are using a custom mobile app, you need to provide the unique identifier for the iOS and Android app; if you are using the Moodle Mobile app, the settings may be left as default.

Please, notice the following:

  • App banners for iOS devices (iPhone, iPad or iPod) are only shown when accessing the site using the Safari browser
  • App banners for Android devices are only shown in very recent Chrome browser versions and when the app is not installed. Note also that Chrome uses an engagement heuristic that will display the banner only on certain conditions, like interactions with the site, the last time you interacted with it, etc. You can remove the engagement restriction check by disabling this special chrome flag: chrome://flags/#bypass-app-banner-engagement-checks

'Get the mobile app' link

In Moodle 3.4 onwards, the link 'Get the mobile app' in the footer of each page on the site encourages users to make use of the mobile app.

By default, the link is https://download.moodle.org/mobile however the setting 'App download page' can be changed e.g. for sites using a branded mobile app.

If mobile services are not enabled for the site, then the 'Get the mobile app' link is not displayed.

To prevent the 'Get the mobile app' link being displayed, simply remove the URL from the 'App download page' setting and save changes.

Configuring the app from your site

In Moodle 3.3 onwards, or with the Moodle Mobile additional features plugin, settings in the Site administration enable admins to configure the app.

  • In Moodle 3.3 onwards go to Site administration > Mobile features
  • In sites with the Moodle Mobile additional features plugin installed, go to Site administration > Plugins > Local plugins > Mobile additional features

Force log out

Replace the Change site option to "Log out" so that users must enter their credentials on their next access. This is useful for custom mobile apps, as there is no reason for users wanting to switch to a different site.

Disabled features

The mobile app may be simplified by removing unwanted features. Some items may already be not available in the app because they are not enabled on your site.

Options to remove include:

  • Offline use
  • Blocks
  • Comments
  • Ratings
  • Tags
  • Create new account
  • Responsive menu items (new in 3.7)
  • Main menu
    • Site home
    • My courses
    • Dashboard
    • Calendar
    • Notifications
    • Messages
    • Grades
    • My learning plans
    • Blog
    • Files
    • Web page
    • Help
  • Course
    • Blocks
    • Blog
    • Search
    • Competencies
    • Participants
    • Grades
    • Course completion
    • Notes
    • Download course (new in 3.5)
    • Download courses (new in 3.5)
  • User
    • Blog
    • Badges
    • Competencies
    • Course completion
    • Grades
    • Send message
    • Add contact
    • Block contact
    • Add a new note
    • User picture
  • Files
    • Private files
    • Ste files
    • Upload
  • Modules (Each module can be disabled separately)
  • Blocks (Each block available in the app can be disabled separately)

Custom menu items

Additional items can be added to the app main menu (the side menu), such as a link to a different grade book.

Each custom menu item should have format: item text, link URL, link-opening method and language code (optional, for displaying the item to users of the specified language only), separated by pipe characters.

Possible link-opening methods are:

  • app - for linking to an activity supported by the app i.e. almost all activity types, as listed in Moodle Mobile features.
  • inappbrowser - for linking to external URLs or site functionalities not supported by the app. The link will open in a browser inside the app overlaying the complete screen.
  • browser - as for inappbrowser except that the link will instead open in the device default browser outside the app.
  • embedded - as for inappbrowser except that the link will instead open in an iframe in a new page in the app. (For this option you may need to enable the admin setting "Allow frame embedding" (allowframembedding)

Tip: If you add a custom menu item and save changes, then it doesn't appear in the app main menu, double check that the item is correctly formatted.

Please, note that if the app is using a language not indicated in the previous list, the first language in the list will be used.

If you want options tied to a language, you can append _only to the language code, for example: en_only es_only

Will display the custom menu item only when the app language is English or Spanish.

Responsive menu items

From 3.7 onwards menu items on bottom tabs are moved to the side of the screen on big screens. Also the number of items displayed on the menu may vary:

  • On small screens (usually phones) from 2 to 5 items will be displayed depending on the size of the screen.
  • On big screens (usually tablets an desktop version) more than 2 items will be displayed without limit.

If Responsive menu items is selected in Disabled features items will be displayed in side of bottom anyway but 5 items will be displayed in all cases without depending on the size of the screen.

Custom language strings

Words and phrases displayed in the app can be customised via the "Custom language strings" (customlangstrings) setting.

Enter each custom language string on a new line with format: string identifier, custom language string and language code, separated by pipe characters. For example:

mm.user.student|Learner|en
mm.user.student|Aprendiz|es

The complete list of string identifiers is listed in https://raw.githubusercontent.com/moodlehq/moodleapp/master/src/assets/lang/en.json. The string identifier is before the colon.

For example:

Mobile string identifiers list examples.png

means that the string "Student" has string identifier "mm.user.student".

Web services token duration

In Moodle 3.4 onwards, an admin can set how long a web services token created by a user (for example via the mobile app) is valid. (In previous versions of Moodle a token was valid for 3 months.)

App's cache

The app caches WebService requests to decrease data usage and increase the app's speed. When the app needs to get some data from Moodle, it will use a cached request as long as it isn't expired.

This cache was improved in Moodle App 3.7.0, now there are several cache times depending on the WS being called. This means that some requests will expire more often than others. Also, if the user isn't using a WiFi connection, the expiration time will also be longer to decrease the data usage. These cache times cannot be configured using a Moodle setting.

See also