SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Creating a custom
Moodle Mobile app
Juan Leyva
Moodle Mobile Lead Developer
Daniel Palou
Moodle Mobile Developer (CV&A)
@jleyvadelgado #mootes14
● Code editor (Sublime, WebStorm, Eclipse, Netbeans...)
● Github account (http://github.com/)
● Github desktop app (http://windows.github.com/)
● PhonegapBuild account (https://build.phonegap.com/)
● Chromium browser as described here:
https://docs.moodle.org/dev/Moodle_Mobile_development_using
_Chrome_or_Chromium
● Will be a plus: Moodle Mobile Simulator:
https://docs.moodle.org/dev/Moodle_Mobile_simulator
● Will be a plus: QR reader app for Android
Requirements
Moodle Mobile is the official mobile
app for Moodle
https://download.moodle.org/mobile/
Moodle Mobile
● Custom corporate image (name, app icon,
theme, store entry)
● Add additional features or static pages
● Remove or change existing features
● Custom translation of the app
● Use your own notifications infrastructure
Why a custom app?
https://github.com/moodlehq/moodlemobile
Fork the app
You can use your favourite GIT client (or GitHub
Desktop clients)
git clone git@github.com:jleyva/moodlemobile.git
Clone the repo in your desktop
Create a new branch
about.json: Your app information
config.json: App settings
config.xml: Cordova/Phonegap settings
README.md: App info (github)
package.json: Node-webkit info
Edit the configuration files
We need to change:
● id: com.moodle.moodlemobile ->
net.moodlemoot.mootes14
● versionCode, version, and
CFBundleShortVersionString
● Name, description, author, etc…
● URL_SCHEME: mootes14
https://github.com/jleyva/moodlemobile/blob/mootes14/config.xml
config.xml
We need to change:
● app_id: Use the same that in config.xml
● versioncode, versionname: Same that config.xml
● default_lang: es
● Delete demo_sites
● Replace reportbugmail
● Add the Site URL in presets.url
https://github.com/jleyva/moodlemobile/blob/mootes14/config.json
config.json
● Overwrite the images in img/icon/ with other ones
with the same properties (alpha, width and height)
● Same for the img/splash/ directory
● Use online tools like: http://makeappicon.com/
Replace the app icons, splashscreen
That’s all folks!
● Commit your changes!
● Create an account in:
https://build.phonegap.com/
https://build.phonegap.com/apps/1211443/builds
Build the app using Phonegap Build
● For iOs you need to create certificates/provisioning
files: http://docs.build.phonegap.com/en_US/
● Android, you can download and install the .apk
Build the app using Phonegap Build
● https://docs.moodle.org/dev/Moodle_Mobile_Themes
Create a custom theme
● The theme:
https://github.com/jleyva/moodlemobile/blob/mootes1
4/plugins/mootes14/theme.css
Create a custom theme
Two options for adding the theme in the app:
1. Via Moodle settings:
2. Creating a plugin for the app. Recommended for
custom apps. (Described below).
Create a custom theme
● Remove plugins
You can easily disable some of the existing plugins,
edit the config.json and remove plugins from the
“plugins” array
● Reorder plugins
In the same “plugins” array you can reorder the
plugins list.
Remove existing features
● Edit the lang/xx.json file for replacing the
language strings used in the app.
Change the app strings
● Create a new plugin
● Inject the theme once the plugin is loaded
● This plugin can be used for replacing core
functionality, adding new static pages, etc…
● You can create multiple plugins
Plugin code:
https://github.com/jleyva/moodlemobile/tree/mootes14/plugins/mootes14
Replace the base theme
● In the plugin created for the theme, you can add
custom html templates to replace existing core
templates.
Plugin code:
https://github.com/jleyva/moodlemobile/tree/mootes14/plugins/mootes14
Change the sign-in form
● Static pages:
Add new options in the app
● Sync your fork:
https://help.github.com/articles/syncing-a-fork/
● Rebase your changes (and resolve conflicts):
git rebase master mootes14
● Upgrade your version number
● Commit your changes
● Rebuild with Phonegap build
● Publish in the store
Keep your custom version up2date
You have more information here:
https://github.com/jleyva/moodlemobile/tree/mootes14
https://build.phonegap.com/apps/1211443/builds
http://docs.moodle.org/en/Mobile_app
https://docs.moodle.org/en/Moodle_Mobile_additional_features
http://docs.moodle.org/dev/Moodle_Mobile
https://tracker.moodle.org/browse/MOBILE
Thanks for coming

Weitere ähnliche Inhalte

Was ist angesagt?

Html & Css presentation
Html  & Css presentation Html  & Css presentation
Html & Css presentation joilrahat
 
Web Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV SyllabusWeb Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV SyllabusNANDINI SHARMA
 
Micro Frontends Architecture
Micro Frontends ArchitectureMicro Frontends Architecture
Micro Frontends ArchitectureRag Dhiman
 
Python/Flask Presentation
Python/Flask PresentationPython/Flask Presentation
Python/Flask PresentationParag Mujumdar
 
Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Tech Triveni
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal BasicsJuha Niemi
 
Content management system
Content management systemContent management system
Content management systemAdhoura Academy
 
Adobe dreamweaver
Adobe dreamweaverAdobe dreamweaver
Adobe dreamweaveralya123
 
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...DevDay.org
 
Bootstrap Part - 1
Bootstrap Part - 1Bootstrap Part - 1
Bootstrap Part - 1EPAM Systems
 
Micro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoniMicro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoniSandeep Soni
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web developmentCrampete
 
Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2Knoldus Inc.
 

Was ist angesagt? (20)

Javascript Basic
Javascript BasicJavascript Basic
Javascript Basic
 
Html & Css presentation
Html  & Css presentation Html  & Css presentation
Html & Css presentation
 
Micro-frontend
Micro-frontendMicro-frontend
Micro-frontend
 
Web Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV SyllabusWeb Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV Syllabus
 
Micro Frontends Architecture
Micro Frontends ArchitectureMicro Frontends Architecture
Micro Frontends Architecture
 
Python/Flask Presentation
Python/Flask PresentationPython/Flask Presentation
Python/Flask Presentation
 
Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal Basics
 
Html5 Basic Structure
Html5 Basic StructureHtml5 Basic Structure
Html5 Basic Structure
 
Content management system
Content management systemContent management system
Content management system
 
Adobe dreamweaver
Adobe dreamweaverAdobe dreamweaver
Adobe dreamweaver
 
Css pweb
Css pwebCss pweb
Css pweb
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Javascript Basics
Javascript BasicsJavascript Basics
Javascript Basics
 
MERN PPT
MERN PPTMERN PPT
MERN PPT
 
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
 
Bootstrap Part - 1
Bootstrap Part - 1Bootstrap Part - 1
Bootstrap Part - 1
 
Micro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoniMicro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoni
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web development
 
Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2Routing & Navigating Pages in Angular 2
Routing & Navigating Pages in Angular 2
 

Ähnlich wie Creating a custom Moodle Mobile app - MoodleMoot Spain 2014

UMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, ChicagoUMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, Chicagobrockfanning
 
JDay Sevilla 2015 - Mobile app development for Joomla
JDay Sevilla 2015 - Mobile app development for JoomlaJDay Sevilla 2015 - Mobile app development for Joomla
JDay Sevilla 2015 - Mobile app development for JoomlaExtly Extensions - JoomGap
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalGreen For All
 
Android Development Primer - GDG Los Angeles
Android Development Primer - GDG Los AngelesAndroid Development Primer - GDG Los Angeles
Android Development Primer - GDG Los AngelesGerard
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xWong Hoi Sing Edison
 
Moodlemoot spain 2013. taller, creación de un plugin para moodle mobile
Moodlemoot spain 2013. taller, creación de un plugin para moodle mobileMoodlemoot spain 2013. taller, creación de un plugin para moodle mobile
Moodlemoot spain 2013. taller, creación de un plugin para moodle mobileJuan Leyva Delgado
 
Module-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxModule-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxlancelotlaytan1996
 
Integrate Shindig with Joomla
Integrate Shindig with JoomlaIntegrate Shindig with Joomla
Integrate Shindig with JoomlaAnand Sharma
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformAngus Fox
 
Schemaorg cmsplugins
Schemaorg cmspluginsSchemaorg cmsplugins
Schemaorg cmspluginsSTIinnsbruck
 
Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02weeyee
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaumsandeephegde
 
Wireless Wednesdays: Part 2
Wireless Wednesdays: Part 2Wireless Wednesdays: Part 2
Wireless Wednesdays: Part 2Teamstudio
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textToma Velev
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRamesh Nair
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump StartHaim Michael
 
Drupal User Profiles Sydney Meetup 0109
Drupal User Profiles Sydney Meetup 0109Drupal User Profiles Sydney Meetup 0109
Drupal User Profiles Sydney Meetup 0109theneemies
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momentaapps4allru
 

Ähnlich wie Creating a custom Moodle Mobile app - MoodleMoot Spain 2014 (20)

UMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, ChicagoUMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, Chicago
 
JDay Sevilla 2015 - Mobile app development for Joomla
JDay Sevilla 2015 - Mobile app development for JoomlaJDay Sevilla 2015 - Mobile app development for Joomla
JDay Sevilla 2015 - Mobile app development for Joomla
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupal
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Android Development Primer - GDG Los Angeles
Android Development Primer - GDG Los AngelesAndroid Development Primer - GDG Los Angeles
Android Development Primer - GDG Los Angeles
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
Moodlemoot spain 2013. taller, creación de un plugin para moodle mobile
Moodlemoot spain 2013. taller, creación de un plugin para moodle mobileMoodlemoot spain 2013. taller, creación de un plugin para moodle mobile
Moodlemoot spain 2013. taller, creación de un plugin para moodle mobile
 
Module-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxModule-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptx
 
Integrate Shindig with Joomla
Integrate Shindig with JoomlaIntegrate Shindig with Joomla
Integrate Shindig with Joomla
 
Getting started with android studio
Getting started with android studioGetting started with android studio
Getting started with android studio
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
Schemaorg cmsplugins
Schemaorg cmspluginsSchemaorg cmsplugins
Schemaorg cmsplugins
 
Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaum
 
Wireless Wednesdays: Part 2
Wireless Wednesdays: Part 2Wireless Wednesdays: Part 2
Wireless Wednesdays: Part 2
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
 
Drupal User Profiles Sydney Meetup 0109
Drupal User Profiles Sydney Meetup 0109Drupal User Profiles Sydney Meetup 0109
Drupal User Profiles Sydney Meetup 0109
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
 

Mehr von Juan Leyva Delgado

Seven tips for mobile course design
Seven tips for mobile course designSeven tips for mobile course design
Seven tips for mobile course designJuan Leyva Delgado
 
Customising the moodle mobile experience
Customising the moodle mobile experienceCustomising the moodle mobile experience
Customising the moodle mobile experienceJuan Leyva Delgado
 
Moodle Mobile SCORM 1.2 player
Moodle Mobile SCORM 1.2 playerMoodle Mobile SCORM 1.2 player
Moodle Mobile SCORM 1.2 playerJuan Leyva Delgado
 
Moodle Mobile offline features
Moodle Mobile offline featuresMoodle Mobile offline features
Moodle Mobile offline featuresJuan Leyva Delgado
 
Mastering Moodle Web Services development
Mastering Moodle Web Services developmentMastering Moodle Web Services development
Mastering Moodle Web Services developmentJuan Leyva Delgado
 
Moodle Mobile 2 - MoodleMoot Spain 2015
Moodle Mobile 2 -  MoodleMoot Spain 2015Moodle Mobile 2 -  MoodleMoot Spain 2015
Moodle Mobile 2 - MoodleMoot Spain 2015Juan Leyva Delgado
 
Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014
Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014
Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014Juan Leyva Delgado
 
Moodle Mobile app - MoodleMoot Spain 2014
Moodle Mobile app -  MoodleMoot Spain 2014Moodle Mobile app -  MoodleMoot Spain 2014
Moodle Mobile app - MoodleMoot Spain 2014Juan Leyva Delgado
 
Moodle mobile (MoodleMoot New Zealand 2014)
Moodle mobile (MoodleMoot New Zealand 2014)Moodle mobile (MoodleMoot New Zealand 2014)
Moodle mobile (MoodleMoot New Zealand 2014)Juan Leyva Delgado
 
Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...
Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...
Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...Juan Leyva Delgado
 
Moodlemoot spain 2013. actualización a moodle 2 enfoque técnico
Moodlemoot spain 2013. actualización a moodle 2  enfoque técnicoMoodlemoot spain 2013. actualización a moodle 2  enfoque técnico
Moodlemoot spain 2013. actualización a moodle 2 enfoque técnicoJuan Leyva Delgado
 
Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)
Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)
Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)Juan Leyva Delgado
 
