<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://docs.moodle.org/all/es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jleyva</id>
	<title>MoodleDocs - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/all/es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jleyva"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/Especial:Contribuciones/Jleyva"/>
	<updated>2026-04-08T21:27:56Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=Seguridad_de_Moodle_app&amp;diff=59046</id>
		<title>Seguridad de Moodle app</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=Seguridad_de_Moodle_app&amp;diff=59046"/>
		<updated>2025-04-30T08:48:12Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: /* Warnings typically raised by static code analysis tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Mobile}}&lt;br /&gt;
{{Urgente de traducir}}&lt;br /&gt;
&lt;br /&gt;
The Moodle app is a hybrid app (uses web-technologies) developed on top of a well-tested widely used framework called &amp;quot;Cordova&amp;quot; that provides a robust container for HTML apps.&lt;br /&gt;
&lt;br /&gt;
Security is very important to us, this is why we follow the Cordova and Moodle security recommendations:&lt;br /&gt;
* Cordova: https://cordova.apache.org/docs/en/latest/guide/appdev/security/&lt;br /&gt;
* Moodle: https://docs.moodle.org/dev/Security (when developing Web Services)&lt;br /&gt;
&lt;br /&gt;
== How we approach security ==&lt;br /&gt;
&lt;br /&gt;
* Login and authorisation&lt;br /&gt;
** Authorisation is done via temporary access tokens. The duration of the access tokens can be configured via Moodle settings.&lt;br /&gt;
** Single Sign-On (or auto-login) from the app to the site is done using a special private token (that is obtained and stored when the user log-in with the app)&lt;br /&gt;
** Single Sign-On (or auto-login) from the app to the site has several additional restrictions (like limiting it in only several times per hour)&lt;br /&gt;
** QR-Login is done using temporary tokens that require the user to be in the same network (IP address) and it is limited to 10 minutes time&lt;br /&gt;
** For retrieving files from the server (images or other assets), a different non-authentication token is used.&lt;br /&gt;
&lt;br /&gt;
* Permissions&lt;br /&gt;
** The app only has access to a subset of Moodle functionalities (available through the Moodle App Service)&lt;br /&gt;
** Privileges escalation is not possible via the Web Services layer since all the operations are done in a non-privileged way, permissions are checked based on the currently authenticated user.&lt;br /&gt;
** Even if a temporary access token for an admin (or privileged user) was hijacked, it wouldn&#039;t be possible for the attacker to access to site administration functionality via the Moodle site.&lt;br /&gt;
&lt;br /&gt;
Because the app is a Webservices client we recommend to enable it only under https and use the following settings to enforce security like:&lt;br /&gt;
* Enable only certain roles to be able to access via the app via system capabilities (avoid site administrators)&lt;br /&gt;
* Use Moodle security settings to reduce the expiration time of WebService access tokens (so the user has to authenticate again)&lt;br /&gt;
* Apart from that, the Cordova framework enforces security adding restrictions like avoiding connecting to sites running non-trusted certificates.&lt;br /&gt;
&lt;br /&gt;
== What is the Moodle app security issues process? ==&lt;br /&gt;
&lt;br /&gt;
* We follow the standard Moodle security process: https://docs.moodle.org/dev/Moodle_security_procedures&lt;br /&gt;
* There is only one relevant difference: security patches are applied immediately in the next app release or in an emergency release (depending the risks attached to the issue)&lt;br /&gt;
&lt;br /&gt;
== Shared responsibility ==&lt;br /&gt;
&lt;br /&gt;
* The organisation hosting the Moodle site is also responsible for providing secure access to the Moodle site, the site should be configured to use HTTPS (secure connection) so the connection is app-to-site encrypted.&lt;br /&gt;
* Apart from the previous, the Moodle site administrator can enable additional security measures such as enforcing end-to-end encryption for Push notifications via the site administration notification settings.&lt;br /&gt;
&lt;br /&gt;
== Do you run security/penetration/pentest or static code analysis tests? ==&lt;br /&gt;
&lt;br /&gt;
We do occasionally receive automated vulnerability reports of this nature. The issue with automated tools is that they usually output generic results that indicate where an exploit may be possible, which means the results often contain many false positives.&lt;br /&gt;
&lt;br /&gt;
As mentioned above our app is built on top of Cordova, we rely on the Cordova framework developers to detect any native code issue. &lt;br /&gt;
&lt;br /&gt;
You can do a search in the Cordova project tracker to see that several runs with the Static Code Analysis Veracode tool created issues that have been already solved, see: https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20text%20~%20%22veracode%22%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC&lt;br /&gt;
&lt;br /&gt;
Unfortunately, those Veracode runs are not publicly available because most of the time are run by external parties using the framework.&lt;br /&gt;
&lt;br /&gt;
Please, note also that there are CVE codes for Cordova security issues: https://www.cvedetails.com/product/27153/Apache-Cordova.html?vendor_id=4&lt;br /&gt;
&lt;br /&gt;
== Warnings typically raised by static code analysis tools ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lack of Jailbreak Detection&#039;&#039;&#039;  The Moodle app does not include jailbreak or root detection. This is due to the lack of official APIs from Google or Apple, and our testing of existing non-official plugins to support it showed a high rate of false positives, particularly on Android with budget devices or recent iOS updates. Notably, the app securely stores authentication tokens in the keystore/keychain, not in the session. The session token is used only for temporary content retrieval and has limited validity, ensuring that even on compromised devices, attackers cannot extract sensitive data to perform impersonation attacks.&lt;br /&gt;
* &#039;&#039;&#039;No Certificate Pinning&#039;&#039;&#039;  The Moodle app does not support certificate pinning because it is designed to connect to any Moodle site globally (there are hundreds of thousands of sites, each one with its own URL, using Moodle), whether hosted on HTTPS, HTTP, or local networks. Additionally, the Cordova framework we rely on does not natively support certificate pinning.&lt;br /&gt;
* &#039;&#039;&#039;Lack of Encryption for Manifest Files&#039;&#039;&#039;  The app does not include sensitive keys or certificates in publicly accessible files, eliminating the need for encryption of manifest files. The Firebase certificates available in the app’s GitHub repository are bound to the app’s fingerprint, ensuring they cannot be exploited.&lt;br /&gt;
* &#039;&#039;&#039;Static Web Service Authentication Tokens (Session Fixation)&#039;&#039;&#039;  Web service tokens are not regenerated with each login by design. This aligns with how the Moodle Web Services API operates, allowing users to connect across multiple devices (e.g., phone and tablet) without invalidating tokens. Regenerating tokens would restrict multi-device access.&lt;br /&gt;
* &#039;&#039;&#039;Lack of Code Obfuscation&#039;&#039;&#039;  The Moodle app code is open source. Since no keys or private data are generated during compilation, code obfuscation is not necessary.&lt;br /&gt;
* &#039;&#039;&#039;Improper Session Timeout &amp;amp; Logout Function&#039;&#039;&#039;  The Moodle app follows a common approach used by most mobile apps on Android and iOS, where users are not prompted to log in repeatedly after short periods of inactivity. Mobile devices provide adequate protection through features such as automatic locking when inactive.  However, Moodle site administrators have full control over how the app handles session timeouts and logout behavior. They can:&lt;br /&gt;
** Define how the logout function works (soft logout or complete session termination).&lt;br /&gt;
** Set a custom session timeout duration.&lt;br /&gt;
** Configure the duration of the Web Service authentication token.&lt;br /&gt;
&lt;br /&gt;
These configurations can be managed through:&lt;br /&gt;
** &#039;&#039;&#039;Site administration &amp;gt; Mobile app authentication settings&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Site administration &amp;gt; Security settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:Moodle app security]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=Moodle_app_FAQ&amp;diff=56996</id>
		<title>Moodle app FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=Moodle_app_FAQ&amp;diff=56996"/>
		<updated>2024-03-01T11:38:52Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: /* Administradores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Frequently updated doc page&lt;br /&gt;
|docpagetitle = Mobile Moodle FAQ&lt;br /&gt;
}}{{Mobile}}{{Urgente de traducir}}{{Actualizar}}&lt;br /&gt;
{{Versiones|Esta documentación es para Moodle 3.7 y más recientes, pero existe una página antigua en [[30/Moodle Mobile FAQ]]}}&lt;br /&gt;
&lt;br /&gt;
== Nuevos Planes para Moodle App Plans (a partir del 2 de Abril del 2020) ==&lt;br /&gt;
&lt;br /&gt;
Por favor vea el anuncio oficial: [https://moodle.org/mod/forum/discuss.php?d=397926 Introducing our new Moodle App plans]&lt;br /&gt;
&lt;br /&gt;
=== ¿La App sigue siendo gratuita para descargar y usar?===&lt;br /&gt;
&lt;br /&gt;
Si; la App misma es gratuita. Students and teachers who use the Moodle app will never pay any fees. Moodle site administrators can choose to sign up for a plan.&lt;br /&gt;
&lt;br /&gt;
=== ¿Pueden explicarme las diferentes limitaciones? ===&lt;br /&gt;
&lt;br /&gt;
First and most important, the limitations are applied on a site basis.&lt;br /&gt;
&lt;br /&gt;
* Basic custom branding via CSS: Site admins can upload a CSS file with basic styles for the app. The styles will only be applied on Premium sites. See [[Moodle app guía para administradores]] for more information about this functionality.&lt;br /&gt;
* Number of active devices for mobile push notifications: Calculated monthly, this is the number of user devices actively receiving push notifications from the site. For example, for a site with 100 users enrolled, if half of them are using the app with one device configured to receive notifications, the potential number of active devices per month will be 50. In the Free plan, where the limit is set to 50, only the first 50 devices in a month will receive notifications from the site.&lt;br /&gt;
* Offline access to content: Complete courses available offline. Contents downloaded individually will be still available offline, but the user will be able to download complete courses for offline access to a certain limit depending on the plan.&lt;br /&gt;
* Customisable app features: These are app features that can be configured via the Moodle site administration tools (Moodle app section). For details, see [[Moodle app guía para administradores#Características deshabilitadas]].&lt;br /&gt;
&lt;br /&gt;
=== Soy un cliente de un Moodle Partner. ¿Esto me afecta? === &lt;br /&gt;
&lt;br /&gt;
If your Moodle site is hosted by a Moodle Partner, the changes will not affect you. However, if your Moodle Partner doesn&#039;t host your site, you may need to sign up for a plan, move to MoodleCloud or ask your Moodle Partner to host your site from April 2020 onwards. &lt;br /&gt;
&lt;br /&gt;
=== Soy un profesor o un estudiante. ¡Tengo que hacer algo respecto a mi Moodle app? === &lt;br /&gt;
&lt;br /&gt;
No, you don’t have to do anything. We are notifying site administrators about the upcoming changes so they can take action if necessary.&lt;br /&gt;
&lt;br /&gt;
=== ¿Tendré que instalar una nueva App a pertir del 2 de abril del 2020? === &lt;br /&gt;
&lt;br /&gt;
No, the app will remain the same, but depending on the plan your institution has signed up for, you may have limited access to certain functionalities.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo se si necesito actualizar a un Plan de Moodle App? === &lt;br /&gt;
&lt;br /&gt;
If you are using MoodleCloud or your site is hosted by a Moodle Partner, you won’t be affected by these changes. Otherwise, in the last week of March 2020, site administrators will be provided with a link to the Moodle App Portal, where they will be able to register their site and obtain information such as the number of active devices receiving push notifications during the last month. &lt;br /&gt;
&lt;br /&gt;
Site administrators should also check if they are using any of the “Customisable app features” (via Site administration &amp;gt; Mobile app &amp;gt; Mobile app features) as continued use will require upgrading to a plan. &lt;br /&gt;
&lt;br /&gt;
=== ¿Necesito apuntarme al plan gratuito para poder usar la App? === &lt;br /&gt;
&lt;br /&gt;
No, though we encourage all site administrators to sign up in our Moodle Apps portal in order to obtain information about active devices receiving push notifications.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo puedo actualizar a uno de los planes? === &lt;br /&gt;
&lt;br /&gt;
During the last week of March 2020, site administrators will be provided with a link to the Moodle App Portal, where they will be able to sign up for a plan.&lt;br /&gt;
&lt;br /&gt;
Remember that you can also migrate to a MoodleCloud plan, ask a Moodle Partner to host your site or build your own version of the app using the open source code.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo pago un plan? === &lt;br /&gt;
&lt;br /&gt;
For activation of any of the paid plans, you will need to make a credit card payment, PayPal will be also supported.&lt;br /&gt;
&lt;br /&gt;
For payments via bank transfer to Moodle Pty Ltd, a minimum of a two years Premium subscription will be required (so we can cover all the administrative work and bank fees). Once you&#039;ve chosen this method, the Premium plan will be automatically activated (only during March and April this year). Notice that you&#039;ll have 4 weeks for processing payment. If after those 4 weeks we haven&#039;t received the payment yet, the plan will be canceled and you will get back to the free plan and penalties can be applied in further payments.&lt;br /&gt;
&lt;br /&gt;
=== Will students lose access to the app if we don’t upgrade straight away on 2 April 2020? === &lt;br /&gt;
&lt;br /&gt;
No, students will still be able to use the app. Depending on the size of your installation, your use of push notifications and the use of customised features, your students may stop receiving notifications or no longer be able to use specific features.&lt;br /&gt;
&lt;br /&gt;
=== Si somos una ONG o una organización no lucrativa, ¿Necesitamos actualizar? ¡Necesitamos pagar? === &lt;br /&gt;
&lt;br /&gt;
We will create a process to ensure that NGOs and non-profit organisations do not need to pay and can benefit from our Premium Plan. Upon receipt of the necessary documentation and validation from Moodle HQ, organisations will have full access. Please note though that the verification process may take several weeks. Public universities, colleges and schools are not eligible for this.&lt;br /&gt;
&lt;br /&gt;
=== Is this affecting only certain Moodle versions? ===&lt;br /&gt;
The changes will affect all the Moodle versions supported by the app (Moodle 3.1 onward)&lt;br /&gt;
&lt;br /&gt;
=== ¿Qué pasa con los sitios que no están registrados con Moodle? === &lt;br /&gt;
&lt;br /&gt;
We recommend all site administrators to register their site in order to receive important notifications about the product. Moreover, the validation process to sign up for a plan will be easier. &lt;br /&gt;
&lt;br /&gt;
=== Con los nuevos planes que vendrán, ¿hay algún acmbio que potencialmente afectará la privacidad de los usuarios? === &lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
==Estudiantes==&lt;br /&gt;
&lt;br /&gt;
===¿Cómo puedo obtener la Moodle app?===&lt;br /&gt;
&lt;br /&gt;
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 &#039;Moodle app&#039; with author/owner &#039;Moodle Pty Ltd&#039;.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t get the app to work. What do I do?===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===What permissions does the app require?===&lt;br /&gt;
&lt;br /&gt;
The app requires the following permissions:&lt;br /&gt;
&lt;br /&gt;
* Record audio - for uploading to your Moodle site&lt;br /&gt;
* Read and modify the contents of your SD card - for content to be downloaded to your SD Card for offline access.&lt;br /&gt;
* 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.&lt;br /&gt;
* Run at startup - to receive local notifications even when the app is running in the background.&lt;br /&gt;
* Prevent phone from sleeping - to receive push notifications anytime.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t see my course on the app. What do I do?===&lt;br /&gt;
Check with your course tutor that you are correctly enrolled.&lt;br /&gt;
&lt;br /&gt;
=== ¿Porqué no puedo subir mi Tarea a la app?===&lt;br /&gt;
Consulte a su administrador de Moodle.&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t I sometimes access the app or submit anything to it?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Is there a space limit on my files?===&lt;br /&gt;
Assignments will have a size limit which you can see. For other space limit questions, check with your  Moodle site administrator.&lt;br /&gt;
&lt;br /&gt;
===Who should I contact for help with the app?===&lt;br /&gt;
Your Moodle site administrator can assist you in getting the app to work correctly.&lt;br /&gt;
&lt;br /&gt;
===When are activities completed offline synchronized?===&lt;br /&gt;
&lt;br /&gt;
Vea [[Sincronización de Moodle app]].&lt;br /&gt;
&lt;br /&gt;
===Why the site is asking for my username and password when an activity is opened in the browser?===&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===I use LineageOS and I&#039;m having problems using the app===&lt;br /&gt;
&lt;br /&gt;
LineageOS uses a different WebView implementation not compatible vith the app. You need to install &amp;quot;Android System WebView&amp;quot; from Google Play (or via a trusted apk) and enabling it via Settings &amp;gt; Developer options &amp;gt; WebView implementation.&lt;br /&gt;
&lt;br /&gt;
===Los paquetes H5P y contenidos externos incrustados vía iframes no están funcionando en iOS ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The quick workaround is to enable the setting &amp;quot;Allow Cross-Website Tracking&amp;quot; available via the Settings app (look for the Moodle app, at the bottom) on your iPhone/iPad with iOS 14.&lt;br /&gt;
&lt;br /&gt;
=== No recibo notificaciones del calendario (recordatorios) cuando uso Android 12 o superior === &lt;br /&gt;
&lt;br /&gt;
In order to receive calendar notifications you need to allow alarms and reminders for the Moodle app. To do this:&lt;br /&gt;
* Open Android Settings and go to the Moodle app settings. Another way to reach these settings is by long-clicking the Moodle app icon and pressing &amp;quot;App info&amp;quot;.&lt;br /&gt;
* Make sure that Notifications are enabled.&lt;br /&gt;
* If you see a section called &amp;quot;Alarms &amp;amp; reminders&amp;quot;, make sure it is Allowed (this setting is disabled by default in Android 14+).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Profesores==&lt;br /&gt;
&lt;br /&gt;
===How can I enable videos in my course to be downloaded?===&lt;br /&gt;
&lt;br /&gt;
See the section &#039;Media download for offline usage&#039; in [[Crear cursos amistosos para mobile]].&lt;br /&gt;
&lt;br /&gt;
===Video subtitles are not working===&lt;br /&gt;
&lt;br /&gt;
This may happen in old Android versions (Android &amp;lt; 4.4), in modern Android and iOS versions they should work fine.&lt;br /&gt;
&lt;br /&gt;
===Which course format is it best to use?===&lt;br /&gt;
&lt;br /&gt;
Topics or weekly course format is best suited to mobile devices.&lt;br /&gt;
&lt;br /&gt;
===How do I make YouTube links open automatically in the app?===&lt;br /&gt;
&lt;br /&gt;
Add YouTube links as a [[Recurso URL]].&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t my students see their courses?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== I can&#039;t mark assignments in the app===&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===What communications tools can I use in the app to engage with my learners?===&lt;br /&gt;
See [[Mobile app notifications]]. Chat, forums and messaging are all supported by the app.&lt;br /&gt;
&lt;br /&gt;
===My protected Vimeo videos are not playing in the app===&lt;br /&gt;
&lt;br /&gt;
Vimeo protected videos should work on Moodle 3.3.4 onwards, please note that you need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You may also use Bootstrap responsive classes: https://getbootstrap.com/docs/4.0/utilities/embed/, for example, &amp;lt;div class=&amp;quot;embed-responsive&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For older versions, see this forum discussion with a workaround: https://moodle.org/mod/forum/discuss.php?d=327342&lt;br /&gt;
&lt;br /&gt;
===ReCaptcha doesn&#039;t work on my site===&lt;br /&gt;
&lt;br /&gt;
You need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===H5P packages don&#039;t work on my site===&lt;br /&gt;
&lt;br /&gt;
You need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== I use a Moodle plugin but the app says it is not supported ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
There is a list of Moodle plugins supported by the app here: https://moodle.org/plugins/browse.php?list=award&amp;amp;id=6&lt;br /&gt;
&lt;br /&gt;
=== I have problems playing SCORM packages ===&lt;br /&gt;
&lt;br /&gt;
This might be caused because:&lt;br /&gt;
* The SCORM was added using an advanced option (remote imsmanifest.xml packages or file system repository unzipped SCORMS)&lt;br /&gt;
* 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 &amp;quot;\&amp;quot; will not work on Android)&lt;br /&gt;
&lt;br /&gt;
Please refer to [[Moodle app SCORM player]] for additional information.&lt;br /&gt;
&lt;br /&gt;
=== My quizzes or lessons are not working offline ===&lt;br /&gt;
&lt;br /&gt;
You need to edit the quiz or lesson activity settings and enable the &amp;quot;Allow lesson/quiz to be attempted offline using the mobile app&amp;quot; configuration option.&lt;br /&gt;
&lt;br /&gt;
=== Maths notation is not displaying correctly in the app ===&lt;br /&gt;
&lt;br /&gt;
The app doesn&#039;t yet support MathJax (see MOBILE-1611). Instead, the [[Filtro de notación TeX]] should be enabled.&lt;br /&gt;
&lt;br /&gt;
=== How can I disable text selection / copy in the app? ===&lt;br /&gt;
&lt;br /&gt;
You can create a remote theme and add some custom CSS rules to disable it, see https://docs.moodle.org/dev/Moodle_Mobile_Themes&lt;br /&gt;
&lt;br /&gt;
=== My images, videos or audios stop working after the first time ===&lt;br /&gt;
&lt;br /&gt;
Please make sure the URL you&#039;re using on the media file doesn&#039;t have any redirect (e.g. http to https), always try to use the final URL. There&#039;s a bug in the library we use to download those files, it doesn&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Administradores==&lt;br /&gt;
&lt;br /&gt;
=== How can I debug errors in the app? ===&lt;br /&gt;
&lt;br /&gt;
Go to the More tab and then to Settings &amp;gt; General. Enable &amp;quot;Display debug messages&amp;quot;. 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&lt;br /&gt;
&lt;br /&gt;
=== I can connect with my iPhone but not with my Android phone ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t get the app to work. What can I do?===&lt;br /&gt;
&lt;br /&gt;
Assuming you have enabled mobile services on your site, please check:&lt;br /&gt;
&lt;br /&gt;
# 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: [https://www.geocerts.com/ssl_checker SSL Checker] and [https://www.ssllabs.com/ssltest/analyze.html SSL Server Test]. All the checks must be ok, including the &amp;quot;Certificate Chain Complete&amp;quot;. Otherwise the app might work on iOS but not on Android.&lt;br /&gt;
# [[Depuración]] is disabled (in &#039;&#039;Site administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;)&lt;br /&gt;
# The ADOdb debug option is disabled if you are using the external database auth or enrolment plugin (in &#039;&#039;Plugins &amp;gt; Authentication &amp;gt; External database&#039;&#039; and in &#039;&#039;Plugins &amp;gt; Enrolment &amp;gt; External database&#039;&#039;).&lt;br /&gt;
# SHA-1 https certificates are not supported anymore in Chrome, this means that the Android version of the app won&#039;t work for your site. If your site doesn&#039;t work in desktop Chrome or Chromium it won&#039;t work in the Android app. See https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html for more information&lt;br /&gt;
# If you are using IIS check that  Anonymous access is not disabled for the /webservice directory.&lt;br /&gt;
# If you are using a web application firewall like StackPath, Barracuda, Cloudflare, Juniper, etc... try to temporary disable it to check if that&#039;s the cause. If so, you&#039;ll have to whitelist these endpoints: login/token.php, webservice/*, lib/ajax/*, and /tokenpluginfile.php&lt;br /&gt;
&lt;br /&gt;
If you still have a problem, please post in the [https://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum].&lt;br /&gt;
&lt;br /&gt;
=== I cannot access with old users, but I can with recently created ones! ===&lt;br /&gt;
&lt;br /&gt;
Please, do a &amp;quot;Purge all caches&amp;quot; via the Moodle administration settings, this will solve the problem.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t view the courses tab as an administrator===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===My Moodle site uses a SSO auth method (Shibboleth, CAS, Google OAuth, etc) and the app is not working===&lt;br /&gt;
&lt;br /&gt;
See the section &#039;Mobile authentication&#039; in the [[Moodle app guía para administradores]] for details of how to configure it.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Certificate Chain Complete&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If your SSO method is unable to authenticate when using an &amp;quot;embedded browser&amp;quot; (it gives an authentication error), please check if it works with a &amp;quot;browser window&amp;quot;. If it does work with the browser window then it means your SSO is performing an HTTP redirect, and these kind of redirects aren&#039;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&#039;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&lt;br /&gt;
&lt;br /&gt;
There are only 2 possible solutions: set the authentication via a &amp;quot;browser window&amp;quot; instead of an embedded one (please notice this won&#039;t work in the Linux desktop app), or remove the redirect from the SSO auth method.&lt;br /&gt;
&lt;br /&gt;
===SSO is not working with my custom auth plugin===&lt;br /&gt;
&lt;br /&gt;
SSO should work in any plugin if the plugin handles correctly the $SESSION-&amp;gt;wantsurl, this is the way SSO works when it is launched via the app:&lt;br /&gt;
&lt;br /&gt;
* It launchs this URL https://yourmoodle/local/mobile/launch.php?service=local_mobile&amp;amp;passport=abc in the device browser (Moodle 3.2 onwards the URL is /tool/mobile instead local/mobile)&lt;br /&gt;
* If the user is not logged in, the browser will redirect the user to the login page&lt;br /&gt;
* 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&amp;amp;passport=abc URL that will launch the mobile app via the custom URL protocol&lt;br /&gt;
&lt;br /&gt;
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-&amp;gt;wantsurl.&lt;br /&gt;
&lt;br /&gt;
The SAML plugin works correctly but some modifications of that plugin may not work if important lines are changed.&lt;br /&gt;
&lt;br /&gt;
===I am having problems requesting an airnotifier access key===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
=== Push notifications are not working ===&lt;br /&gt;
&lt;br /&gt;
Please check [[Mobile app notifications#Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
===The Moodle app does not connect to MoodleBox (or other internal self-hosted systems)===&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===I think I found a bug with the app. Where can I report it?===&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://tracker.moodle.org/browse/MOBILE Moodle Mobile tracker] (you&#039;ll need to [http://tracker.moodle.org/secure/Signup%21default.jspa create a tracker account] if you&#039;ve not done so previously)&lt;br /&gt;
# Check whether the issue has already been reported by doing a [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE search]&lt;br /&gt;
# If not, report the bug by clicking the &#039;Create Issue&#039; link at the top right of the page, selecting &#039;Moodle app&#039; as the project&lt;br /&gt;
# 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&lt;br /&gt;
&lt;br /&gt;
===How can I get the app in my language?===&lt;br /&gt;
[[File:setting the app lang.png|thumb|100px|Setting your language]]&lt;br /&gt;
The Moodle app automatically detects your mobile&#039;s language and displays in the same language (if the translation exists). Otherwise, you can set the app language in App settings &amp;gt; General.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See also a post explaining how multi-lang works in the Moodle app: [https://moodle.org/mod/forum/discuss.php?d=453445#p1825637 Re: Language selector missing in Moodle app]&lt;br /&gt;
&lt;br /&gt;
==Error messages==&lt;br /&gt;
&lt;br /&gt;
=== &#039;Can not find data record in database table external_functions&#039; ===&lt;br /&gt;
&lt;br /&gt;
This error usually happens due to a bad configuration or setting value in your Moodle site, please check:&lt;br /&gt;
# 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].&lt;br /&gt;
# The &#039;&#039;usermaxuploadfilesize&#039;&#039; should be an integer, please try to decrease the size. It can be configured in &#039;&#039;Site Administration &amp;gt; Security &amp;gt; Site Policies &amp;gt; Maximum uploaded file size&#039;&#039;. The default value (Site upload limit) depends on the PHP configuration, you might have to change the value of &#039;&#039;upload_max_filesize&#039;&#039; and &#039;&#039;post_max_size&#039;&#039; in your &#039;&#039;php.ini&#039;&#039; file.&lt;br /&gt;
# The user &amp;quot;lang&amp;quot; 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 &#039;user&#039; and &#039;course&#039; table.&lt;br /&gt;
&lt;br /&gt;
===&#039;Cannot connect: Verify that you have typed correctly the URL and that your site uses Moodle 2.4 or later&#039;===&lt;br /&gt;
&lt;br /&gt;
Please check:&lt;br /&gt;
# Mobile services are enabled for the site.&lt;br /&gt;
# The user is entering the correct URL for the site (see FAQ above)&lt;br /&gt;
# For https sites, the certificate is valid (see FAQ above)&lt;br /&gt;
&lt;br /&gt;
===&#039;We lost connection; you need to reconnect. Your token is now invalid.&#039; on my custom version of the Moodle app ===&lt;br /&gt;
&lt;br /&gt;
Please check:&lt;br /&gt;
# You have followed all the steps listed in [[:dev:Moodle Mobile Developing a plugin tutorial|Moodle Mobile Developing a plugin tutorial]]&lt;br /&gt;
# You have enabled the [[Capabilities/moodle/webservice:createtoken|moodle/webservice:createtoken]]  for the authenticated user&lt;br /&gt;
&lt;br /&gt;
===&#039;No permission to create web service token for the service local_mobile&#039; when attempting to log in as an admin===&lt;br /&gt;
&lt;br /&gt;
You need to create a token for the admin account (only) as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Web services &amp;gt; Manage tokens&#039;&#039;&lt;br /&gt;
# Click Add&lt;br /&gt;
# Enter the admin username and select &#039;Moodle app additional features service&#039; (i.e. do NOT leave it as &#039;Moodle app web service&#039;)&lt;br /&gt;
# Click the &#039;Save changes&#039; button.&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid response value detected&#039; when accessing the site ===&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== &#039; Invalid response value detected: Invalid external api response: the value is &amp;quot;&amp;quot;, the server was expecting &amp;quot;raw&amp;quot; type&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To fix it, you can do the following: &lt;br /&gt;
* Detect the field that is causing the problem (it should be indicated before the error message)&lt;br /&gt;
* Fix the field, for example, for the password field in the lesson table: UPDATE mdl_lesson SET password = &#039;&#039; WHERE password IS NULL (remember that your table prefix can be different than mdl_)&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid response value detected&#039; when accessing My Courses or Course Overview ===&lt;br /&gt;
&lt;br /&gt;
This usually happens when a course uses a language that isn&#039;t installed in the site. Please make sure that all courses use valid languages. This can be easily checked in the database, table &amp;quot;course&amp;quot;, there is a column named &amp;quot;lang&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&#039;A required parameter (username) was missing&#039;===&lt;br /&gt;
&lt;br /&gt;
This may happen if your site implements HTTP redirects; the request is redirected by the browser not passing the POST parameters.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this is something we cannot control in the Mobile app (it can&#039;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&lt;br /&gt;
&lt;br /&gt;
The solution is to change the HTTP redirect and use an HTML page with a meta tag or JavaScript redirect.&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid json in request: No error&#039;===&lt;br /&gt;
&lt;br /&gt;
There is a bug in Moodle 3.3 that can cause this error. Please update to Moodle 3.3.2.&lt;br /&gt;
&lt;br /&gt;
===&#039;Cannot get course contents&#039;===&lt;br /&gt;
&lt;br /&gt;
This usually happens when the course is using a course format plugin that was uninstalled from the server or that was not properly installed.&lt;br /&gt;
&lt;br /&gt;
Please, reinstall again the course format plugin.&lt;br /&gt;
&lt;br /&gt;
===&#039;Access control exception&#039; or &#039;Your authentication token is invalid or has expired&#039;===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Security &amp;gt; Site security settings&#039;&#039;.&lt;br /&gt;
# Find the setting named &#039;&#039;User created token duration&#039;&#039;.&lt;br /&gt;
# If the value is set to 0 or it&#039;s too low, please set it back to a valid value (the default value is 12 weeks).&lt;br /&gt;
# Click the &#039;Save changes&#039; button.&lt;br /&gt;
&lt;br /&gt;
==Any further questions?==&lt;br /&gt;
&lt;br /&gt;
Please post in the [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum] on moodle.org.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Moodle Mobile FAQ]]&lt;br /&gt;
[[ca:Moodle Mobile FAQ]]&lt;br /&gt;
[[en:Moodle Mobile FAQ]]&lt;br /&gt;
[[fr:Moodle pour les mobiles]]&lt;br /&gt;
[[ja:モバイルMoodle FAQ]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=Moodle_app_FAQ&amp;diff=56995</id>
		<title>Moodle app FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=Moodle_app_FAQ&amp;diff=56995"/>
		<updated>2024-03-01T11:38:37Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: /* Error messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Frequently updated doc page&lt;br /&gt;
|docpagetitle = Mobile Moodle FAQ&lt;br /&gt;
}}{{Mobile}}{{Urgente de traducir}}{{Actualizar}}&lt;br /&gt;
{{Versiones|Esta documentación es para Moodle 3.7 y más recientes, pero existe una página antigua en [[30/Moodle Mobile FAQ]]}}&lt;br /&gt;
&lt;br /&gt;
== Nuevos Planes para Moodle App Plans (a partir del 2 de Abril del 2020) ==&lt;br /&gt;
&lt;br /&gt;
Por favor vea el anuncio oficial: [https://moodle.org/mod/forum/discuss.php?d=397926 Introducing our new Moodle App plans]&lt;br /&gt;
&lt;br /&gt;
=== ¿La App sigue siendo gratuita para descargar y usar?===&lt;br /&gt;
&lt;br /&gt;
Si; la App misma es gratuita. Students and teachers who use the Moodle app will never pay any fees. Moodle site administrators can choose to sign up for a plan.&lt;br /&gt;
&lt;br /&gt;
=== ¿Pueden explicarme las diferentes limitaciones? ===&lt;br /&gt;
&lt;br /&gt;
First and most important, the limitations are applied on a site basis.&lt;br /&gt;
&lt;br /&gt;
* Basic custom branding via CSS: Site admins can upload a CSS file with basic styles for the app. The styles will only be applied on Premium sites. See [[Moodle app guía para administradores]] for more information about this functionality.&lt;br /&gt;
* Number of active devices for mobile push notifications: Calculated monthly, this is the number of user devices actively receiving push notifications from the site. For example, for a site with 100 users enrolled, if half of them are using the app with one device configured to receive notifications, the potential number of active devices per month will be 50. In the Free plan, where the limit is set to 50, only the first 50 devices in a month will receive notifications from the site.&lt;br /&gt;
* Offline access to content: Complete courses available offline. Contents downloaded individually will be still available offline, but the user will be able to download complete courses for offline access to a certain limit depending on the plan.&lt;br /&gt;
* Customisable app features: These are app features that can be configured via the Moodle site administration tools (Moodle app section). For details, see [[Moodle app guía para administradores#Características deshabilitadas]].&lt;br /&gt;
&lt;br /&gt;
=== Soy un cliente de un Moodle Partner. ¿Esto me afecta? === &lt;br /&gt;
&lt;br /&gt;
If your Moodle site is hosted by a Moodle Partner, the changes will not affect you. However, if your Moodle Partner doesn&#039;t host your site, you may need to sign up for a plan, move to MoodleCloud or ask your Moodle Partner to host your site from April 2020 onwards. &lt;br /&gt;
&lt;br /&gt;
=== Soy un profesor o un estudiante. ¡Tengo que hacer algo respecto a mi Moodle app? === &lt;br /&gt;
&lt;br /&gt;
No, you don’t have to do anything. We are notifying site administrators about the upcoming changes so they can take action if necessary.&lt;br /&gt;
&lt;br /&gt;
=== ¿Tendré que instalar una nueva App a pertir del 2 de abril del 2020? === &lt;br /&gt;
&lt;br /&gt;
No, the app will remain the same, but depending on the plan your institution has signed up for, you may have limited access to certain functionalities.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo se si necesito actualizar a un Plan de Moodle App? === &lt;br /&gt;
&lt;br /&gt;
If you are using MoodleCloud or your site is hosted by a Moodle Partner, you won’t be affected by these changes. Otherwise, in the last week of March 2020, site administrators will be provided with a link to the Moodle App Portal, where they will be able to register their site and obtain information such as the number of active devices receiving push notifications during the last month. &lt;br /&gt;
&lt;br /&gt;
Site administrators should also check if they are using any of the “Customisable app features” (via Site administration &amp;gt; Mobile app &amp;gt; Mobile app features) as continued use will require upgrading to a plan. &lt;br /&gt;
&lt;br /&gt;
=== ¿Necesito apuntarme al plan gratuito para poder usar la App? === &lt;br /&gt;
&lt;br /&gt;
No, though we encourage all site administrators to sign up in our Moodle Apps portal in order to obtain information about active devices receiving push notifications.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo puedo actualizar a uno de los planes? === &lt;br /&gt;
&lt;br /&gt;
During the last week of March 2020, site administrators will be provided with a link to the Moodle App Portal, where they will be able to sign up for a plan.&lt;br /&gt;
&lt;br /&gt;
Remember that you can also migrate to a MoodleCloud plan, ask a Moodle Partner to host your site or build your own version of the app using the open source code.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo pago un plan? === &lt;br /&gt;
&lt;br /&gt;
For activation of any of the paid plans, you will need to make a credit card payment, PayPal will be also supported.&lt;br /&gt;
&lt;br /&gt;
For payments via bank transfer to Moodle Pty Ltd, a minimum of a two years Premium subscription will be required (so we can cover all the administrative work and bank fees). Once you&#039;ve chosen this method, the Premium plan will be automatically activated (only during March and April this year). Notice that you&#039;ll have 4 weeks for processing payment. If after those 4 weeks we haven&#039;t received the payment yet, the plan will be canceled and you will get back to the free plan and penalties can be applied in further payments.&lt;br /&gt;
&lt;br /&gt;
=== Will students lose access to the app if we don’t upgrade straight away on 2 April 2020? === &lt;br /&gt;
&lt;br /&gt;
No, students will still be able to use the app. Depending on the size of your installation, your use of push notifications and the use of customised features, your students may stop receiving notifications or no longer be able to use specific features.&lt;br /&gt;
&lt;br /&gt;
=== Si somos una ONG o una organización no lucrativa, ¿Necesitamos actualizar? ¡Necesitamos pagar? === &lt;br /&gt;
&lt;br /&gt;
We will create a process to ensure that NGOs and non-profit organisations do not need to pay and can benefit from our Premium Plan. Upon receipt of the necessary documentation and validation from Moodle HQ, organisations will have full access. Please note though that the verification process may take several weeks. Public universities, colleges and schools are not eligible for this.&lt;br /&gt;
&lt;br /&gt;
=== Is this affecting only certain Moodle versions? ===&lt;br /&gt;
The changes will affect all the Moodle versions supported by the app (Moodle 3.1 onward)&lt;br /&gt;
&lt;br /&gt;
=== ¿Qué pasa con los sitios que no están registrados con Moodle? === &lt;br /&gt;
&lt;br /&gt;
We recommend all site administrators to register their site in order to receive important notifications about the product. Moreover, the validation process to sign up for a plan will be easier. &lt;br /&gt;
&lt;br /&gt;
=== Con los nuevos planes que vendrán, ¿hay algún acmbio que potencialmente afectará la privacidad de los usuarios? === &lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
==Estudiantes==&lt;br /&gt;
&lt;br /&gt;
===¿Cómo puedo obtener la Moodle app?===&lt;br /&gt;
&lt;br /&gt;
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 &#039;Moodle app&#039; with author/owner &#039;Moodle Pty Ltd&#039;.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t get the app to work. What do I do?===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===What permissions does the app require?===&lt;br /&gt;
&lt;br /&gt;
The app requires the following permissions:&lt;br /&gt;
&lt;br /&gt;
* Record audio - for uploading to your Moodle site&lt;br /&gt;
* Read and modify the contents of your SD card - for content to be downloaded to your SD Card for offline access.&lt;br /&gt;
* 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.&lt;br /&gt;
* Run at startup - to receive local notifications even when the app is running in the background.&lt;br /&gt;
* Prevent phone from sleeping - to receive push notifications anytime.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t see my course on the app. What do I do?===&lt;br /&gt;
Check with your course tutor that you are correctly enrolled.&lt;br /&gt;
&lt;br /&gt;
=== ¿Porqué no puedo subir mi Tarea a la app?===&lt;br /&gt;
Consulte a su administrador de Moodle.&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t I sometimes access the app or submit anything to it?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Is there a space limit on my files?===&lt;br /&gt;
Assignments will have a size limit which you can see. For other space limit questions, check with your  Moodle site administrator.&lt;br /&gt;
&lt;br /&gt;
===Who should I contact for help with the app?===&lt;br /&gt;
Your Moodle site administrator can assist you in getting the app to work correctly.&lt;br /&gt;
&lt;br /&gt;
===When are activities completed offline synchronized?===&lt;br /&gt;
&lt;br /&gt;
Vea [[Sincronización de Moodle app]].&lt;br /&gt;
&lt;br /&gt;
===Why the site is asking for my username and password when an activity is opened in the browser?===&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===I use LineageOS and I&#039;m having problems using the app===&lt;br /&gt;
&lt;br /&gt;
LineageOS uses a different WebView implementation not compatible vith the app. You need to install &amp;quot;Android System WebView&amp;quot; from Google Play (or via a trusted apk) and enabling it via Settings &amp;gt; Developer options &amp;gt; WebView implementation.&lt;br /&gt;
&lt;br /&gt;
===Los paquetes H5P y contenidos externos incrustados vía iframes no están funcionando en iOS ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The quick workaround is to enable the setting &amp;quot;Allow Cross-Website Tracking&amp;quot; available via the Settings app (look for the Moodle app, at the bottom) on your iPhone/iPad with iOS 14.&lt;br /&gt;
&lt;br /&gt;
=== No recibo notificaciones del calendario (recordatorios) cuando uso Android 12 o superior === &lt;br /&gt;
&lt;br /&gt;
In order to receive calendar notifications you need to allow alarms and reminders for the Moodle app. To do this:&lt;br /&gt;
* Open Android Settings and go to the Moodle app settings. Another way to reach these settings is by long-clicking the Moodle app icon and pressing &amp;quot;App info&amp;quot;.&lt;br /&gt;
* Make sure that Notifications are enabled.&lt;br /&gt;
* If you see a section called &amp;quot;Alarms &amp;amp; reminders&amp;quot;, make sure it is Allowed (this setting is disabled by default in Android 14+).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Profesores==&lt;br /&gt;
&lt;br /&gt;
===How can I enable videos in my course to be downloaded?===&lt;br /&gt;
&lt;br /&gt;
See the section &#039;Media download for offline usage&#039; in [[Crear cursos amistosos para mobile]].&lt;br /&gt;
&lt;br /&gt;
===Video subtitles are not working===&lt;br /&gt;
&lt;br /&gt;
This may happen in old Android versions (Android &amp;lt; 4.4), in modern Android and iOS versions they should work fine.&lt;br /&gt;
&lt;br /&gt;
===Which course format is it best to use?===&lt;br /&gt;
&lt;br /&gt;
Topics or weekly course format is best suited to mobile devices.&lt;br /&gt;
&lt;br /&gt;
===How do I make YouTube links open automatically in the app?===&lt;br /&gt;
&lt;br /&gt;
Add YouTube links as a [[Recurso URL]].&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t my students see their courses?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== I can&#039;t mark assignments in the app===&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===What communications tools can I use in the app to engage with my learners?===&lt;br /&gt;
See [[Mobile app notifications]]. Chat, forums and messaging are all supported by the app.&lt;br /&gt;
&lt;br /&gt;
===My protected Vimeo videos are not playing in the app===&lt;br /&gt;
&lt;br /&gt;
Vimeo protected videos should work on Moodle 3.3.4 onwards, please note that you need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You may also use Bootstrap responsive classes: https://getbootstrap.com/docs/4.0/utilities/embed/, for example, &amp;lt;div class=&amp;quot;embed-responsive&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For older versions, see this forum discussion with a workaround: https://moodle.org/mod/forum/discuss.php?d=327342&lt;br /&gt;
&lt;br /&gt;
===ReCaptcha doesn&#039;t work on my site===&lt;br /&gt;
&lt;br /&gt;
You need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===H5P packages don&#039;t work on my site===&lt;br /&gt;
&lt;br /&gt;
You need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== I use a Moodle plugin but the app says it is not supported ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
There is a list of Moodle plugins supported by the app here: https://moodle.org/plugins/browse.php?list=award&amp;amp;id=6&lt;br /&gt;
&lt;br /&gt;
=== I have problems playing SCORM packages ===&lt;br /&gt;
&lt;br /&gt;
This might be caused because:&lt;br /&gt;
* The SCORM was added using an advanced option (remote imsmanifest.xml packages or file system repository unzipped SCORMS)&lt;br /&gt;
* 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 &amp;quot;\&amp;quot; will not work on Android)&lt;br /&gt;
&lt;br /&gt;
Please refer to [[Moodle app SCORM player]] for additional information.&lt;br /&gt;
&lt;br /&gt;
=== My quizzes or lessons are not working offline ===&lt;br /&gt;
&lt;br /&gt;
You need to edit the quiz or lesson activity settings and enable the &amp;quot;Allow lesson/quiz to be attempted offline using the mobile app&amp;quot; configuration option.&lt;br /&gt;
&lt;br /&gt;
=== Maths notation is not displaying correctly in the app ===&lt;br /&gt;
&lt;br /&gt;
The app doesn&#039;t yet support MathJax (see MOBILE-1611). Instead, the [[Filtro de notación TeX]] should be enabled.&lt;br /&gt;
&lt;br /&gt;
=== How can I disable text selection / copy in the app? ===&lt;br /&gt;
&lt;br /&gt;
You can create a remote theme and add some custom CSS rules to disable it, see https://docs.moodle.org/dev/Moodle_Mobile_Themes&lt;br /&gt;
&lt;br /&gt;
=== My images, videos or audios stop working after the first time ===&lt;br /&gt;
&lt;br /&gt;
Please make sure the URL you&#039;re using on the media file doesn&#039;t have any redirect (e.g. http to https), always try to use the final URL. There&#039;s a bug in the library we use to download those files, it doesn&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Administradores==&lt;br /&gt;
&lt;br /&gt;
=== How can I debug errors in the app? ===&lt;br /&gt;
&lt;br /&gt;
Go to the More tab and then to Settings &amp;gt; General. Enable &amp;quot;Display debug messages&amp;quot;. 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&lt;br /&gt;
&lt;br /&gt;
=== I can connect with my iPhone but not with my Android phone ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t get the app to work. What can I do?===&lt;br /&gt;
&lt;br /&gt;
Assuming you have enabled mobile services on your site, please check:&lt;br /&gt;
&lt;br /&gt;
# 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: [https://www.geocerts.com/ssl_checker SSL Checker] and [https://www.ssllabs.com/ssltest/analyze.html SSL Server Test]. All the checks must be ok, including the &amp;quot;Certificate Chain Complete&amp;quot;. Otherwise the app might work on iOS but not on Android.&lt;br /&gt;
# [[Depuración]] is disabled (in &#039;&#039;Site administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;)&lt;br /&gt;
# The ADOdb debug option is disabled if you are using the external database auth or enrolment plugin (in &#039;&#039;Plugins &amp;gt; Authentication &amp;gt; External database&#039;&#039; and in &#039;&#039;Plugins &amp;gt; Enrolment &amp;gt; External database&#039;&#039;).&lt;br /&gt;
# SHA-1 https certificates are not supported anymore in Chrome, this means that the Android version of the app won&#039;t work for your site. If your site doesn&#039;t work in desktop Chrome or Chromium it won&#039;t work in the Android app. See https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html for more information&lt;br /&gt;
# If you are using IIS check that  Anonymous access is not disabled for the /webservice directory.&lt;br /&gt;
# If you are using a web application firewall like StackPath, Barracuda, Cloudflare, Juniper, etc... try to temporary disable it to check if that&#039;s the cause. If so, you&#039;ll have to whitelist these endpoints: login/token.php, webservice/*, lib/ajax/*, and /tokenpluginfile.php&lt;br /&gt;
&lt;br /&gt;
If you still have a problem, please post in the [https://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum].&lt;br /&gt;
&lt;br /&gt;
=== I cannot access with old users, but I can with recently created ones! ===&lt;br /&gt;
&lt;br /&gt;
Please, do a &amp;quot;Purge all caches&amp;quot; via the Moodle administration settings, this will solve the problem.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t view the courses tab as an administrator===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===My Moodle site uses a SSO auth method (Shibboleth, CAS, Google OAuth, etc) and the app is not working===&lt;br /&gt;
&lt;br /&gt;
See the section &#039;Mobile authentication&#039; in the [[Moodle app guía para administradores]] for details of how to configure it.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Certificate Chain Complete&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If your SSO method is unable to authenticate when using an &amp;quot;embedded browser&amp;quot; (it gives an authentication error), please check if it works with a &amp;quot;browser window&amp;quot;. If it does work with the browser window then it means your SSO is performing an HTTP redirect, and these kind of redirects aren&#039;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&#039;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&lt;br /&gt;
&lt;br /&gt;
There are only 2 possible solutions: set the authentication via a &amp;quot;browser window&amp;quot; instead of an embedded one (please notice this won&#039;t work in the Linux desktop app), or remove the redirect from the SSO auth method.&lt;br /&gt;
&lt;br /&gt;
===SSO is not working with my custom auth plugin===&lt;br /&gt;
&lt;br /&gt;
SSO should work in any plugin if the plugin handles correctly the $SESSION-&amp;gt;wantsurl, this is the way SSO works when it is launched via the app:&lt;br /&gt;
&lt;br /&gt;
* It launchs this URL https://yourmoodle/local/mobile/launch.php?service=local_mobile&amp;amp;passport=abc in the device browser (Moodle 3.2 onwards the URL is /tool/mobile instead local/mobile)&lt;br /&gt;
* If the user is not logged in, the browser will redirect the user to the login page&lt;br /&gt;
* 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&amp;amp;passport=abc URL that will launch the mobile app via the custom URL protocol&lt;br /&gt;
&lt;br /&gt;
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-&amp;gt;wantsurl.&lt;br /&gt;
&lt;br /&gt;
The SAML plugin works correctly but some modifications of that plugin may not work if important lines are changed.&lt;br /&gt;
&lt;br /&gt;
===I am having problems requesting an airnotifier access key===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
=== Push notifications are not working ===&lt;br /&gt;
&lt;br /&gt;
Please check [[Mobile app notifications#Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
==Error messages==&lt;br /&gt;
&lt;br /&gt;
=== &#039;Can not find data record in database table external_functions&#039; ===&lt;br /&gt;
&lt;br /&gt;
This error usually happens due to a bad configuration or setting value in your Moodle site, please check:&lt;br /&gt;
# 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].&lt;br /&gt;
# The &#039;&#039;usermaxuploadfilesize&#039;&#039; should be an integer, please try to decrease the size. It can be configured in &#039;&#039;Site Administration &amp;gt; Security &amp;gt; Site Policies &amp;gt; Maximum uploaded file size&#039;&#039;. The default value (Site upload limit) depends on the PHP configuration, you might have to change the value of &#039;&#039;upload_max_filesize&#039;&#039; and &#039;&#039;post_max_size&#039;&#039; in your &#039;&#039;php.ini&#039;&#039; file.&lt;br /&gt;
# The user &amp;quot;lang&amp;quot; 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 &#039;user&#039; and &#039;course&#039; table.&lt;br /&gt;
&lt;br /&gt;
===&#039;Cannot connect: Verify that you have typed correctly the URL and that your site uses Moodle 2.4 or later&#039;===&lt;br /&gt;
&lt;br /&gt;
Please check:&lt;br /&gt;
# Mobile services are enabled for the site.&lt;br /&gt;
# The user is entering the correct URL for the site (see FAQ above)&lt;br /&gt;
# For https sites, the certificate is valid (see FAQ above)&lt;br /&gt;
&lt;br /&gt;
===&#039;We lost connection; you need to reconnect. Your token is now invalid.&#039; on my custom version of the Moodle app ===&lt;br /&gt;
&lt;br /&gt;
Please check:&lt;br /&gt;
# You have followed all the steps listed in [[:dev:Moodle Mobile Developing a plugin tutorial|Moodle Mobile Developing a plugin tutorial]]&lt;br /&gt;
# You have enabled the [[Capabilities/moodle/webservice:createtoken|moodle/webservice:createtoken]]  for the authenticated user&lt;br /&gt;
&lt;br /&gt;
===&#039;No permission to create web service token for the service local_mobile&#039; when attempting to log in as an admin===&lt;br /&gt;
&lt;br /&gt;
You need to create a token for the admin account (only) as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Web services &amp;gt; Manage tokens&#039;&#039;&lt;br /&gt;
# Click Add&lt;br /&gt;
# Enter the admin username and select &#039;Moodle app additional features service&#039; (i.e. do NOT leave it as &#039;Moodle app web service&#039;)&lt;br /&gt;
# Click the &#039;Save changes&#039; button.&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid response value detected&#039; when accessing the site ===&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== &#039; Invalid response value detected: Invalid external api response: the value is &amp;quot;&amp;quot;, the server was expecting &amp;quot;raw&amp;quot; type&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To fix it, you can do the following: &lt;br /&gt;
* Detect the field that is causing the problem (it should be indicated before the error message)&lt;br /&gt;
* Fix the field, for example, for the password field in the lesson table: UPDATE mdl_lesson SET password = &#039;&#039; WHERE password IS NULL (remember that your table prefix can be different than mdl_)&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid response value detected&#039; when accessing My Courses or Course Overview ===&lt;br /&gt;
&lt;br /&gt;
This usually happens when a course uses a language that isn&#039;t installed in the site. Please make sure that all courses use valid languages. This can be easily checked in the database, table &amp;quot;course&amp;quot;, there is a column named &amp;quot;lang&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&#039;A required parameter (username) was missing&#039;===&lt;br /&gt;
&lt;br /&gt;
This may happen if your site implements HTTP redirects; the request is redirected by the browser not passing the POST parameters.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this is something we cannot control in the Mobile app (it can&#039;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&lt;br /&gt;
&lt;br /&gt;
The solution is to change the HTTP redirect and use an HTML page with a meta tag or JavaScript redirect.&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid json in request: No error&#039;===&lt;br /&gt;
&lt;br /&gt;
There is a bug in Moodle 3.3 that can cause this error. Please update to Moodle 3.3.2.&lt;br /&gt;
&lt;br /&gt;
===&#039;Cannot get course contents&#039;===&lt;br /&gt;
&lt;br /&gt;
This usually happens when the course is using a course format plugin that was uninstalled from the server or that was not properly installed.&lt;br /&gt;
&lt;br /&gt;
Please, reinstall again the course format plugin.&lt;br /&gt;
&lt;br /&gt;
===&#039;Access control exception&#039; or &#039;Your authentication token is invalid or has expired&#039;===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Security &amp;gt; Site security settings&#039;&#039;.&lt;br /&gt;
# Find the setting named &#039;&#039;User created token duration&#039;&#039;.&lt;br /&gt;
# If the value is set to 0 or it&#039;s too low, please set it back to a valid value (the default value is 12 weeks).&lt;br /&gt;
# Click the &#039;Save changes&#039; button.&lt;br /&gt;
&lt;br /&gt;
==Any further questions?==&lt;br /&gt;
&lt;br /&gt;
Please post in the [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum] on moodle.org.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Moodle Mobile FAQ]]&lt;br /&gt;
[[ca:Moodle Mobile FAQ]]&lt;br /&gt;
[[en:Moodle Mobile FAQ]]&lt;br /&gt;
[[fr:Moodle pour les mobiles]]&lt;br /&gt;
[[ja:モバイルMoodle FAQ]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=Moodle_app_FAQ&amp;diff=56994</id>
		<title>Moodle app FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=Moodle_app_FAQ&amp;diff=56994"/>
		<updated>2024-03-01T11:38:07Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: /* Error messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Frequently updated doc page&lt;br /&gt;
|docpagetitle = Mobile Moodle FAQ&lt;br /&gt;
}}{{Mobile}}{{Urgente de traducir}}{{Actualizar}}&lt;br /&gt;
{{Versiones|Esta documentación es para Moodle 3.7 y más recientes, pero existe una página antigua en [[30/Moodle Mobile FAQ]]}}&lt;br /&gt;
&lt;br /&gt;
== Nuevos Planes para Moodle App Plans (a partir del 2 de Abril del 2020) ==&lt;br /&gt;
&lt;br /&gt;
Por favor vea el anuncio oficial: [https://moodle.org/mod/forum/discuss.php?d=397926 Introducing our new Moodle App plans]&lt;br /&gt;
&lt;br /&gt;
=== ¿La App sigue siendo gratuita para descargar y usar?===&lt;br /&gt;
&lt;br /&gt;
Si; la App misma es gratuita. Students and teachers who use the Moodle app will never pay any fees. Moodle site administrators can choose to sign up for a plan.&lt;br /&gt;
&lt;br /&gt;
=== ¿Pueden explicarme las diferentes limitaciones? ===&lt;br /&gt;
&lt;br /&gt;
First and most important, the limitations are applied on a site basis.&lt;br /&gt;
&lt;br /&gt;
* Basic custom branding via CSS: Site admins can upload a CSS file with basic styles for the app. The styles will only be applied on Premium sites. See [[Moodle app guía para administradores]] for more information about this functionality.&lt;br /&gt;
* Number of active devices for mobile push notifications: Calculated monthly, this is the number of user devices actively receiving push notifications from the site. For example, for a site with 100 users enrolled, if half of them are using the app with one device configured to receive notifications, the potential number of active devices per month will be 50. In the Free plan, where the limit is set to 50, only the first 50 devices in a month will receive notifications from the site.&lt;br /&gt;
* Offline access to content: Complete courses available offline. Contents downloaded individually will be still available offline, but the user will be able to download complete courses for offline access to a certain limit depending on the plan.&lt;br /&gt;
* Customisable app features: These are app features that can be configured via the Moodle site administration tools (Moodle app section). For details, see [[Moodle app guía para administradores#Características deshabilitadas]].&lt;br /&gt;
&lt;br /&gt;
=== Soy un cliente de un Moodle Partner. ¿Esto me afecta? === &lt;br /&gt;
&lt;br /&gt;
If your Moodle site is hosted by a Moodle Partner, the changes will not affect you. However, if your Moodle Partner doesn&#039;t host your site, you may need to sign up for a plan, move to MoodleCloud or ask your Moodle Partner to host your site from April 2020 onwards. &lt;br /&gt;
&lt;br /&gt;
=== Soy un profesor o un estudiante. ¡Tengo que hacer algo respecto a mi Moodle app? === &lt;br /&gt;
&lt;br /&gt;
No, you don’t have to do anything. We are notifying site administrators about the upcoming changes so they can take action if necessary.&lt;br /&gt;
&lt;br /&gt;
=== ¿Tendré que instalar una nueva App a pertir del 2 de abril del 2020? === &lt;br /&gt;
&lt;br /&gt;
No, the app will remain the same, but depending on the plan your institution has signed up for, you may have limited access to certain functionalities.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo se si necesito actualizar a un Plan de Moodle App? === &lt;br /&gt;
&lt;br /&gt;
If you are using MoodleCloud or your site is hosted by a Moodle Partner, you won’t be affected by these changes. Otherwise, in the last week of March 2020, site administrators will be provided with a link to the Moodle App Portal, where they will be able to register their site and obtain information such as the number of active devices receiving push notifications during the last month. &lt;br /&gt;
&lt;br /&gt;
Site administrators should also check if they are using any of the “Customisable app features” (via Site administration &amp;gt; Mobile app &amp;gt; Mobile app features) as continued use will require upgrading to a plan. &lt;br /&gt;
&lt;br /&gt;
=== ¿Necesito apuntarme al plan gratuito para poder usar la App? === &lt;br /&gt;
&lt;br /&gt;
No, though we encourage all site administrators to sign up in our Moodle Apps portal in order to obtain information about active devices receiving push notifications.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo puedo actualizar a uno de los planes? === &lt;br /&gt;
&lt;br /&gt;
During the last week of March 2020, site administrators will be provided with a link to the Moodle App Portal, where they will be able to sign up for a plan.&lt;br /&gt;
&lt;br /&gt;
Remember that you can also migrate to a MoodleCloud plan, ask a Moodle Partner to host your site or build your own version of the app using the open source code.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo pago un plan? === &lt;br /&gt;
&lt;br /&gt;
For activation of any of the paid plans, you will need to make a credit card payment, PayPal will be also supported.&lt;br /&gt;
&lt;br /&gt;
For payments via bank transfer to Moodle Pty Ltd, a minimum of a two years Premium subscription will be required (so we can cover all the administrative work and bank fees). Once you&#039;ve chosen this method, the Premium plan will be automatically activated (only during March and April this year). Notice that you&#039;ll have 4 weeks for processing payment. If after those 4 weeks we haven&#039;t received the payment yet, the plan will be canceled and you will get back to the free plan and penalties can be applied in further payments.&lt;br /&gt;
&lt;br /&gt;
=== Will students lose access to the app if we don’t upgrade straight away on 2 April 2020? === &lt;br /&gt;
&lt;br /&gt;
No, students will still be able to use the app. Depending on the size of your installation, your use of push notifications and the use of customised features, your students may stop receiving notifications or no longer be able to use specific features.&lt;br /&gt;
&lt;br /&gt;
=== Si somos una ONG o una organización no lucrativa, ¿Necesitamos actualizar? ¡Necesitamos pagar? === &lt;br /&gt;
&lt;br /&gt;
We will create a process to ensure that NGOs and non-profit organisations do not need to pay and can benefit from our Premium Plan. Upon receipt of the necessary documentation and validation from Moodle HQ, organisations will have full access. Please note though that the verification process may take several weeks. Public universities, colleges and schools are not eligible for this.&lt;br /&gt;
&lt;br /&gt;
=== Is this affecting only certain Moodle versions? ===&lt;br /&gt;
The changes will affect all the Moodle versions supported by the app (Moodle 3.1 onward)&lt;br /&gt;
&lt;br /&gt;
=== ¿Qué pasa con los sitios que no están registrados con Moodle? === &lt;br /&gt;
&lt;br /&gt;
We recommend all site administrators to register their site in order to receive important notifications about the product. Moreover, the validation process to sign up for a plan will be easier. &lt;br /&gt;
&lt;br /&gt;
=== Con los nuevos planes que vendrán, ¿hay algún acmbio que potencialmente afectará la privacidad de los usuarios? === &lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
==Estudiantes==&lt;br /&gt;
&lt;br /&gt;
===¿Cómo puedo obtener la Moodle app?===&lt;br /&gt;
&lt;br /&gt;
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 &#039;Moodle app&#039; with author/owner &#039;Moodle Pty Ltd&#039;.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t get the app to work. What do I do?===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===What permissions does the app require?===&lt;br /&gt;
&lt;br /&gt;
The app requires the following permissions:&lt;br /&gt;
&lt;br /&gt;
* Record audio - for uploading to your Moodle site&lt;br /&gt;
* Read and modify the contents of your SD card - for content to be downloaded to your SD Card for offline access.&lt;br /&gt;
* 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.&lt;br /&gt;
* Run at startup - to receive local notifications even when the app is running in the background.&lt;br /&gt;
* Prevent phone from sleeping - to receive push notifications anytime.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t see my course on the app. What do I do?===&lt;br /&gt;
Check with your course tutor that you are correctly enrolled.&lt;br /&gt;
&lt;br /&gt;
=== ¿Porqué no puedo subir mi Tarea a la app?===&lt;br /&gt;
Consulte a su administrador de Moodle.&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t I sometimes access the app or submit anything to it?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Is there a space limit on my files?===&lt;br /&gt;
Assignments will have a size limit which you can see. For other space limit questions, check with your  Moodle site administrator.&lt;br /&gt;
&lt;br /&gt;
===Who should I contact for help with the app?===&lt;br /&gt;
Your Moodle site administrator can assist you in getting the app to work correctly.&lt;br /&gt;
&lt;br /&gt;
===When are activities completed offline synchronized?===&lt;br /&gt;
&lt;br /&gt;
Vea [[Sincronización de Moodle app]].&lt;br /&gt;
&lt;br /&gt;
===Why the site is asking for my username and password when an activity is opened in the browser?===&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===I use LineageOS and I&#039;m having problems using the app===&lt;br /&gt;
&lt;br /&gt;
LineageOS uses a different WebView implementation not compatible vith the app. You need to install &amp;quot;Android System WebView&amp;quot; from Google Play (or via a trusted apk) and enabling it via Settings &amp;gt; Developer options &amp;gt; WebView implementation.&lt;br /&gt;
&lt;br /&gt;
===Los paquetes H5P y contenidos externos incrustados vía iframes no están funcionando en iOS ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The quick workaround is to enable the setting &amp;quot;Allow Cross-Website Tracking&amp;quot; available via the Settings app (look for the Moodle app, at the bottom) on your iPhone/iPad with iOS 14.&lt;br /&gt;
&lt;br /&gt;
=== No recibo notificaciones del calendario (recordatorios) cuando uso Android 12 o superior === &lt;br /&gt;
&lt;br /&gt;
In order to receive calendar notifications you need to allow alarms and reminders for the Moodle app. To do this:&lt;br /&gt;
* Open Android Settings and go to the Moodle app settings. Another way to reach these settings is by long-clicking the Moodle app icon and pressing &amp;quot;App info&amp;quot;.&lt;br /&gt;
* Make sure that Notifications are enabled.&lt;br /&gt;
* If you see a section called &amp;quot;Alarms &amp;amp; reminders&amp;quot;, make sure it is Allowed (this setting is disabled by default in Android 14+).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Profesores==&lt;br /&gt;
&lt;br /&gt;
===How can I enable videos in my course to be downloaded?===&lt;br /&gt;
&lt;br /&gt;
See the section &#039;Media download for offline usage&#039; in [[Crear cursos amistosos para mobile]].&lt;br /&gt;
&lt;br /&gt;
===Video subtitles are not working===&lt;br /&gt;
&lt;br /&gt;
This may happen in old Android versions (Android &amp;lt; 4.4), in modern Android and iOS versions they should work fine.&lt;br /&gt;
&lt;br /&gt;
===Which course format is it best to use?===&lt;br /&gt;
&lt;br /&gt;
Topics or weekly course format is best suited to mobile devices.&lt;br /&gt;
&lt;br /&gt;
===How do I make YouTube links open automatically in the app?===&lt;br /&gt;
&lt;br /&gt;
Add YouTube links as a [[Recurso URL]].&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t my students see their courses?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== I can&#039;t mark assignments in the app===&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===What communications tools can I use in the app to engage with my learners?===&lt;br /&gt;
See [[Mobile app notifications]]. Chat, forums and messaging are all supported by the app.&lt;br /&gt;
&lt;br /&gt;
===My protected Vimeo videos are not playing in the app===&lt;br /&gt;
&lt;br /&gt;
Vimeo protected videos should work on Moodle 3.3.4 onwards, please note that you need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You may also use Bootstrap responsive classes: https://getbootstrap.com/docs/4.0/utilities/embed/, for example, &amp;lt;div class=&amp;quot;embed-responsive&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For older versions, see this forum discussion with a workaround: https://moodle.org/mod/forum/discuss.php?d=327342&lt;br /&gt;
&lt;br /&gt;
===ReCaptcha doesn&#039;t work on my site===&lt;br /&gt;
&lt;br /&gt;
You need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===H5P packages don&#039;t work on my site===&lt;br /&gt;
&lt;br /&gt;
You need to enable this admin setting &amp;quot;Allow frame embedding&amp;quot; (allowframembedding admin setting). If that still doesn&#039;t work, make sure your server allows it by using this rule:  X-Frame-Options &amp;quot;ALLOWALL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== I use a Moodle plugin but the app says it is not supported ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
There is a list of Moodle plugins supported by the app here: https://moodle.org/plugins/browse.php?list=award&amp;amp;id=6&lt;br /&gt;
&lt;br /&gt;
=== I have problems playing SCORM packages ===&lt;br /&gt;
&lt;br /&gt;
This might be caused because:&lt;br /&gt;
* The SCORM was added using an advanced option (remote imsmanifest.xml packages or file system repository unzipped SCORMS)&lt;br /&gt;
* 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 &amp;quot;\&amp;quot; will not work on Android)&lt;br /&gt;
&lt;br /&gt;
Please refer to [[Moodle app SCORM player]] for additional information.&lt;br /&gt;
&lt;br /&gt;
=== My quizzes or lessons are not working offline ===&lt;br /&gt;
&lt;br /&gt;
You need to edit the quiz or lesson activity settings and enable the &amp;quot;Allow lesson/quiz to be attempted offline using the mobile app&amp;quot; configuration option.&lt;br /&gt;
&lt;br /&gt;
=== Maths notation is not displaying correctly in the app ===&lt;br /&gt;
&lt;br /&gt;
The app doesn&#039;t yet support MathJax (see MOBILE-1611). Instead, the [[Filtro de notación TeX]] should be enabled.&lt;br /&gt;
&lt;br /&gt;
=== How can I disable text selection / copy in the app? ===&lt;br /&gt;
&lt;br /&gt;
You can create a remote theme and add some custom CSS rules to disable it, see https://docs.moodle.org/dev/Moodle_Mobile_Themes&lt;br /&gt;
&lt;br /&gt;
=== My images, videos or audios stop working after the first time ===&lt;br /&gt;
&lt;br /&gt;
Please make sure the URL you&#039;re using on the media file doesn&#039;t have any redirect (e.g. http to https), always try to use the final URL. There&#039;s a bug in the library we use to download those files, it doesn&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Administradores==&lt;br /&gt;
&lt;br /&gt;
=== How can I debug errors in the app? ===&lt;br /&gt;
&lt;br /&gt;
Go to the More tab and then to Settings &amp;gt; General. Enable &amp;quot;Display debug messages&amp;quot;. 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&lt;br /&gt;
&lt;br /&gt;
=== I can connect with my iPhone but not with my Android phone ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t get the app to work. What can I do?===&lt;br /&gt;
&lt;br /&gt;
Assuming you have enabled mobile services on your site, please check:&lt;br /&gt;
&lt;br /&gt;
# 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: [https://www.geocerts.com/ssl_checker SSL Checker] and [https://www.ssllabs.com/ssltest/analyze.html SSL Server Test]. All the checks must be ok, including the &amp;quot;Certificate Chain Complete&amp;quot;. Otherwise the app might work on iOS but not on Android.&lt;br /&gt;
# [[Depuración]] is disabled (in &#039;&#039;Site administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;)&lt;br /&gt;
# The ADOdb debug option is disabled if you are using the external database auth or enrolment plugin (in &#039;&#039;Plugins &amp;gt; Authentication &amp;gt; External database&#039;&#039; and in &#039;&#039;Plugins &amp;gt; Enrolment &amp;gt; External database&#039;&#039;).&lt;br /&gt;
# SHA-1 https certificates are not supported anymore in Chrome, this means that the Android version of the app won&#039;t work for your site. If your site doesn&#039;t work in desktop Chrome or Chromium it won&#039;t work in the Android app. See https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html for more information&lt;br /&gt;
# If you are using IIS check that  Anonymous access is not disabled for the /webservice directory.&lt;br /&gt;
# If you are using a web application firewall like StackPath, Barracuda, Cloudflare, Juniper, etc... try to temporary disable it to check if that&#039;s the cause. If so, you&#039;ll have to whitelist these endpoints: login/token.php, webservice/*, lib/ajax/*, and /tokenpluginfile.php&lt;br /&gt;
&lt;br /&gt;
If you still have a problem, please post in the [https://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum].&lt;br /&gt;
&lt;br /&gt;
=== I cannot access with old users, but I can with recently created ones! ===&lt;br /&gt;
&lt;br /&gt;
Please, do a &amp;quot;Purge all caches&amp;quot; via the Moodle administration settings, this will solve the problem.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t view the courses tab as an administrator===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===My Moodle site uses a SSO auth method (Shibboleth, CAS, Google OAuth, etc) and the app is not working===&lt;br /&gt;
&lt;br /&gt;
See the section &#039;Mobile authentication&#039; in the [[Moodle app guía para administradores]] for details of how to configure it.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Certificate Chain Complete&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If your SSO method is unable to authenticate when using an &amp;quot;embedded browser&amp;quot; (it gives an authentication error), please check if it works with a &amp;quot;browser window&amp;quot;. If it does work with the browser window then it means your SSO is performing an HTTP redirect, and these kind of redirects aren&#039;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&#039;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&lt;br /&gt;
&lt;br /&gt;
There are only 2 possible solutions: set the authentication via a &amp;quot;browser window&amp;quot; instead of an embedded one (please notice this won&#039;t work in the Linux desktop app), or remove the redirect from the SSO auth method.&lt;br /&gt;
&lt;br /&gt;
===SSO is not working with my custom auth plugin===&lt;br /&gt;
&lt;br /&gt;
SSO should work in any plugin if the plugin handles correctly the $SESSION-&amp;gt;wantsurl, this is the way SSO works when it is launched via the app:&lt;br /&gt;
&lt;br /&gt;
* It launchs this URL https://yourmoodle/local/mobile/launch.php?service=local_mobile&amp;amp;passport=abc in the device browser (Moodle 3.2 onwards the URL is /tool/mobile instead local/mobile)&lt;br /&gt;
* If the user is not logged in, the browser will redirect the user to the login page&lt;br /&gt;
* 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&amp;amp;passport=abc URL that will launch the mobile app via the custom URL protocol&lt;br /&gt;
&lt;br /&gt;
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-&amp;gt;wantsurl.&lt;br /&gt;
&lt;br /&gt;
The SAML plugin works correctly but some modifications of that plugin may not work if important lines are changed.&lt;br /&gt;
&lt;br /&gt;
===I am having problems requesting an airnotifier access key===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
=== Push notifications are not working ===&lt;br /&gt;
&lt;br /&gt;
Please check [[Mobile app notifications#Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
==Error messages==&lt;br /&gt;
&lt;br /&gt;
=== &#039;Can not find data record in database table external_functions&#039; ===&lt;br /&gt;
&lt;br /&gt;
This error usually happens due to a bad configuration or setting value in your Moodle site, please check:&lt;br /&gt;
# 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].&lt;br /&gt;
# The &#039;&#039;usermaxuploadfilesize&#039;&#039; should be an integer, please try to decrease the size. It can be configured in &#039;&#039;Site Administration &amp;gt; Security &amp;gt; Site Policies &amp;gt; Maximum uploaded file size&#039;&#039;. The default value (Site upload limit) depends on the PHP configuration, you might have to change the value of &#039;&#039;upload_max_filesize&#039;&#039; and &#039;&#039;post_max_size&#039;&#039; in your &#039;&#039;php.ini&#039;&#039; file.&lt;br /&gt;
# The user &amp;quot;lang&amp;quot; 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 &#039;user&#039; and &#039;course&#039; table.&lt;br /&gt;
&lt;br /&gt;
===&#039;Cannot connect: Verify that you have typed correctly the URL and that your site uses Moodle 2.4 or later&#039;===&lt;br /&gt;
&lt;br /&gt;
Please check:&lt;br /&gt;
# Mobile services are enabled for the site.&lt;br /&gt;
# The user is entering the correct URL for the site (see FAQ above)&lt;br /&gt;
# For https sites, the certificate is valid (see FAQ above)&lt;br /&gt;
&lt;br /&gt;
===&#039;We lost connection; you need to reconnect. Your token is now invalid.&#039; on my custom version of the Moodle app ===&lt;br /&gt;
&lt;br /&gt;
Please check:&lt;br /&gt;
# You have followed all the steps listed in [[:dev:Moodle Mobile Developing a plugin tutorial|Moodle Mobile Developing a plugin tutorial]]&lt;br /&gt;
# You have enabled the [[Capabilities/moodle/webservice:createtoken|moodle/webservice:createtoken]]  for the authenticated user&lt;br /&gt;
&lt;br /&gt;
===&#039;No permission to create web service token for the service local_mobile&#039; when attempting to log in as an admin===&lt;br /&gt;
&lt;br /&gt;
You need to create a token for the admin account (only) as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Web services &amp;gt; Manage tokens&#039;&#039;&lt;br /&gt;
# Click Add&lt;br /&gt;
# Enter the admin username and select &#039;Moodle app additional features service&#039; (i.e. do NOT leave it as &#039;Moodle app web service&#039;)&lt;br /&gt;
# Click the &#039;Save changes&#039; button.&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid response value detected&#039; when accessing the site ===&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== &#039; Invalid response value detected: Invalid external api response: the value is &amp;quot;&amp;quot;, the server was expecting &amp;quot;raw&amp;quot; type&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To fix it, you can do the following: &lt;br /&gt;
* Detect the field that is causing the problem (it should be indicated before the error message)&lt;br /&gt;
* Fix the field, for example, for the password field in the lesson table: UPDATE mdl_lesson SET password = &#039;&#039; WHERE password IS NULL (remember that your table prefix can be different than mdl_)&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid response value detected&#039; when accessing My Courses or Course Overview ===&lt;br /&gt;
&lt;br /&gt;
This usually happens when a course uses a language that isn&#039;t installed in the site. Please make sure that all courses use valid languages. This can be easily checked in the database, table &amp;quot;course&amp;quot;, there is a column named &amp;quot;lang&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&#039;A required parameter (username) was missing&#039;===&lt;br /&gt;
&lt;br /&gt;
This may happen if your site implements HTTP redirects; the request is redirected by the browser not passing the POST parameters.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this is something we cannot control in the Mobile app (it can&#039;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&lt;br /&gt;
&lt;br /&gt;
The solution is to change the HTTP redirect and use an HTML page with a meta tag or JavaScript redirect.&lt;br /&gt;
&lt;br /&gt;
===&#039;Invalid json in request: No error&#039;===&lt;br /&gt;
&lt;br /&gt;
There is a bug in Moodle 3.3 that can cause this error. Please update to Moodle 3.3.2.&lt;br /&gt;
&lt;br /&gt;
===&#039;Cannot get course contents&#039;===&lt;br /&gt;
&lt;br /&gt;
This usually happens when the course is using a course format plugin that was uninstalled from the server or that was not properly installed.&lt;br /&gt;
&lt;br /&gt;
Please, reinstall again the course format plugin.&lt;br /&gt;
&lt;br /&gt;
===&#039;Access control exception&#039; or &#039;Your authentication token is invalid or has expired&#039;===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Security &amp;gt; Site security settings&#039;&#039;.&lt;br /&gt;
# Find the setting named &#039;&#039;User created token duration&#039;&#039;.&lt;br /&gt;
# If the value is set to 0 or it&#039;s too low, please set it back to a valid value (the default value is 12 weeks).&lt;br /&gt;
# Click the &#039;Save changes&#039; button.&lt;br /&gt;
&lt;br /&gt;
===The Moodle app does not connect to MoodleBox (or other internal self-hosted systems)===&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===I think I found a bug with the app. Where can I report it?===&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://tracker.moodle.org/browse/MOBILE Moodle Mobile tracker] (you&#039;ll need to [http://tracker.moodle.org/secure/Signup%21default.jspa create a tracker account] if you&#039;ve not done so previously)&lt;br /&gt;
# Check whether the issue has already been reported by doing a [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE search]&lt;br /&gt;
# If not, report the bug by clicking the &#039;Create Issue&#039; link at the top right of the page, selecting &#039;Moodle app&#039; as the project&lt;br /&gt;
# 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&lt;br /&gt;
&lt;br /&gt;
===How can I get the app in my language?===&lt;br /&gt;
[[File:setting the app lang.png|thumb|100px|Setting your language]]&lt;br /&gt;
The Moodle app automatically detects your mobile&#039;s language and displays in the same language (if the translation exists). Otherwise, you can set the app language in App settings &amp;gt; General.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See also a post explaining how multi-lang works in the Moodle app: [https://moodle.org/mod/forum/discuss.php?d=453445#p1825637 Re: Language selector missing in Moodle app]&lt;br /&gt;
&lt;br /&gt;
==Any further questions?==&lt;br /&gt;
&lt;br /&gt;
Please post in the [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum] on moodle.org.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Moodle Mobile FAQ]]&lt;br /&gt;
[[ca:Moodle Mobile FAQ]]&lt;br /&gt;
[[en:Moodle Mobile FAQ]]&lt;br /&gt;
[[fr:Moodle pour les mobiles]]&lt;br /&gt;
[[ja:モバイルMoodle FAQ]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=MoodleMoot_Espa%C3%B1a_2015&amp;diff=36993</id>
		<title>MoodleMoot España 2015</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=MoodleMoot_Espa%C3%B1a_2015&amp;diff=36993"/>
		<updated>2015-10-26T09:21:35Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: /* MoodleMobile 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La MoodleMoot España 2015 se celebró entre los días 22 y 24 de octubre de 2015 en la Universitat de les Illes Balears de Palma de Mallorca.&lt;br /&gt;
&lt;br /&gt;
Esta MoodleMoot és la primera en la que se celebra una Hackfest a nivel estatal español.&lt;br /&gt;
&lt;br /&gt;
También és la primera MoodleMoot española en la que se redactan los apuntes de las sesiones colaborativamente mediante la herramienta [https://devpad.mood devpad]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hashtag oficial&#039;&#039;&#039;: [https://twitter.com/hashtag/mootes15 #mootes15]&lt;br /&gt;
&lt;br /&gt;
==Notas de las ponencias==&lt;br /&gt;
&lt;br /&gt;
===Sesión inaugural===&lt;br /&gt;
 &lt;br /&gt;
Jordi Vila &amp;quot;pica&amp;quot; a los representantes a sumarse al Moodle Association. Y se sienten picados.&lt;br /&gt;
&lt;br /&gt;
===Moodle futures===&lt;br /&gt;
Mary Cooch (@moodlefairy) y Helen Foster (@moodlehelen)&lt;br /&gt;
&lt;br /&gt;
Importante registrar el Moodle. ;-) https://docs.moodle.org/all/es/Registro_del_sitio&lt;br /&gt;
&lt;br /&gt;
https://docs.moodle.org/dev/Mission&lt;br /&gt;
&lt;br /&gt;
* Moodle no tiene previsto ni cambiar el modelo comercial ni cambiar la licencia GPL ni venderse a alguna gran compañía ni aceptar fondos de capital riesgo&lt;br /&gt;
* Moots seran publicadas en http://moodlemoot.org. Se grabaran para facilitar su &amp;quot;visita virtual&amp;quot;&lt;br /&gt;
* [https://www.youtube.com/user/moodlehq Canal de Moodle HQ en YouTube]&lt;br /&gt;
* [https://moodlecloud.com MoodleCloud]: versión gratis de Moodle. Incluye BigBlueButton&lt;br /&gt;
* Diseña el futuro de Moodle: https://moodleassociation.org/ (permite inscripción a newsletter)&lt;br /&gt;
* Moodle 3.0:&lt;br /&gt;
** La novedad principal es la incorporación de tipos nuevos de preguntas de cuestionario (las de la OU). (seleccionar palabras faltantes, drag&amp;amp;drop, arrastrar y soltar sobre imagen, arrastrar y soltar marcadores).&lt;br /&gt;
* Prioridades Moodle 3.1&lt;br /&gt;
** User Experience (UX)&lt;br /&gt;
** [https://tracker.moodle.org/browse/MDL-49458 Competency Based Education]&lt;br /&gt;
** Moodle Mobile&lt;br /&gt;
* [https://learn.moodle.net/ Learn Moodle MOOC], siguiente en enero de 2016&lt;br /&gt;
* Moodle 3.0 = Moodle 2.10 (no habrá problemas con la importación/exportación de cursos)&lt;br /&gt;
&lt;br /&gt;
===MoodleMobile 2===&lt;br /&gt;
Juan Leyva - @moodlemobileapp - @jleyvadelgado  (añado: el Gran Juan Leyva ;) ) &lt;br /&gt;
&lt;br /&gt;
[http://es.slideshare.net/juanleyva/moodle-mobile-2-moodlemoot-spain-2015 Presentación en Slideshare]&lt;br /&gt;
&lt;br /&gt;
* La presentación es sobre la versión oficial de la App (no sobre el uso). En la presentación hay un par de enlaces sobre este otro tema.&lt;br /&gt;
* La APP está orientada para estudiantes y profesores (no para admins).&lt;br /&gt;
* Additional features plugin: recomendado para incorporar últimas novedades (cada 3-4 semanas hay versión nueva de Moodle Mobile y también de este plugin). Emula tener la última versión de Moodle desde el punto de vista de la app.&lt;br /&gt;
* Incorpora: todos los recursos y algunas actividades. Las tareas están parcialmente implementadas. (los cambios que se explican están sólo para Moodle 3.0 o para Moodle anteriores con additional features). La versión se publicó el pasado miércoles (en Android ya está disponible; para iOS aún no está porque hacen review).&lt;br /&gt;
** Todos los recursos se pueden dejar descargados para consultarlos offline.&lt;br /&gt;
*** Página y URL (la página se descarga y también está disponible offline)&lt;br /&gt;
*** Libro e IMS CP (navegables)&lt;br /&gt;
** Actividades:&lt;br /&gt;
*** Forums (las más recientes están en caché y se pueden consultar también offline). Desde la última versión ya es posible responder (no admite ni HTML ni ficheros adjuntos).&lt;br /&gt;
*** Tareas: se pueden descargar adjuntos para consultarlos offline&lt;br /&gt;
*** Consulta (permite participar i consultar )&lt;br /&gt;
*** Survey (diferentes pantallas para tablet que para teléfono)&lt;br /&gt;
*** LTI&lt;br /&gt;
** Compleción (tanto consulta como marcarlo)&lt;br /&gt;
** Calificaciones (diferentes pantallas para tablet que para teléfono)&lt;br /&gt;
** Participantes (mensaje instantaneo, añadir nota...)&lt;br /&gt;
** Gestionar los archivos del curso y del sitio. También subir archivos nuevos.&lt;br /&gt;
** Mensajería&lt;br /&gt;
** Calendario y eventos&lt;br /&gt;
** Notificaciones recibidas (por push)&lt;br /&gt;
*** Requiere registro de moodle y certificado para air notifier. Todo documentado.&lt;br /&gt;
** Se puede personalizar con un css en el moodle. La app lo carga.&lt;br /&gt;
** Open source GPL 2. Permite hacer versiones personalizadas (logotipo institución con funcionalidades añadidas/quitadas, sin necesidad de que escriban URL...)&lt;br /&gt;
* Futuro:&lt;br /&gt;
** Estarán en el core de Moodle 3.1 (pero si están antes, se publicarán antes): SCORM, Quiz, Glosario y wiki&lt;br /&gt;
*** Taller no está previsto a corto plazo porque no es de las más usadas&lt;br /&gt;
** Plataformas: versión de escritorio (para países/centros con problemas de conexión)&lt;br /&gt;
* Diferencia entre tema responsive y APP (hay una transparencia con las diferencias principales).&lt;br /&gt;
* Preguntas:&lt;br /&gt;
** Responder foros offline? De momento no es posible (no es fácil porque hay casos complejos: contestar mensaje borrado)... Lo tienen previsto a corto plazo.&lt;br /&gt;
** SCORM: su uso se ha pervertido. Inicialmente era para autoaprendizaje pero se está utilizando como contenedor.&lt;br /&gt;
* Se propone añadir posibilidad para poder borrar ficheros de forma selectiva.&lt;br /&gt;
* Moodle Mobile 1 no está previsto mantenerla (funciona para Android 2 y para Windows). No reciben errores.&lt;br /&gt;
* Previsión para feedback? Como está previsto que lo fusionen, de momento están esperando la versión definitiva.&lt;br /&gt;
* Tareas: a corto plazo tienen previsto que los alumnos puedan hacer entregas (la lógica e implementación es más compleja de lo que parece).&lt;br /&gt;
&lt;br /&gt;
===OpenDrako===&lt;br /&gt;
Albert Calvet&lt;br /&gt;
&lt;br /&gt;
La semana que viene publicarán la presentación en la web corporativa del proyecto: http://opendrako.org/ - http://cloud.opendrako.com&lt;br /&gt;
&lt;br /&gt;
* Software open source diseñado para soportar la gestión académica&lt;br /&gt;
* OpenDrako es un Training Resource Planning (TRP), un ERP espacializado en formacion&lt;br /&gt;
* Si en Moodle el centro es el curso, en OpenDrako es el proceso&lt;br /&gt;
* Inicialmente el framework base era Moodle pero decidieron cambiar de idea (ahora se basa en Symphony)&lt;br /&gt;
* Durante la sesión se muestra un vídeo con la navegación. Ahora bien, en breve será posible acceder.&lt;br /&gt;
** Reordenar listas&lt;br /&gt;
** Exportación de listas&lt;br /&gt;
* La personalizacion está diseñada pensando en que la actualizacion de version no suponga un problema&lt;br /&gt;
* La comunicacion con Moodle es esencial:&lt;br /&gt;
** Desde OpenDrako se pueden crear cursos de Moodle, incorporando themes y usuarios matriculados&lt;br /&gt;
* De las tres capas, la versión actual sólo tiene la primera y una pequeña parte de la segunda.&lt;br /&gt;
* Empezaran con dos versiones: Enterprise (fecha de lanzamiento oficial 1 de noviembre) y Cloud (fecha de lanzamiento 15 de diciembre)&lt;br /&gt;
* La aplicacion no la liberaran hasta tener una version mas madura (no ha concretado fecha)&lt;br /&gt;
* Destaca en Open Drako la facilidad de uso para los clientes, porque al estar centrada en los procesos es fácilmente comprensible y adaptable&lt;br /&gt;
* Cuando se abra la web corporativa el 1 de noviembre habrá un espacio demo que se regenerará cada día.&lt;br /&gt;
* Preguntan sobre si está previsto que OpenDrako incopore información estadística necesaria en algunos casos para justificaciones (tripartita...). &lt;br /&gt;
** OpenDrako se puede integrar con otros LMS/CMS a través de servicios web.&lt;br /&gt;
* El idioma principal de Open Drako es el inglés porque es una herramienta pensada a nivel internacional y esa es su hoja de ruta, expandirse por diferentes países&lt;br /&gt;
&lt;br /&gt;
===Student Experience and Improving===&lt;br /&gt;
Gavin Henrick (@ghenrick)&lt;br /&gt;
&lt;br /&gt;
Gavin define algunos aspectos sobre la &amp;quot;organización del sitio&amp;quot; (Organization Systems) para mejorar la experiencia de usuario, relaciondos con &lt;br /&gt;
* el reconocimiento, sencillo log in, seguridad...&lt;br /&gt;
* el acceso&lt;br /&gt;
* la navegabilidad, encuentro lo que quiero cuando necesito&lt;br /&gt;
* consistencia, coherencia en estructuras al final jerárquicas, mantener aspectos, jugar con imágenes&lt;br /&gt;
&lt;br /&gt;
* Universidad: social, colaboración entre estudiantes. &lt;br /&gt;
* Importa la apariencia.&lt;br /&gt;
* Accesibilidad a diferentes recursos: qué haremos en un aula, fuera de ella.&lt;br /&gt;
* All device friendly: hay que tenerlo en cuenta a la hora de diseñar cursos (evitar imágenes enormes, por ejemplo)&lt;br /&gt;
* Mobile App... Hay gente que tiene activados WS y notificacions push, ¿pero cuantos hacen difusión?&lt;br /&gt;
* La seguridad siempre presente.&lt;br /&gt;
* Importante implementar SIngle Sign ON (SSO) para reforzar experiencia coherente entre los distintos sistemas de la plataforma de aprendizaje.&lt;br /&gt;
* Navegación&lt;br /&gt;
** Consistente con el resto de plataformas del sistema&lt;br /&gt;
** Flexible y autodefinido, navegación intuitiva.&lt;br /&gt;
** Etiquetado facilita navegación.&lt;br /&gt;
** Navegación del usuario a través del sitio: flujo de información. Qué es importante o suplementario a simple vista.1&lt;br /&gt;
** En los nombres de las actividades, utilizar acciones, no el nombre del tipo de actividad.&lt;br /&gt;
* Imágenes de soporte que estén relacionadas con el texto&lt;br /&gt;
* Hay potencial en el consumo de las clases y sus materiales offline.&lt;br /&gt;
* Creación de apuntes colaborativos (como este devpad :-P )&lt;br /&gt;
* Comunicación. reparar en la comunicacion global que recibe el alumnado, notificando asuntos organizativos, dando un feedback apropiado y que permita conectarse con otros estudiantes. un feedback apropiado orientado al manejo de expectativas, acordar tiempos de respuesta, plazos, límites claros que son transparentes&lt;br /&gt;
* Otro aspecto importante que puede ayudar a mejorar la experiencia del usuario y del aprendizaje es el Reporting para el propio usuario: le puede orientar a saber dónde está respecto al resto de los usuarios, a qué nivel está respecto de sus compañeros, etc.&lt;br /&gt;
* Idea: en la lista de cursos mostrar el porcentaje de compleción (o calificación), para que no haga falta acceder al curso para consultar esta información.&lt;br /&gt;
* Competencias: dar feedback al estudiante de su nivel.&lt;br /&gt;
&lt;br /&gt;
===Gestion de Moodle por años académicos===&lt;br /&gt;
Jordi Puyol-Ahullo (@jpahullo)&lt;br /&gt;
&lt;br /&gt;
[http://2015.moodlemoot.net/course/view.php?id=35 Curso del SIG] - [http://2015.moodlemoot.net/mod/resource/view.php?id=180 Presentacion]&lt;br /&gt;
&lt;br /&gt;
Para aligerar la creacion masiva de cursos no los crean a través de la API de Moodle sino directamente en la BBDD (replicando lo que hace la API)&lt;br /&gt;
Diferentes estrategias de cambio de año:&lt;br /&gt;
* Creacion masiva de cursos con restore on-demmand&lt;br /&gt;
* Creacion on-demmand con opcion de restore&lt;br /&gt;
* Creacion y restore masiva&lt;br /&gt;
Cuando ven los profesores y alumnos los cursos, distintas estrategias:&lt;br /&gt;
* El profesor decide cuando activar la sincronizacion (hasta entonces los alumnos no ven el curso)&lt;br /&gt;
* La matriculacion se hace &amp;quot;de saque&amp;quot; y desarrollo propio para que los alumnos vean en gris el curso aun cuando este oculto&lt;br /&gt;
* con UNIVERSITASXXI la mayoría usamos un desarrollo propio intermedio para la matriculacion, creación de cursos, etc&lt;br /&gt;
* Creacion de cursos con contenidos o vacios, Problemas con cambios de asignación de docencia.&lt;br /&gt;
Sincronizacion de datos de usuario y matriculaciones&lt;br /&gt;
* Problemas con la ventana nocturna para la actualizacion masiva&lt;br /&gt;
* Sincronizacion del perfil en el login&lt;br /&gt;
Una base de datos con todo o una por año académico?&lt;br /&gt;
* Con más de una como hacer el login (CAS, SSO,..)&lt;br /&gt;
* Con solo una problema de accesibilidad&lt;br /&gt;
Cuántos años académicos?&lt;br /&gt;
* Para acreditaciones a veces se piden 2, 3 y hasta 4 años (actual + 3 anteriores)&lt;br /&gt;
&lt;br /&gt;
===DSpace como Repositorio  de Objetos de Aprendizaje integrado===&lt;br /&gt;
David Paniagua (@panidvd) y Emilio Lorenzo&lt;br /&gt;
&lt;br /&gt;
Toda la información y la presentación están colgadas en el [http://2015.moodlemoot.net/course/view.php?id=10 curso]&lt;br /&gt;
* Software libre, más de 2000 instalaciones en el mundo.&lt;br /&gt;
* Centrado como knowledge base científico y su difusión&lt;br /&gt;
&lt;br /&gt;
* Se lleva bien con la indexiación de Google Scholar&lt;br /&gt;
* Se diferencia con S3 por la indexación&lt;br /&gt;
* Etiquetado Estándar de Objetos Digitales Educativos (ODE): http://educalab.es/recursos/lom-es&lt;br /&gt;
* Interfaces REST en DPace-Moodle&lt;br /&gt;
* CRUD (Create-Read-Update-Delete) - login, logout, search, items, bitstreams (depositar elementos de Moodle a DSpace).&lt;br /&gt;
* No se hablado de la instalacion/configuracion a Moodle&lt;br /&gt;
&lt;br /&gt;
[[Category:MoodleMoot]]&lt;br /&gt;
[[Category:MoodleMoot2015]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=mod/assignment/type/rtcollaboration/text&amp;diff=16032</id>
		<title>mod/assignment/type/rtcollaboration/text</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=mod/assignment/type/rtcollaboration/text&amp;diff=16032"/>
		<updated>2011-03-01T20:17:50Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: Redirigiendo a RTCollaboration&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[RTCollaboration]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=blocks/configurable_reports/&amp;diff=15689</id>
		<title>blocks/configurable reports/</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=blocks/configurable_reports/&amp;diff=15689"/>
		<updated>2010-10-13T19:35:06Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Instalación ==&lt;br /&gt;
&lt;br /&gt;
# Descargar el fichero de instalación del bloque &amp;quot;Configurable Report&amp;quot; y descomprimirlo en el directorio &#039;&#039;&#039;/blocks&#039;&#039;&#039; del directorio de instalación de Moodle.&lt;br /&gt;
# Iniciar sesión como administrador y pulsar en el enlace Notificaciones, dentro del bloque de administración del sitio.&lt;br /&gt;
&lt;br /&gt;
Para más información véase [https://docs.moodle.org/en/Installing_contributed_modules_or_plugins Installing contributed modules or plugins] (en inglés)&lt;br /&gt;
&lt;br /&gt;
== Resumen ==&lt;br /&gt;
&lt;br /&gt;
Este bloque sirve para generar informes a medida de Moodle.&lt;br /&gt;
&lt;br /&gt;
Ha sido diseñado de forma modular para permitir a los desarrolladores crear nuevos plugins en menos de una hora.&lt;br /&gt;
&lt;br /&gt;
=== ¿Quién puede crear informes a medida? ===&lt;br /&gt;
&lt;br /&gt;
Cualquier usuario que tenga los permisos &#039;&#039;&#039;block/custom_reports:managereports&#039;&#039;, &#039;&#039;&#039;blocks/custom_reports:manageownreports&#039;&#039;&#039; o &#039;&#039;&#039;block/custom_report/managesqlreports&#039;&#039;&#039; asignados en un CURSO o en el SITIO (estos permisos se definen durante la instalación del bloque).&lt;br /&gt;
&lt;br /&gt;
=== ¿Qué tipo de informes puedo crear? ===&lt;br /&gt;
&lt;br /&gt;
* Informes de cursos, con informaciones relativas a los cursos.&lt;br /&gt;
* Informes de usarios, con informaciones relativas a los usuarios y su actividad en un curso.&lt;br /&gt;
* Informes SQL personalizados, consultas SQL personalizadas. Este bloque puede usar las mismas consultas SQL que el plugin  [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=2884 de consultas SQL personalizadas de Tim Hunt].&lt;br /&gt;
&lt;br /&gt;
Nota para los desarrolladores: se pueden crear sus propios tipos de informes.&lt;br /&gt;
&lt;br /&gt;
=== ¿Quién puede ver los informes? ===&lt;br /&gt;
&lt;br /&gt;
Cuando se crea un informe se puede elegir qué usuarios pueden verlo.&lt;br /&gt;
&lt;br /&gt;
Los informes se muestra en un bloque del curso o en la portada del sitio.&lt;br /&gt;
&lt;br /&gt;
== Cómo crear un informe ==&lt;br /&gt;
&lt;br /&gt;
Este es un proceso muy sencillo. Si va a crear un informe para un curso, necesita añadir el bloque en el curso y pulsar sobre &amp;quot;Gestionar informes&amp;quot;. Por su parte, para los informes del sitio, añada el bloque en la portada y pulse sobre el enlace &amp;quot;Gestionar informes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Necesita introducir un nombre, una descripción (opcional) y tiene que elegir el tipo de informe, paginación y formatos de exportación.&lt;br /&gt;
&lt;br /&gt;
Dependiendo del tipo de informe elegido habrá más o menos pestañas. Estas son las pestañas para los informes de cursos y usuarios:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Columnas&#039;&#039;&#039;: Aquí se puede elegir las diferentes columnas del informe, dependiendo del tipo de informe (Nombre del curso, Nombre de pila del usuarios, etc.)&lt;br /&gt;
* &#039;&#039;&#039;Condiciones&#039;&#039;&#039;: Aquí se pueden definir las condiciones (p.ej., sólo cursos de esta categoría, sólo usuarios de España, etc.)&lt;br /&gt;
* &#039;&#039;&#039;Ordenación&#039;&#039;&#039;: Aquí se puede elegir como ordenar el informe usando los campos y direcciones (ascendente, descendente).&lt;br /&gt;
* &#039;&#039;&#039;Filtros&#039;&#039;&#039;: Aquí se puede elegir qué filtros se visualizarán.&lt;br /&gt;
* &#039;&#039;&#039;Plantilla&#039;&#039;&#039;: Se puede modificar la disposición del informe creando una plantilla.&lt;br /&gt;
* &#039;&#039;&#039;Permisos&#039;&#039;&#039;: Aquí se puede escoger quien puede ver el informe.&lt;br /&gt;
* &#039;&#039;&#039;Cálculos&#039;&#039;&#039;: Aquí se pueden añadir cálculos para las columnas; p.ej., media del número de usuarios matriculados en los cursos.&lt;br /&gt;
* &#039;&#039;&#039;Gráficas&#039;&#039;&#039;: Aquí se pueden añadir gráficas al informe basadas en las columnas del informe y los valores.&lt;br /&gt;
* &#039;&#039;&#039;Ver informes&#039;&#039;&#039;: Auto explicativa&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
&lt;br /&gt;
=== Como crear un informe de usuario ===&lt;br /&gt;
&lt;br /&gt;
Requisitos: &#039;&#039;Usuarios de España, pero no de Madrid, en este curso. Este informe se puede ver sólo por usuarios de España. Hay que visualizar un filtro basado en la ciudad del usuario. Se pide mostrar una gráfica de tarta con las ciudades de los usuarios. Se pide una tabla calculada que muestre el total de vistas de mensajes de foros El informe debe ordenarse por el apellido de los usuarios&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
¡Veamos qué fácil es!&lt;br /&gt;
&lt;br /&gt;
# Primero de todo, instale el bloque.&lt;br /&gt;
# Vaya al curso donde se quiere crear el informe.&lt;br /&gt;
# Añada una instancia del bloque &amp;quot;Informes personalizados&amp;quot;.&lt;br /&gt;
# Pulse en &amp;quot;Gestionar informes&amp;quot;.&lt;br /&gt;
# Pulse en &amp;quot;Añadir informe&amp;quot;.&lt;br /&gt;
# Introduzca un nombre, una descripción y elija &amp;quot;Informes de usuarios&amp;quot; como tipo de informe.&lt;br /&gt;
# Opcionalmente puede marcar las casillas &amp;quot;Exportar en formato ODS&amp;quot; y &amp;quot;Exportar en formato XLS&amp;quot; si desea poder exportar el informe en alguno de estos formatos.&lt;br /&gt;
# Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Se guardará el informe y se le redirigirá a la pestaña denominada &amp;quot;Columnas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir columnas ====&lt;br /&gt;
&lt;br /&gt;
Aquí se puede efinir las propiedades de la tabla del informe como anchura, alineación, relleno de las celdas, espaciados de las celdas, etc.&lt;br /&gt;
&lt;br /&gt;
# Añada una columna de tipo &amp;quot;Campo del perfiel de usuario&amp;quot;&lt;br /&gt;
# Teclee un nombre para esta columna y en el desplegable llamado &amp;quot;Columna&amp;quot; elija el valor &amp;quot;firstname&amp;quot;. Puede dejar en blanco el resto de elementos. Pulse sobre el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Repita el proces para los campos &amp;quot;lastname&amp;quot; y &amp;quot;city&amp;quot;.&lt;br /&gt;
# Añada una nueva columna de tipo &amp;quot;Acciones de usuario en el módulo&amp;quot;.&lt;br /&gt;
# Teclee un nombre parae esta columna y elija un módulo de la lista, en nuestro caso, el foro sobre el que queremos elaborar el informe. Pulse sobre el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
==== Añadir condiciones ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Condiciones&amp;quot;.&lt;br /&gt;
# Añada una condición del tipo &amp;quot;Condición sobre campo de perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoga la columna &amp;quot;country&amp;quot; de la lista desplegable, el operador &amp;quot;=&amp;quot; e introduzca el valor &amp;quot;ES&amp;quot; (este es el código internacional para España tal y como lo almancena Moodle internamente). Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Añada una nueva condición del tipo &amp;quot;Condición sobre campo de perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;city&amp;quot;, el operador &amp;quot;&amp;lt;&amp;gt;&amp;quot; e introduzca el valor &amp;quot;Madrid&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Añada una condición del tipo &amp;quot;Usuarios en el curso donde se ha creado el informe&amp;quot; y escoja el valor &amp;quot;Student&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Estas son las condiciones principales del informe. Note que en la parte inferior hay una caja de texto llamada &amp;quot;Condición lógica&amp;quot; con el texto:&lt;br /&gt;
&lt;br /&gt;
  c2 and c1 and c3&lt;br /&gt;
&lt;br /&gt;
Aquí se puede definir una condición lógica cualquiera. En este caso no necesitamos editar esta condición, pero puede crear expresiones complejas como:&lt;br /&gt;
&lt;br /&gt;
  (c1 and c2) or (c4 and c3)&lt;br /&gt;
&lt;br /&gt;
==== Añadir ordenación ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Ordenación&amp;quot;.&lt;br /&gt;
# Añada una ordenación del tipo &amp;quot;Ordenación por campo de usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;lastname&amp;quot; y la ordenación &amp;quot;ASC&amp;quot; (ascendente). Pulse &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir filtros ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Filtros&amp;quot;.&lt;br /&gt;
# Añáda un filtro del tipo &amp;quot;Filtro sobre campo del perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja el campo &amp;quot;city&amp;quot;. Pulse &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir permisos ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Permisos&amp;quot;.&lt;br /&gt;
# Añada un permiso del tipo &amp;quot;Valor en el perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;country&amp;quot; e introduzca el valor &amp;quot;ES&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Aquí puede añadir más tipos de permisos y la condición lógica que debe cumplirse en caso de tener más un tipo de permiso.&lt;br /&gt;
&lt;br /&gt;
==== Añadir cálculos ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Cálculos&amp;quot;.&lt;br /&gt;
# Añada un cálculo de tipo &amp;quot;Suma&amp;quot;.&lt;br /&gt;
# Escoja la columna que representa la acción del usuario en el módulo (en nuestro caso el foro).&lt;br /&gt;
&lt;br /&gt;
==== Añadir gráficas ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Gráficas&amp;quot;.&lt;br /&gt;
# Elija el tipo de gráfico &amp;quot;Tarta&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;city&amp;quot; tanto para la opción &amp;quot;Nombre&amp;quot; como para la opción &amp;quot;Valor&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Por último, añada unos cuantos usuarios en Moodle con el país &amp;quot;España&amp;quot; y diferentes ciudades: Madrid, Barcelona, Sevilla, etc. y pruebe a visualizar el informe pulsando en la pestaña &amp;quot;Ver informe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Si ha habilitado las opciones de exportar el informe en alguno de los formatos , podrá descargarlo pulsando sobre los enlaces que aparecen en la parte inferior del informe.&lt;br /&gt;
&lt;br /&gt;
[[#Informe_de_usuarios | Ver pantalla mostrando el informe]]&lt;br /&gt;
&lt;br /&gt;
=== Crear un informe SQL ===&lt;br /&gt;
&lt;br /&gt;
Puede encontrar un montón de informes SQL aquí: [https://docs.moodle.org/en/ad-hoc_contributed_reports ad-hoc contributed reports]&lt;br /&gt;
&lt;br /&gt;
Puesto que este bloque puede utilizar los informes de consultas SQL personalizadas de Tim Hunt, puede utilizar cualquier consulta.&lt;br /&gt;
&lt;br /&gt;
Recuerde añadir un filtro de tipo &amp;quot;Filtro de fechas&amp;quot; si va a usar informes con valores temporales.&lt;br /&gt;
&lt;br /&gt;
Para crear un informe de este tipo:&lt;br /&gt;
&lt;br /&gt;
# Pulse en el enlace &amp;quot;Gestionar informes&amp;quot; del bloque de informes personalizados&lt;br /&gt;
# Pulse en &amp;quot;Añadir informe&amp;quot;.&lt;br /&gt;
# Introduzca un nombre y una descripción para el informe y seleccione &amp;quot;Informe SQL&amp;quot; como el tipo del informe.&lt;br /&gt;
# Opcionalmente puede marcar las casillas &amp;quot;Exportar en formato ODS&amp;quot; y &amp;quot;Exportar en formato XLS&amp;quot; si desea poder exportar el informe en alguno de estos formatos.&lt;br /&gt;
# Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Se guardará el informe y se le redirigirá a la pestaña denominada &amp;quot;Sentencia SQL&amp;quot;.&lt;br /&gt;
# Añada esta consulta (&#039;&#039;Actividad de los cursos&#039;&#039;):&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id&lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
y pulse el botón &amp;quot;Guardar cambios&amp;quot;.&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Cálculos&amp;quot;.&lt;br /&gt;
# Añada un cálculo de tipo &amp;quot;Suma&amp;quot; y escoja la columna &amp;quot;hits&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Gráficas&amp;quot;.&lt;br /&gt;
# Elija el tipo de gráfico &amp;quot;Tarta&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;hits&amp;quot; tanto para la opción &amp;quot;Nombre&amp;quot; como para la opción &amp;quot;Valor&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Pruebe a visualizar el informe pulsando en la pestaña &amp;quot;Ver informe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ahí lo tiene, un informe con una gráfica y cálculos basados en una consulta SQL.&lt;br /&gt;
&lt;br /&gt;
Puede añadir un filtro de cursos, es muy sencillo:&lt;br /&gt;
&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Filtros&amp;quot; y añada un filtro de tipo &amp;quot;Cursos&amp;quot;.&lt;br /&gt;
# Edite la consulta SQL y ponga lo siguiente:&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id &lt;br /&gt;
%%FILTER_COURSES:l.course%% &lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Observe que estamos añadiendo un token llamado %%FILTER_COURSES:l.courseid%% &lt;br /&gt;
# Vaya a la pestaña &amp;quot;Ver informe&amp;quot; y verá un filtro de cursos. Elija un curso y pulse en &amp;quot;Añadir&amp;quot; para ver el informe filtrado por ese curso.&lt;br /&gt;
&lt;br /&gt;
También puede añadir un filtro de tipo &amp;quot;Filtro de fechas&amp;quot; para filtrar por fecha de inicio y fin:&lt;br /&gt;
&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Filtros&amp;quot; y añada un filtro de tipo &amp;quot;Filtro de fechas&amp;quot;.&lt;br /&gt;
# Edite la consulta SQL y ponga lo siguiente:&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id &lt;br /&gt;
%%FILTER_COURSES:l.course%% &lt;br /&gt;
%%FILTER_STARTTIME:l.time:&amp;gt;%% %%FILTER_ENDTIME:l.time:&amp;lt;%% &lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Observe que estamos añadiendo un token llamado %%FILTER_STARTTIME:l.time:&amp;gt;%% %%FILTER_ENDTIME:l.time:&amp;lt;%%&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Ver informe&amp;quot; y verá también un filtro para indicar la fecha de inicio y fin a usar para el informe.&lt;br /&gt;
&lt;br /&gt;
[[#Informe_SQL | Ver pantalla mostrando el informe]]&lt;br /&gt;
&lt;br /&gt;
== Opciones avanzadas ==&lt;br /&gt;
=== Plantillas ===&lt;br /&gt;
&lt;br /&gt;
Se puede personalizar el informe usando una plantilla. Sólo hace falta ir a la pestaña llamada &amp;quot;Plantilla&amp;quot; y habilitarla, y a continuación rellenar cada una de las partes de la plantilla (cabecera, plantilla para un registro y pie)&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de código HTML para visualizar una lista de usuarios:&lt;br /&gt;
&lt;br /&gt;
Cabecera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;##reportname##&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;60%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plantilla para un registro:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&amp;quot;http://tu.sitio.moodle.es/user/pix.php/[[id]]/f1.jpg&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;h2&amp;gt;[[firstname]] [[lastname]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
Ciudad: [[city]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
##graphs## &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
##exportoptions##&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Informes incrustados ===&lt;br /&gt;
Un informe incrustado consiste en un juego de columnas de un informe que están incrustadas entro.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, puede incrustar un informe de usuario en un informe de curso. En este caso, las filas resultantes del curso se expandirán duplicando cada fila para cada usuario.&lt;br /&gt;
&lt;br /&gt;
Para incrustar un informe, simplemente añada una nueva columna de tipo &amp;quot;Columna de otro informe&amp;quot;. Aparecerá una lista de informes existentes. Una vez seleccionado uno aparecerá la lista de columnas de dicho informe para que podamos escoger la deseada.&lt;br /&gt;
&lt;br /&gt;
Dentro de un informe de curso se puede incrustar un informe de usuario y viceversa. No es posible sin embargo incrustar informes de curso dentro de informes de curso, o informes de usuario dentro de informes de usuario.&lt;br /&gt;
&lt;br /&gt;
== Documentación para desarrolladores ==&lt;br /&gt;
&lt;br /&gt;
Es muy fácil crear nuevos tipos de informes, componentes y plugins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Informe&#039;&#039;&#039;: Un informe es un directorio ubicado dentro de /reports (con respecto al directorio de instalación del bloque). Este directorio contiene un fichero llamado report.class.php con la definición de la clase hija que extiende de report_base.&lt;br /&gt;
&lt;br /&gt;
Sólo necesita modificar unos pocos métodos para añadir un nuevo tipo de informe. Por favor, eche una ojeada a cualquiera de los informes existentes. El informe SQL es un ejemplo de un informe no típico, mientras que los informes de usuarios y cursos son informes estándar.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo informe es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Componente&#039;&#039;&#039;: Un componente es parte de un informe, y puede ser usado por más de un informe. Además es un directorio ubicado dentro de /components (con respecto al directorio de instalación del bloque). Este directorio contiene un fichero llamado component.class.php con la definición de la clase hija que extiende de component_base.&lt;br /&gt;
&lt;br /&gt;
El componente princial es el componente llamado &amp;quot;columns&amp;quot;, que se usa para añadir las columnas de un informe. Otros componentes son los filtros, permisos, gráficas, cálculos, etc.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo componente es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plugin&#039;&#039;&#039;: Un plugin es un módulo de un componente. Además es un directorio ubicado dentro de /components/nombre-del-componente/. Este directorio contiene un fichero llamado plugin.class.php con la definición de la clase hija que extiende de plugin_base.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el componente columna tiene unos pocos plugins (coursefield, userfield, etc..).&lt;br /&gt;
&lt;br /&gt;
Un plugin funciona normalmente para un único tipo de informe, pero existen plugins que funcionan para más de un tipo de informe.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo plugin es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
== Créditos ==&lt;br /&gt;
Juan Leyva [http://moodle.org/user/view.php?id=49568&amp;amp;course=1 Perfil de Moodle]&lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/jleyvadelgado Sígueme en Twitter]&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
== Pantallazos ==&lt;br /&gt;
=== Informe de usuarios ===&lt;br /&gt;
[[Image:block_custom_reports_sample_user_report.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Informe SQL ===&lt;br /&gt;
[[Image:block_custom_reports_sample_sql_report.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[en:blocks/configurable_reports/]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=blocks/configurable_reports/&amp;diff=15688</id>
		<title>blocks/configurable reports/</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=blocks/configurable_reports/&amp;diff=15688"/>
		<updated>2010-10-13T19:34:36Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Instalación ==&lt;br /&gt;
&lt;br /&gt;
# Descargar el fichero de instalación del bloque &amp;quot;Custom Report&amp;quot; y descomprimirlo en el directorio &#039;&#039;&#039;/blocks&#039;&#039;&#039; del directorio de instalación de Moodle.&lt;br /&gt;
# Iniciar sesión como administrador y pulsar en el enlace Notificaciones, dentro del bloque de administración del sitio.&lt;br /&gt;
&lt;br /&gt;
Para más información véase [https://docs.moodle.org/en/Installing_contributed_modules_or_plugins Installing contributed modules or plugins] (en inglés)&lt;br /&gt;
&lt;br /&gt;
== Resumen ==&lt;br /&gt;
&lt;br /&gt;
Este bloque sirve para generar informes a medida de Moodle.&lt;br /&gt;
&lt;br /&gt;
Ha sido diseñado de forma modular para permitir a los desarrolladores crear nuevos plugins en menos de una hora.&lt;br /&gt;
&lt;br /&gt;
=== ¿Quién puede crear informes a medida? ===&lt;br /&gt;
&lt;br /&gt;
Cualquier usuario que tenga los permisos &#039;&#039;&#039;block/custom_reports:managereports&#039;&#039;, &#039;&#039;&#039;blocks/custom_reports:manageownreports&#039;&#039;&#039; o &#039;&#039;&#039;block/custom_report/managesqlreports&#039;&#039;&#039; asignados en un CURSO o en el SITIO (estos permisos se definen durante la instalación del bloque).&lt;br /&gt;
&lt;br /&gt;
=== ¿Qué tipo de informes puedo crear? ===&lt;br /&gt;
&lt;br /&gt;
* Informes de cursos, con informaciones relativas a los cursos.&lt;br /&gt;
* Informes de usarios, con informaciones relativas a los usuarios y su actividad en un curso.&lt;br /&gt;
* Informes SQL personalizados, consultas SQL personalizadas. Este bloque puede usar las mismas consultas SQL que el plugin  [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=2884 de consultas SQL personalizadas de Tim Hunt].&lt;br /&gt;
&lt;br /&gt;
Nota para los desarrolladores: se pueden crear sus propios tipos de informes.&lt;br /&gt;
&lt;br /&gt;
=== ¿Quién puede ver los informes? ===&lt;br /&gt;
&lt;br /&gt;
Cuando se crea un informe se puede elegir qué usuarios pueden verlo.&lt;br /&gt;
&lt;br /&gt;
Los informes se muestra en un bloque del curso o en la portada del sitio.&lt;br /&gt;
&lt;br /&gt;
== Cómo crear un informe ==&lt;br /&gt;
&lt;br /&gt;
Este es un proceso muy sencillo. Si va a crear un informe para un curso, necesita añadir el bloque en el curso y pulsar sobre &amp;quot;Gestionar informes&amp;quot;. Por su parte, para los informes del sitio, añada el bloque en la portada y pulse sobre el enlace &amp;quot;Gestionar informes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Necesita introducir un nombre, una descripción (opcional) y tiene que elegir el tipo de informe, paginación y formatos de exportación.&lt;br /&gt;
&lt;br /&gt;
Dependiendo del tipo de informe elegido habrá más o menos pestañas. Estas son las pestañas para los informes de cursos y usuarios:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Columnas&#039;&#039;&#039;: Aquí se puede elegir las diferentes columnas del informe, dependiendo del tipo de informe (Nombre del curso, Nombre de pila del usuarios, etc.)&lt;br /&gt;
* &#039;&#039;&#039;Condiciones&#039;&#039;&#039;: Aquí se pueden definir las condiciones (p.ej., sólo cursos de esta categoría, sólo usuarios de España, etc.)&lt;br /&gt;
* &#039;&#039;&#039;Ordenación&#039;&#039;&#039;: Aquí se puede elegir como ordenar el informe usando los campos y direcciones (ascendente, descendente).&lt;br /&gt;
* &#039;&#039;&#039;Filtros&#039;&#039;&#039;: Aquí se puede elegir qué filtros se visualizarán.&lt;br /&gt;
* &#039;&#039;&#039;Plantilla&#039;&#039;&#039;: Se puede modificar la disposición del informe creando una plantilla.&lt;br /&gt;
* &#039;&#039;&#039;Permisos&#039;&#039;&#039;: Aquí se puede escoger quien puede ver el informe.&lt;br /&gt;
* &#039;&#039;&#039;Cálculos&#039;&#039;&#039;: Aquí se pueden añadir cálculos para las columnas; p.ej., media del número de usuarios matriculados en los cursos.&lt;br /&gt;
* &#039;&#039;&#039;Gráficas&#039;&#039;&#039;: Aquí se pueden añadir gráficas al informe basadas en las columnas del informe y los valores.&lt;br /&gt;
* &#039;&#039;&#039;Ver informes&#039;&#039;&#039;: Auto explicativa&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
&lt;br /&gt;
=== Como crear un informe de usuario ===&lt;br /&gt;
&lt;br /&gt;
Requisitos: &#039;&#039;Usuarios de España, pero no de Madrid, en este curso. Este informe se puede ver sólo por usuarios de España. Hay que visualizar un filtro basado en la ciudad del usuario. Se pide mostrar una gráfica de tarta con las ciudades de los usuarios. Se pide una tabla calculada que muestre el total de vistas de mensajes de foros El informe debe ordenarse por el apellido de los usuarios&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
¡Veamos qué fácil es!&lt;br /&gt;
&lt;br /&gt;
# Primero de todo, instale el bloque.&lt;br /&gt;
# Vaya al curso donde se quiere crear el informe.&lt;br /&gt;
# Añada una instancia del bloque &amp;quot;Informes personalizados&amp;quot;.&lt;br /&gt;
# Pulse en &amp;quot;Gestionar informes&amp;quot;.&lt;br /&gt;
# Pulse en &amp;quot;Añadir informe&amp;quot;.&lt;br /&gt;
# Introduzca un nombre, una descripción y elija &amp;quot;Informes de usuarios&amp;quot; como tipo de informe.&lt;br /&gt;
# Opcionalmente puede marcar las casillas &amp;quot;Exportar en formato ODS&amp;quot; y &amp;quot;Exportar en formato XLS&amp;quot; si desea poder exportar el informe en alguno de estos formatos.&lt;br /&gt;
# Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Se guardará el informe y se le redirigirá a la pestaña denominada &amp;quot;Columnas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir columnas ====&lt;br /&gt;
&lt;br /&gt;
Aquí se puede efinir las propiedades de la tabla del informe como anchura, alineación, relleno de las celdas, espaciados de las celdas, etc.&lt;br /&gt;
&lt;br /&gt;
# Añada una columna de tipo &amp;quot;Campo del perfiel de usuario&amp;quot;&lt;br /&gt;
# Teclee un nombre para esta columna y en el desplegable llamado &amp;quot;Columna&amp;quot; elija el valor &amp;quot;firstname&amp;quot;. Puede dejar en blanco el resto de elementos. Pulse sobre el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Repita el proces para los campos &amp;quot;lastname&amp;quot; y &amp;quot;city&amp;quot;.&lt;br /&gt;
# Añada una nueva columna de tipo &amp;quot;Acciones de usuario en el módulo&amp;quot;.&lt;br /&gt;
# Teclee un nombre parae esta columna y elija un módulo de la lista, en nuestro caso, el foro sobre el que queremos elaborar el informe. Pulse sobre el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
==== Añadir condiciones ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Condiciones&amp;quot;.&lt;br /&gt;
# Añada una condición del tipo &amp;quot;Condición sobre campo de perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoga la columna &amp;quot;country&amp;quot; de la lista desplegable, el operador &amp;quot;=&amp;quot; e introduzca el valor &amp;quot;ES&amp;quot; (este es el código internacional para España tal y como lo almancena Moodle internamente). Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Añada una nueva condición del tipo &amp;quot;Condición sobre campo de perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;city&amp;quot;, el operador &amp;quot;&amp;lt;&amp;gt;&amp;quot; e introduzca el valor &amp;quot;Madrid&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Añada una condición del tipo &amp;quot;Usuarios en el curso donde se ha creado el informe&amp;quot; y escoja el valor &amp;quot;Student&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Estas son las condiciones principales del informe. Note que en la parte inferior hay una caja de texto llamada &amp;quot;Condición lógica&amp;quot; con el texto:&lt;br /&gt;
&lt;br /&gt;
  c2 and c1 and c3&lt;br /&gt;
&lt;br /&gt;
Aquí se puede definir una condición lógica cualquiera. En este caso no necesitamos editar esta condición, pero puede crear expresiones complejas como:&lt;br /&gt;
&lt;br /&gt;
  (c1 and c2) or (c4 and c3)&lt;br /&gt;
&lt;br /&gt;
==== Añadir ordenación ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Ordenación&amp;quot;.&lt;br /&gt;
# Añada una ordenación del tipo &amp;quot;Ordenación por campo de usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;lastname&amp;quot; y la ordenación &amp;quot;ASC&amp;quot; (ascendente). Pulse &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir filtros ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Filtros&amp;quot;.&lt;br /&gt;
# Añáda un filtro del tipo &amp;quot;Filtro sobre campo del perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja el campo &amp;quot;city&amp;quot;. Pulse &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir permisos ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Permisos&amp;quot;.&lt;br /&gt;
# Añada un permiso del tipo &amp;quot;Valor en el perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;country&amp;quot; e introduzca el valor &amp;quot;ES&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Aquí puede añadir más tipos de permisos y la condición lógica que debe cumplirse en caso de tener más un tipo de permiso.&lt;br /&gt;
&lt;br /&gt;
==== Añadir cálculos ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Cálculos&amp;quot;.&lt;br /&gt;
# Añada un cálculo de tipo &amp;quot;Suma&amp;quot;.&lt;br /&gt;
# Escoja la columna que representa la acción del usuario en el módulo (en nuestro caso el foro).&lt;br /&gt;
&lt;br /&gt;
==== Añadir gráficas ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Gráficas&amp;quot;.&lt;br /&gt;
# Elija el tipo de gráfico &amp;quot;Tarta&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;city&amp;quot; tanto para la opción &amp;quot;Nombre&amp;quot; como para la opción &amp;quot;Valor&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Por último, añada unos cuantos usuarios en Moodle con el país &amp;quot;España&amp;quot; y diferentes ciudades: Madrid, Barcelona, Sevilla, etc. y pruebe a visualizar el informe pulsando en la pestaña &amp;quot;Ver informe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Si ha habilitado las opciones de exportar el informe en alguno de los formatos , podrá descargarlo pulsando sobre los enlaces que aparecen en la parte inferior del informe.&lt;br /&gt;
&lt;br /&gt;
[[#Informe_de_usuarios | Ver pantalla mostrando el informe]]&lt;br /&gt;
&lt;br /&gt;
=== Crear un informe SQL ===&lt;br /&gt;
&lt;br /&gt;
Puede encontrar un montón de informes SQL aquí: [https://docs.moodle.org/en/ad-hoc_contributed_reports ad-hoc contributed reports]&lt;br /&gt;
&lt;br /&gt;
Puesto que este bloque puede utilizar los informes de consultas SQL personalizadas de Tim Hunt, puede utilizar cualquier consulta.&lt;br /&gt;
&lt;br /&gt;
Recuerde añadir un filtro de tipo &amp;quot;Filtro de fechas&amp;quot; si va a usar informes con valores temporales.&lt;br /&gt;
&lt;br /&gt;
Para crear un informe de este tipo:&lt;br /&gt;
&lt;br /&gt;
# Pulse en el enlace &amp;quot;Gestionar informes&amp;quot; del bloque de informes personalizados&lt;br /&gt;
# Pulse en &amp;quot;Añadir informe&amp;quot;.&lt;br /&gt;
# Introduzca un nombre y una descripción para el informe y seleccione &amp;quot;Informe SQL&amp;quot; como el tipo del informe.&lt;br /&gt;
# Opcionalmente puede marcar las casillas &amp;quot;Exportar en formato ODS&amp;quot; y &amp;quot;Exportar en formato XLS&amp;quot; si desea poder exportar el informe en alguno de estos formatos.&lt;br /&gt;
# Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Se guardará el informe y se le redirigirá a la pestaña denominada &amp;quot;Sentencia SQL&amp;quot;.&lt;br /&gt;
# Añada esta consulta (&#039;&#039;Actividad de los cursos&#039;&#039;):&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id&lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
y pulse el botón &amp;quot;Guardar cambios&amp;quot;.&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Cálculos&amp;quot;.&lt;br /&gt;
# Añada un cálculo de tipo &amp;quot;Suma&amp;quot; y escoja la columna &amp;quot;hits&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Gráficas&amp;quot;.&lt;br /&gt;
# Elija el tipo de gráfico &amp;quot;Tarta&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;hits&amp;quot; tanto para la opción &amp;quot;Nombre&amp;quot; como para la opción &amp;quot;Valor&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Pruebe a visualizar el informe pulsando en la pestaña &amp;quot;Ver informe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ahí lo tiene, un informe con una gráfica y cálculos basados en una consulta SQL.&lt;br /&gt;
&lt;br /&gt;
Puede añadir un filtro de cursos, es muy sencillo:&lt;br /&gt;
&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Filtros&amp;quot; y añada un filtro de tipo &amp;quot;Cursos&amp;quot;.&lt;br /&gt;
# Edite la consulta SQL y ponga lo siguiente:&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id &lt;br /&gt;
%%FILTER_COURSES:l.course%% &lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Observe que estamos añadiendo un token llamado %%FILTER_COURSES:l.courseid%% &lt;br /&gt;
# Vaya a la pestaña &amp;quot;Ver informe&amp;quot; y verá un filtro de cursos. Elija un curso y pulse en &amp;quot;Añadir&amp;quot; para ver el informe filtrado por ese curso.&lt;br /&gt;
&lt;br /&gt;
También puede añadir un filtro de tipo &amp;quot;Filtro de fechas&amp;quot; para filtrar por fecha de inicio y fin:&lt;br /&gt;
&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Filtros&amp;quot; y añada un filtro de tipo &amp;quot;Filtro de fechas&amp;quot;.&lt;br /&gt;
# Edite la consulta SQL y ponga lo siguiente:&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id &lt;br /&gt;
%%FILTER_COURSES:l.course%% &lt;br /&gt;
%%FILTER_STARTTIME:l.time:&amp;gt;%% %%FILTER_ENDTIME:l.time:&amp;lt;%% &lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Observe que estamos añadiendo un token llamado %%FILTER_STARTTIME:l.time:&amp;gt;%% %%FILTER_ENDTIME:l.time:&amp;lt;%%&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Ver informe&amp;quot; y verá también un filtro para indicar la fecha de inicio y fin a usar para el informe.&lt;br /&gt;
&lt;br /&gt;
[[#Informe_SQL | Ver pantalla mostrando el informe]]&lt;br /&gt;
&lt;br /&gt;
== Opciones avanzadas ==&lt;br /&gt;
=== Plantillas ===&lt;br /&gt;
&lt;br /&gt;
Se puede personalizar el informe usando una plantilla. Sólo hace falta ir a la pestaña llamada &amp;quot;Plantilla&amp;quot; y habilitarla, y a continuación rellenar cada una de las partes de la plantilla (cabecera, plantilla para un registro y pie)&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de código HTML para visualizar una lista de usuarios:&lt;br /&gt;
&lt;br /&gt;
Cabecera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;##reportname##&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;60%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plantilla para un registro:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&amp;quot;http://tu.sitio.moodle.es/user/pix.php/[[id]]/f1.jpg&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;h2&amp;gt;[[firstname]] [[lastname]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
Ciudad: [[city]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
##graphs## &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
##exportoptions##&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Informes incrustados ===&lt;br /&gt;
Un informe incrustado consiste en un juego de columnas de un informe que están incrustadas entro.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, puede incrustar un informe de usuario en un informe de curso. En este caso, las filas resultantes del curso se expandirán duplicando cada fila para cada usuario.&lt;br /&gt;
&lt;br /&gt;
Para incrustar un informe, simplemente añada una nueva columna de tipo &amp;quot;Columna de otro informe&amp;quot;. Aparecerá una lista de informes existentes. Una vez seleccionado uno aparecerá la lista de columnas de dicho informe para que podamos escoger la deseada.&lt;br /&gt;
&lt;br /&gt;
Dentro de un informe de curso se puede incrustar un informe de usuario y viceversa. No es posible sin embargo incrustar informes de curso dentro de informes de curso, o informes de usuario dentro de informes de usuario.&lt;br /&gt;
&lt;br /&gt;
== Documentación para desarrolladores ==&lt;br /&gt;
&lt;br /&gt;
Es muy fácil crear nuevos tipos de informes, componentes y plugins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Informe&#039;&#039;&#039;: Un informe es un directorio ubicado dentro de /reports (con respecto al directorio de instalación del bloque). Este directorio contiene un fichero llamado report.class.php con la definición de la clase hija que extiende de report_base.&lt;br /&gt;
&lt;br /&gt;
Sólo necesita modificar unos pocos métodos para añadir un nuevo tipo de informe. Por favor, eche una ojeada a cualquiera de los informes existentes. El informe SQL es un ejemplo de un informe no típico, mientras que los informes de usuarios y cursos son informes estándar.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo informe es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Componente&#039;&#039;&#039;: Un componente es parte de un informe, y puede ser usado por más de un informe. Además es un directorio ubicado dentro de /components (con respecto al directorio de instalación del bloque). Este directorio contiene un fichero llamado component.class.php con la definición de la clase hija que extiende de component_base.&lt;br /&gt;
&lt;br /&gt;
El componente princial es el componente llamado &amp;quot;columns&amp;quot;, que se usa para añadir las columnas de un informe. Otros componentes son los filtros, permisos, gráficas, cálculos, etc.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo componente es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plugin&#039;&#039;&#039;: Un plugin es un módulo de un componente. Además es un directorio ubicado dentro de /components/nombre-del-componente/. Este directorio contiene un fichero llamado plugin.class.php con la definición de la clase hija que extiende de plugin_base.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el componente columna tiene unos pocos plugins (coursefield, userfield, etc..).&lt;br /&gt;
&lt;br /&gt;
Un plugin funciona normalmente para un único tipo de informe, pero existen plugins que funcionan para más de un tipo de informe.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo plugin es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
== Créditos ==&lt;br /&gt;
Juan Leyva [http://moodle.org/user/view.php?id=49568&amp;amp;course=1 Perfil de Moodle]&lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/jleyvadelgado Sígueme en Twitter]&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
== Pantallazos ==&lt;br /&gt;
=== Informe de usuarios ===&lt;br /&gt;
[[Image:block_custom_reports_sample_user_report.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Informe SQL ===&lt;br /&gt;
[[Image:block_custom_reports_sample_sql_report.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[en:blocks/configurable_reports/]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/all/es/index.php?title=blocks/configurable_reports/&amp;diff=15687</id>
		<title>blocks/configurable reports/</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/all/es/index.php?title=blocks/configurable_reports/&amp;diff=15687"/>
		<updated>2010-10-13T19:34:01Z</updated>

		<summary type="html">&lt;p&gt;Jleyva: Página creada con &amp;#039;== Instalación ==  # Descargar el fichero de instalación del bloque &amp;quot;Custom Report&amp;quot; y descomprimirlo en el directorio &amp;#039;&amp;#039;&amp;#039;/blocks&amp;#039;&amp;#039;&amp;#039; del directorio de instalación de Moodle. #...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Instalación ==&lt;br /&gt;
&lt;br /&gt;
# Descargar el fichero de instalación del bloque &amp;quot;Custom Report&amp;quot; y descomprimirlo en el directorio &#039;&#039;&#039;/blocks&#039;&#039;&#039; del directorio de instalación de Moodle.&lt;br /&gt;
# Iniciar sesión como administrador y pulsar en el enlace Notificaciones, dentro del bloque de administración del sitio.&lt;br /&gt;
&lt;br /&gt;
Para más información véase [https://docs.moodle.org/en/Installing_contributed_modules_or_plugins Installing contributed modules or plugins] (en inglés)&lt;br /&gt;
&lt;br /&gt;
== Resumen ==&lt;br /&gt;
&lt;br /&gt;
Este bloque sirve para generar informes a medida de Moodle.&lt;br /&gt;
&lt;br /&gt;
Ha sido diseñado de forma modular para permitir a los desarrolladores crear nuevos plugins en menos de una hora.&lt;br /&gt;
&lt;br /&gt;
=== ¿Quién puede crear informes a medida? ===&lt;br /&gt;
&lt;br /&gt;
Cualquier usuario que tenga los permisos &#039;&#039;&#039;block/custom_reports:managereports&#039;&#039;, &#039;&#039;&#039;blocks/custom_reports:manageownreports&#039;&#039;&#039; o &#039;&#039;&#039;block/custom_report/managesqlreports&#039;&#039;&#039; asignados en un CURSO o en el SITIO (estos permisos se definen durante la instalación del bloque).&lt;br /&gt;
&lt;br /&gt;
=== ¿Qué tipo de informes puedo crear? ===&lt;br /&gt;
&lt;br /&gt;
* Informes de cursos, con informaciones relativas a los cursos.&lt;br /&gt;
* Informes de usarios, con informaciones relativas a los usuarios y su actividad en un curso.&lt;br /&gt;
* Informes SQL personalizados, consultas SQL personalizadas. Este bloque puede usar las mismas consultas SQL que el plugin  [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=2884 de consultas SQL personalizadas de Tim Hunt].&lt;br /&gt;
&lt;br /&gt;
Nota para los desarrolladores: se pueden crear sus propios tipos de informes.&lt;br /&gt;
&lt;br /&gt;
=== ¿Quién puede ver los informes? ===&lt;br /&gt;
&lt;br /&gt;
Cuando se crea un informe se puede elegir qué usuarios pueden verlo.&lt;br /&gt;
&lt;br /&gt;
Los informes se muestra en un bloque del curso o en la portada del sitio.&lt;br /&gt;
&lt;br /&gt;
== Cómo crear un informe ==&lt;br /&gt;
&lt;br /&gt;
Este es un proceso muy sencillo. Si va a crear un informe para un curso, necesita añadir el bloque en el curso y pulsar sobre &amp;quot;Gestionar informes&amp;quot;. Por su parte, para los informes del sitio, añada el bloque en la portada y pulse sobre el enlace &amp;quot;Gestionar informes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Necesita introducir un nombre, una descripción (opcional) y tiene que elegir el tipo de informe, paginación y formatos de exportación.&lt;br /&gt;
&lt;br /&gt;
Dependiendo del tipo de informe elegido habrá más o menos pestañas. Estas son las pestañas para los informes de cursos y usuarios:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Columnas&#039;&#039;&#039;: Aquí se puede elegir las diferentes columnas del informe, dependiendo del tipo de informe (Nombre del curso, Nombre de pila del usuarios, etc.)&lt;br /&gt;
* &#039;&#039;&#039;Condiciones&#039;&#039;&#039;: Aquí se pueden definir las condiciones (p.ej., sólo cursos de esta categoría, sólo usuarios de España, etc.)&lt;br /&gt;
* &#039;&#039;&#039;Ordenación&#039;&#039;&#039;: Aquí se puede elegir como ordenar el informe usando los campos y direcciones (ascendente, descendente).&lt;br /&gt;
* &#039;&#039;&#039;Filtros&#039;&#039;&#039;: Aquí se puede elegir qué filtros se visualizarán.&lt;br /&gt;
* &#039;&#039;&#039;Plantilla&#039;&#039;&#039;: Se puede modificar la disposición del informe creando una plantilla.&lt;br /&gt;
* &#039;&#039;&#039;Permisos&#039;&#039;&#039;: Aquí se puede escoger quien puede ver el informe.&lt;br /&gt;
* &#039;&#039;&#039;Cálculos&#039;&#039;&#039;: Aquí se pueden añadir cálculos para las columnas; p.ej., media del número de usuarios matriculados en los cursos.&lt;br /&gt;
* &#039;&#039;&#039;Gráficas&#039;&#039;&#039;: Aquí se pueden añadir gráficas al informe basadas en las columnas del informe y los valores.&lt;br /&gt;
* &#039;&#039;&#039;Ver informes&#039;&#039;&#039;: Auto explicativa&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
&lt;br /&gt;
=== Como crear un informe de usuario ===&lt;br /&gt;
&lt;br /&gt;
Requisitos: &#039;&#039;Usuarios de España, pero no de Madrid, en este curso. Este informe se puede ver sólo por usuarios de España. Hay que visualizar un filtro basado en la ciudad del usuario. Se pide mostrar una gráfica de tarta con las ciudades de los usuarios. Se pide una tabla calculada que muestre el total de vistas de mensajes de foros El informe debe ordenarse por el apellido de los usuarios&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
¡Veamos qué fácil es!&lt;br /&gt;
&lt;br /&gt;
# Primero de todo, instale el bloque.&lt;br /&gt;
# Vaya al curso donde se quiere crear el informe.&lt;br /&gt;
# Añada una instancia del bloque &amp;quot;Informes personalizados&amp;quot;.&lt;br /&gt;
# Pulse en &amp;quot;Gestionar informes&amp;quot;.&lt;br /&gt;
# Pulse en &amp;quot;Añadir informe&amp;quot;.&lt;br /&gt;
# Introduzca un nombre, una descripción y elija &amp;quot;Informes de usuarios&amp;quot; como tipo de informe.&lt;br /&gt;
# Opcionalmente puede marcar las casillas &amp;quot;Exportar en formato ODS&amp;quot; y &amp;quot;Exportar en formato XLS&amp;quot; si desea poder exportar el informe en alguno de estos formatos.&lt;br /&gt;
# Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Se guardará el informe y se le redirigirá a la pestaña denominada &amp;quot;Columnas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir columnas ====&lt;br /&gt;
&lt;br /&gt;
Aquí se puede efinir las propiedades de la tabla del informe como anchura, alineación, relleno de las celdas, espaciados de las celdas, etc.&lt;br /&gt;
&lt;br /&gt;
# Añada una columna de tipo &amp;quot;Campo del perfiel de usuario&amp;quot;&lt;br /&gt;
# Teclee un nombre para esta columna y en el desplegable llamado &amp;quot;Columna&amp;quot; elija el valor &amp;quot;firstname&amp;quot;. Puede dejar en blanco el resto de elementos. Pulse sobre el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Repita el proces para los campos &amp;quot;lastname&amp;quot; y &amp;quot;city&amp;quot;.&lt;br /&gt;
# Añada una nueva columna de tipo &amp;quot;Acciones de usuario en el módulo&amp;quot;.&lt;br /&gt;
# Teclee un nombre parae esta columna y elija un módulo de la lista, en nuestro caso, el foro sobre el que queremos elaborar el informe. Pulse sobre el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
==== Añadir condiciones ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Condiciones&amp;quot;.&lt;br /&gt;
# Añada una condición del tipo &amp;quot;Condición sobre campo de perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoga la columna &amp;quot;country&amp;quot; de la lista desplegable, el operador &amp;quot;=&amp;quot; e introduzca el valor &amp;quot;ES&amp;quot; (este es el código internacional para España tal y como lo almancena Moodle internamente). Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Añada una nueva condición del tipo &amp;quot;Condición sobre campo de perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;city&amp;quot;, el operador &amp;quot;&amp;lt;&amp;gt;&amp;quot; e introduzca el valor &amp;quot;Madrid&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Añada una condición del tipo &amp;quot;Usuarios en el curso donde se ha creado el informe&amp;quot; y escoja el valor &amp;quot;Student&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Estas son las condiciones principales del informe. Note que en la parte inferior hay una caja de texto llamada &amp;quot;Condición lógica&amp;quot; con el texto:&lt;br /&gt;
&lt;br /&gt;
  c2 and c1 and c3&lt;br /&gt;
&lt;br /&gt;
Aquí se puede definir una condición lógica cualquiera. En este caso no necesitamos editar esta condición, pero puede crear expresiones complejas como:&lt;br /&gt;
&lt;br /&gt;
  (c1 and c2) or (c4 and c3)&lt;br /&gt;
&lt;br /&gt;
==== Añadir ordenación ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Ordenación&amp;quot;.&lt;br /&gt;
# Añada una ordenación del tipo &amp;quot;Ordenación por campo de usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;lastname&amp;quot; y la ordenación &amp;quot;ASC&amp;quot; (ascendente). Pulse &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir filtros ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Filtros&amp;quot;.&lt;br /&gt;
# Añáda un filtro del tipo &amp;quot;Filtro sobre campo del perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja el campo &amp;quot;city&amp;quot;. Pulse &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Añadir permisos ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Permisos&amp;quot;.&lt;br /&gt;
# Añada un permiso del tipo &amp;quot;Valor en el perfil del usuario&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;country&amp;quot; e introduzca el valor &amp;quot;ES&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Aquí puede añadir más tipos de permisos y la condición lógica que debe cumplirse en caso de tener más un tipo de permiso.&lt;br /&gt;
&lt;br /&gt;
==== Añadir cálculos ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Cálculos&amp;quot;.&lt;br /&gt;
# Añada un cálculo de tipo &amp;quot;Suma&amp;quot;.&lt;br /&gt;
# Escoja la columna que representa la acción del usuario en el módulo (en nuestro caso el foro).&lt;br /&gt;
&lt;br /&gt;
==== Añadir gráficas ====&lt;br /&gt;
&lt;br /&gt;
# Pulse en la pestaña &amp;quot;Gráficas&amp;quot;.&lt;br /&gt;
# Elija el tipo de gráfico &amp;quot;Tarta&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;city&amp;quot; tanto para la opción &amp;quot;Nombre&amp;quot; como para la opción &amp;quot;Valor&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Por último, añada unos cuantos usuarios en Moodle con el país &amp;quot;España&amp;quot; y diferentes ciudades: Madrid, Barcelona, Sevilla, etc. y pruebe a visualizar el informe pulsando en la pestaña &amp;quot;Ver informe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Si ha habilitado las opciones de exportar el informe en alguno de los formatos , podrá descargarlo pulsando sobre los enlaces que aparecen en la parte inferior del informe.&lt;br /&gt;
&lt;br /&gt;
[[#Informe_de_usuarios | Ver pantalla mostrando el informe]]&lt;br /&gt;
&lt;br /&gt;
=== Crear un informe SQL ===&lt;br /&gt;
&lt;br /&gt;
Puede encontrar un montón de informes SQL aquí: [https://docs.moodle.org/en/ad-hoc_contributed_reports ad-hoc contributed reports]&lt;br /&gt;
&lt;br /&gt;
Puesto que este bloque puede utilizar los informes de consultas SQL personalizadas de Tim Hunt, puede utilizar cualquier consulta.&lt;br /&gt;
&lt;br /&gt;
Recuerde añadir un filtro de tipo &amp;quot;Filtro de fechas&amp;quot; si va a usar informes con valores temporales.&lt;br /&gt;
&lt;br /&gt;
Para crear un informe de este tipo:&lt;br /&gt;
&lt;br /&gt;
# Pulse en el enlace &amp;quot;Gestionar informes&amp;quot; del bloque de informes personalizados&lt;br /&gt;
# Pulse en &amp;quot;Añadir informe&amp;quot;.&lt;br /&gt;
# Introduzca un nombre y una descripción para el informe y seleccione &amp;quot;Informe SQL&amp;quot; como el tipo del informe.&lt;br /&gt;
# Opcionalmente puede marcar las casillas &amp;quot;Exportar en formato ODS&amp;quot; y &amp;quot;Exportar en formato XLS&amp;quot; si desea poder exportar el informe en alguno de estos formatos.&lt;br /&gt;
# Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Se guardará el informe y se le redirigirá a la pestaña denominada &amp;quot;Sentencia SQL&amp;quot;.&lt;br /&gt;
# Añada esta consulta (&#039;&#039;Actividad de los cursos&#039;&#039;):&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id&lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
y pulse el botón &amp;quot;Guardar cambios&amp;quot;.&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Cálculos&amp;quot;.&lt;br /&gt;
# Añada un cálculo de tipo &amp;quot;Suma&amp;quot; y escoja la columna &amp;quot;hits&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Gráficas&amp;quot;.&lt;br /&gt;
# Elija el tipo de gráfico &amp;quot;Tarta&amp;quot;.&lt;br /&gt;
# Escoja la columna &amp;quot;hits&amp;quot; tanto para la opción &amp;quot;Nombre&amp;quot; como para la opción &amp;quot;Valor&amp;quot;. Pulse el botón &amp;quot;Agregar&amp;quot;.&lt;br /&gt;
# Pruebe a visualizar el informe pulsando en la pestaña &amp;quot;Ver informe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ahí lo tiene, un informe con una gráfica y cálculos basados en una consulta SQL.&lt;br /&gt;
&lt;br /&gt;
Puede añadir un filtro de cursos, es muy sencillo:&lt;br /&gt;
&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Filtros&amp;quot; y añada un filtro de tipo &amp;quot;Cursos&amp;quot;.&lt;br /&gt;
# Edite la consulta SQL y ponga lo siguiente:&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id &lt;br /&gt;
%%FILTER_COURSES:l.course%% &lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Observe que estamos añadiendo un token llamado %%FILTER_COURSES:l.courseid%% &lt;br /&gt;
# Vaya a la pestaña &amp;quot;Ver informe&amp;quot; y verá un filtro de cursos. Elija un curso y pulse en &amp;quot;Añadir&amp;quot; para ver el informe filtrado por ese curso.&lt;br /&gt;
&lt;br /&gt;
También puede añadir un filtro de tipo &amp;quot;Filtro de fechas&amp;quot; para filtrar por fecha de inicio y fin:&lt;br /&gt;
&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Filtros&amp;quot; y añada un filtro de tipo &amp;quot;Filtro de fechas&amp;quot;.&lt;br /&gt;
# Edite la consulta SQL y ponga lo siguiente:&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) AS hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id &lt;br /&gt;
%%FILTER_COURSES:l.course%% &lt;br /&gt;
%%FILTER_STARTTIME:l.time:&amp;gt;%% %%FILTER_ENDTIME:l.time:&amp;lt;%% &lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Observe que estamos añadiendo un token llamado %%FILTER_STARTTIME:l.time:&amp;gt;%% %%FILTER_ENDTIME:l.time:&amp;lt;%%&lt;br /&gt;
# Vaya a la pestaña &amp;quot;Ver informe&amp;quot; y verá también un filtro para indicar la fecha de inicio y fin a usar para el informe.&lt;br /&gt;
&lt;br /&gt;
[[#Informe_SQL | Ver pantalla mostrando el informe]]&lt;br /&gt;
&lt;br /&gt;
== Opciones avanzadas ==&lt;br /&gt;
=== Plantillas ===&lt;br /&gt;
&lt;br /&gt;
Se puede personalizar el informe usando una plantilla. Sólo hace falta ir a la pestaña llamada &amp;quot;Plantilla&amp;quot; y habilitarla, y a continuación rellenar cada una de las partes de la plantilla (cabecera, plantilla para un registro y pie)&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de código HTML para visualizar una lista de usuarios:&lt;br /&gt;
&lt;br /&gt;
Cabecera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;##reportname##&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;60%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plantilla para un registro:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&amp;quot;http://tu.sitio.moodle.es/user/pix.php/[[id]]/f1.jpg&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;h2&amp;gt;[[firstname]] [[lastname]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
Ciudad: [[city]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
##graphs## &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
##exportoptions##&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Informes incrustados ===&lt;br /&gt;
Un informe incrustado consiste en un juego de columnas de un informe que están incrustadas entro.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, puede incrustar un informe de usuario en un informe de curso. En este caso, las filas resultantes del curso se expandirán duplicando cada fila para cada usuario.&lt;br /&gt;
&lt;br /&gt;
Para incrustar un informe, simplemente añada una nueva columna de tipo &amp;quot;Columna de otro informe&amp;quot;. Aparecerá una lista de informes existentes. Una vez seleccionado uno aparecerá la lista de columnas de dicho informe para que podamos escoger la deseada.&lt;br /&gt;
&lt;br /&gt;
Dentro de un informe de curso se puede incrustar un informe de usuario y viceversa. No es posible sin embargo incrustar informes de curso dentro de informes de curso, o informes de usuario dentro de informes de usuario.&lt;br /&gt;
&lt;br /&gt;
== Documentación para desarrolladores ==&lt;br /&gt;
&lt;br /&gt;
Es muy fácil crear nuevos tipos de informes, componentes y plugins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Informe&#039;&#039;&#039;: Un informe es un directorio ubicado dentro de /reports (con respecto al directorio de instalación del bloque). Este directorio contiene un fichero llamado report.class.php con la definición de la clase hija que extiende de report_base.&lt;br /&gt;
&lt;br /&gt;
Sólo necesita modificar unos pocos métodos para añadir un nuevo tipo de informe. Por favor, eche una ojeada a cualquiera de los informes existentes. El informe SQL es un ejemplo de un informe no típico, mientras que los informes de usuarios y cursos son informes estándar.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo informe es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Componente&#039;&#039;&#039;: Un componente es parte de un informe, y puede ser usado por más de un informe. Además es un directorio ubicado dentro de /components (con respecto al directorio de instalación del bloque). Este directorio contiene un fichero llamado component.class.php con la definición de la clase hija que extiende de component_base.&lt;br /&gt;
&lt;br /&gt;
El componente princial es el componente llamado &amp;quot;columns&amp;quot;, que se usa para añadir las columnas de un informe. Otros componentes son los filtros, permisos, gráficas, cálculos, etc.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo componente es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plugin&#039;&#039;&#039;: Un plugin es un módulo de un componente. Además es un directorio ubicado dentro de /components/nombre-del-componente/. Este directorio contiene un fichero llamado plugin.class.php con la definición de la clase hija que extiende de plugin_base.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el componente columna tiene unos pocos plugins (coursefield, userfield, etc..).&lt;br /&gt;
&lt;br /&gt;
Un plugin funciona normalmente para un único tipo de informe, pero existen plugins que funcionan para más de un tipo de informe.&lt;br /&gt;
&lt;br /&gt;
La mejor manera de crear un nuevo plugin es duplicando uno existente.&lt;br /&gt;
&lt;br /&gt;
== Créditos ==&lt;br /&gt;
Juan Leyva [http://moodle.org/user/view.php?id=49568&amp;amp;course=1 Perfil de Moodle]&lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/jleyvadelgado Sígueme en Twitter]&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
== Pantallazos ==&lt;br /&gt;
=== Informe de usuarios ===&lt;br /&gt;
[[Image:block_custom_reports_sample_user_report.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Informe SQL ===&lt;br /&gt;
[[Image:block_custom_reports_sample_sql_report.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[en:blocks/custom_reports]]&lt;/div&gt;</summary>
		<author><name>Jleyva</name></author>
	</entry>
</feed>