Moodle en dispositivos móviles (MoodleMoot Spain 2011)
Moodle en dispositivos móviles (MoodleMoot Spain 2011)Moodle en dispositivos móviles (MoodleMoot Spain 2011)
Moodle en dispositivos móviles (MoodleMoot Spain 2011)Juan Leyva Delgado
 
Moodle Mobile (MoodleMoot Spain 2012)
Moodle Mobile (MoodleMoot Spain 2012)Moodle Mobile (MoodleMoot Spain 2012)
Moodle Mobile (MoodleMoot Spain 2012)Juan Leyva Delgado
 
Moodle 2.0 Novedades (MoodleMoot Spain 2010)
Moodle 2.0 Novedades (MoodleMoot Spain 2010)Moodle 2.0 Novedades (MoodleMoot Spain 2010)
Moodle 2.0 Novedades (MoodleMoot Spain 2010)Juan Leyva Delgado
 
Taller de mensajería bajo Jabber
Taller de mensajería bajo JabberTaller de mensajería bajo Jabber
Taller de mensajería bajo JabberJuan Leyva Delgado
 
Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)
Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)
Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)Juan Leyva Delgado
 
Roles en Moodle 1.9 (MoodleMoot Spain 2009)
Roles en Moodle 1.9 (MoodleMoot Spain 2009)Roles en Moodle 1.9 (MoodleMoot Spain 2009)
Roles en Moodle 1.9 (MoodleMoot Spain 2009)Juan Leyva Delgado
 

Mehr von Juan Leyva Delgado (20)

Seven tips for mobile course design
Seven tips for mobile course designSeven tips for mobile course design
Seven tips for mobile course design
 
Customising the moodle mobile experience
Customising the moodle mobile experienceCustomising the moodle mobile experience
Customising the moodle mobile experience
 
Mobile learning with moodle
Mobile learning with moodleMobile learning with moodle
Mobile learning with moodle
 
Moodle Mobile SCORM 1.2 player
Moodle Mobile SCORM 1.2 playerMoodle Mobile SCORM 1.2 player
Moodle Mobile SCORM 1.2 player
 
Moodle Mobile offline features
Moodle Mobile offline featuresMoodle Mobile offline features
Moodle Mobile offline features
 
Mastering Moodle Web Services development
Mastering Moodle Web Services developmentMastering Moodle Web Services development
Mastering Moodle Web Services development
 
Moodle Mobile 2 - MoodleMoot Spain 2015
Moodle Mobile 2 -  MoodleMoot Spain 2015Moodle Mobile 2 -  MoodleMoot Spain 2015
Moodle Mobile 2 - MoodleMoot Spain 2015
 
Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014
Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014
Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014
 
Moodle Mobile app - MoodleMoot Spain 2014
Moodle Mobile app -  MoodleMoot Spain 2014Moodle Mobile app -  MoodleMoot Spain 2014
Moodle Mobile app - MoodleMoot Spain 2014
 
Moodle mobile (MoodleMoot New Zealand 2014)
Moodle mobile (MoodleMoot New Zealand 2014)Moodle mobile (MoodleMoot New Zealand 2014)
Moodle mobile (MoodleMoot New Zealand 2014)
 
Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...
Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...
Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ...
 
Moodlemoot spain 2013. actualización a moodle 2 enfoque técnico
Moodlemoot spain 2013. actualización a moodle 2  enfoque técnicoMoodlemoot spain 2013. actualización a moodle 2  enfoque técnico
Moodlemoot spain 2013. actualización a moodle 2 enfoque técnico
 
Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)
Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)
Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1)
 
Moodle en dispositivos móviles (MoodleMoot Spain 2011)
Moodle en dispositivos móviles (MoodleMoot Spain 2011)Moodle en dispositivos móviles (MoodleMoot Spain 2011)
Moodle en dispositivos móviles (MoodleMoot Spain 2011)
 
Moodle Mobile (MoodleMoot Spain 2012)
Moodle Mobile (MoodleMoot Spain 2012)Moodle Mobile (MoodleMoot Spain 2012)
Moodle Mobile (MoodleMoot Spain 2012)
 
Moodle 2.0 Novedades (MoodleMoot Spain 2010)
Moodle 2.0 Novedades (MoodleMoot Spain 2010)Moodle 2.0 Novedades (MoodleMoot Spain 2010)
Moodle 2.0 Novedades (MoodleMoot Spain 2010)
 
Presentando a Python
Presentando a PythonPresentando a Python
Presentando a Python
 
Taller de mensajería bajo Jabber
Taller de mensajería bajo JabberTaller de mensajería bajo Jabber
Taller de mensajería bajo Jabber
 
Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)
Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)
Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008)
 
Roles en Moodle 1.9 (MoodleMoot Spain 2009)
Roles en Moodle 1.9 (MoodleMoot Spain 2009)Roles en Moodle 1.9 (MoodleMoot Spain 2009)
Roles en Moodle 1.9 (MoodleMoot Spain 2009)
 

Kürzlich hochgeladen

“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 

Kürzlich hochgeladen (20)

“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 

Creating a custom Moodle Mobile app - MoodleMoot Spain 2014

  • 1. Creating a custom Moodle Mobile app Juan Leyva Moodle Mobile Lead Developer Daniel Palou Moodle Mobile Developer (CV&A) @jleyvadelgado #mootes14
  • 2. ● Code editor (Sublime, WebStorm, Eclipse, Netbeans...) ● Github account (http://github.com/) ● Github desktop app (http://windows.github.com/) ● PhonegapBuild account (https://build.phonegap.com/) ● Chromium browser as described here: https://docs.moodle.org/dev/Moodle_Mobile_development_using _Chrome_or_Chromium ● Will be a plus: Moodle Mobile Simulator: https://docs.moodle.org/dev/Moodle_Mobile_simulator ● Will be a plus: QR reader app for Android Requirements
  • 3. Moodle Mobile is the official mobile app for Moodle https://download.moodle.org/mobile/ Moodle Mobile
  • 4. ● Custom corporate image (name, app icon, theme, store entry) ● Add additional features or static pages ● Remove or change existing features ● Custom translation of the app ● Use your own notifications infrastructure Why a custom app?
  • 6. You can use your favourite GIT client (or GitHub Desktop clients) git clone git@github.com:jleyva/moodlemobile.git Clone the repo in your desktop
  • 7. Create a new branch
  • 8. about.json: Your app information config.json: App settings config.xml: Cordova/Phonegap settings README.md: App info (github) package.json: Node-webkit info Edit the configuration files
  • 9. We need to change: ● id: com.moodle.moodlemobile -> net.moodlemoot.mootes14 ● versionCode, version, and CFBundleShortVersionString ● Name, description, author, etc… ● URL_SCHEME: mootes14 https://github.com/jleyva/moodlemobile/blob/mootes14/config.xml config.xml
  • 10. We need to change: ● app_id: Use the same that in config.xml ● versioncode, versionname: Same that config.xml ● default_lang: es ● Delete demo_sites ● Replace reportbugmail ● Add the Site URL in presets.url https://github.com/jleyva/moodlemobile/blob/mootes14/config.json config.json
  • 11. ● Overwrite the images in img/icon/ with other ones with the same properties (alpha, width and height) ● Same for the img/splash/ directory ● Use online tools like: http://makeappicon.com/ Replace the app icons, splashscreen
  • 13. ● Commit your changes! ● Create an account in: https://build.phonegap.com/ https://build.phonegap.com/apps/1211443/builds Build the app using Phonegap Build
  • 14. ● For iOs you need to create certificates/provisioning files: http://docs.build.phonegap.com/en_US/ ● Android, you can download and install the .apk Build the app using Phonegap Build
  • 17. Two options for adding the theme in the app: 1. Via Moodle settings: 2. Creating a plugin for the app. Recommended for custom apps. (Described below). Create a custom theme
  • 18. ● Remove plugins You can easily disable some of the existing plugins, edit the config.json and remove plugins from the “plugins” array ● Reorder plugins In the same “plugins” array you can reorder the plugins list. Remove existing features
  • 19. ● Edit the lang/xx.json file for replacing the language strings used in the app. Change the app strings
  • 20. ● Create a new plugin ● Inject the theme once the plugin is loaded ● This plugin can be used for replacing core functionality, adding new static pages, etc… ● You can create multiple plugins Plugin code: https://github.com/jleyva/moodlemobile/tree/mootes14/plugins/mootes14 Replace the base theme
  • 21. ● In the plugin created for the theme, you can add custom html templates to replace existing core templates. Plugin code: https://github.com/jleyva/moodlemobile/tree/mootes14/plugins/mootes14 Change the sign-in form
  • 22. ● Static pages: Add new options in the app
  • 23. ● Sync your fork: https://help.github.com/articles/syncing-a-fork/ ● Rebase your changes (and resolve conflicts): git rebase master mootes14 ● Upgrade your version number ● Commit your changes ● Rebuild with Phonegap build ● Publish in the store Keep your custom version up2date
  • 24. You have more information here: https://github.com/jleyva/moodlemobile/tree/mootes14 https://build.phonegap.com/apps/1211443/builds http://docs.moodle.org/en/Mobile_app https://docs.moodle.org/en/Moodle_Mobile_additional_features http://docs.moodle.org/dev/Moodle_Mobile https://tracker.moodle.org/browse/MOBILE Thanks for coming