Creating a custom Moodle Mobile app - MoodleMoot Spain 2014

Juan Leyva Delgado
Juan Leyva DelgadoMoodle Mobile team leader at Moodle
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
1 of 24

Recommended

Creating Moodle Mobile remote themes by
Creating Moodle Mobile remote themesCreating Moodle Mobile remote themes
Creating Moodle Mobile remote themesJuan Leyva Delgado
23.4K views13 slides
Javascript best practices by
Javascript best practicesJavascript best practices
Javascript best practicesJayanga V. Liyanage
129 views43 slides
webpack 101 slides by
webpack 101 slideswebpack 101 slides
webpack 101 slidesmattysmith
695 views17 slides
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib... by
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...mtoppa
2.8K views40 slides
Fuse- Filesystem in User space by
Fuse- Filesystem in User space Fuse- Filesystem in User space
Fuse- Filesystem in User space Danny Tseng
13.8K views57 slides
Nodejs presentation by
Nodejs presentationNodejs presentation
Nodejs presentationArvind Devaraj
8.9K views17 slides

More Related Content

What's hot

An Intro into webpack by
An Intro into webpackAn Intro into webpack
An Intro into webpackSquash Apps Pvt Ltd
1.1K views20 slides
Learn everything about IBM iNotes Customization by
Learn everything about IBM iNotes CustomizationLearn everything about IBM iNotes Customization
Learn everything about IBM iNotes CustomizationIBM Connections Developers
9.9K views48 slides
Build and run embedded apps faster from qt creator with docker by
Build and run embedded apps faster from qt creator with dockerBuild and run embedded apps faster from qt creator with docker
Build and run embedded apps faster from qt creator with dockerQt
1.2K views37 slides
dominocamp2022.t1s1.dde.pptx by
dominocamp2022.t1s1.dde.pptxdominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptxUlrich Krause
3.3K views114 slides
A jobs queue for processing tasks asynchronously by
A jobs queue for processing tasks asynchronouslyA jobs queue for processing tasks asynchronously
A jobs queue for processing tasks asynchronouslyCamptocamp
3.7K views39 slides
Webinar Migración de Forms & Reports a Oracle Cloud by
Webinar Migración de Forms & Reports a Oracle CloudWebinar Migración de Forms & Reports a Oracle Cloud
Webinar Migración de Forms & Reports a Oracle Cloudavanttic Consultoría Tecnológica
1.6K views64 slides

What's hot(20)

Build and run embedded apps faster from qt creator with docker by Qt
Build and run embedded apps faster from qt creator with dockerBuild and run embedded apps faster from qt creator with docker
Build and run embedded apps faster from qt creator with docker
Qt1.2K views
dominocamp2022.t1s1.dde.pptx by Ulrich Krause
dominocamp2022.t1s1.dde.pptxdominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptx
Ulrich Krause3.3K views
A jobs queue for processing tasks asynchronously by Camptocamp
A jobs queue for processing tasks asynchronouslyA jobs queue for processing tasks asynchronously
A jobs queue for processing tasks asynchronously
Camptocamp3.7K views
Creating Apps With .NET MAUI for iOS, Android, macOS + Windows by Brandon Minnick, MBA
Creating AppsWith .NET MAUIfor iOS, Android, macOS + WindowsCreating AppsWith .NET MAUIfor iOS, Android, macOS + Windows
Creating Apps With .NET MAUI for iOS, Android, macOS + Windows
組み込みブラウザとメディアﰀ仕様あれこれ by Masashi Umeda
組み込みブラウザとメディアﰀ仕様あれこれ組み込みブラウザとメディアﰀ仕様あれこれ
組み込みブラウザとメディアﰀ仕様あれこれ
Masashi Umeda1.2K views
An introduction to Struts 2 and RESTful applications by mrdon
An introduction to Struts 2 and RESTful applicationsAn introduction to Struts 2 and RESTful applications
An introduction to Struts 2 and RESTful applications
mrdon15.9K views
Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T... by Edureka!
Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T...Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T...
Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T...
Edureka!1K views
Quick and Easy Device Drivers for Embedded Linux Using UIO by Chris Simmonds
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Chris Simmonds21.9K views
Assignment 7 by IIUM
Assignment 7Assignment 7
Assignment 7
IIUM9K views
V12 TLS証明書管理の自動化 by Haruyuki Nakano
V12 TLS証明書管理の自動化V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化
Haruyuki Nakano11.7K views
Intro to Node.js (v1) by Chris Cowan
Intro to Node.js (v1)Intro to Node.js (v1)
Intro to Node.js (v1)
Chris Cowan1.5K views

Similar to Creating a custom Moodle Mobile app - MoodleMoot Spain 2014

UMD User's Group: DrupalCon 2011, Chicago by
UMD User's Group: DrupalCon 2011, ChicagoUMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, Chicagobrockfanning
539 views19 slides
JDay Sevilla 2015 - Mobile app development for Joomla by
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
450 views18 slides
How to build_a_mobile_site_with_drupal by
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
450 views51 slides
Intro to PhoneGap by
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGapJussi Pohjolainen
1.6K views20 slides
Android Development Primer - GDG Los Angeles by
Android Development Primer - GDG Los AngelesAndroid Development Primer - GDG Los Angeles
Android Development Primer - GDG Los AngelesGerard
389 views40 slides
Drupal in 5mins + Previewing Drupal 8.x by
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xWong Hoi Sing Edison
1.7K views41 slides

Similar to Creating a custom Moodle Mobile app - MoodleMoot Spain 2014(20)

UMD User's Group: DrupalCon 2011, Chicago by brockfanning
UMD User's Group: DrupalCon 2011, ChicagoUMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, Chicago
brockfanning539 views
How to build_a_mobile_site_with_drupal by Green For All
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupal
Green For All450 views
Android Development Primer - GDG Los Angeles by Gerard
Android Development Primer - GDG Los AngelesAndroid Development Primer - GDG Los Angeles
Android Development Primer - GDG Los Angeles
Gerard 389 views
Moodlemoot spain 2013. taller, creación de un plugin para moodle mobile by Juan Leyva Delgado
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
Juan Leyva Delgado7.8K views
Integrate Shindig with Joomla by Anand Sharma
Integrate Shindig with JoomlaIntegrate Shindig with Joomla
Integrate Shindig with Joomla
Anand Sharma2K views
Building a scalable app factory with Appcelerator Platform by Angus Fox
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
Angus Fox1.4K views
Schemaorg cmsplugins by STIinnsbruck
Schemaorg cmspluginsSchemaorg cmsplugins
Schemaorg cmsplugins
STIinnsbruck269 views
Hybridmobileapps 130130213844-phpapp02 by weeyee
Hybridmobileapps 130130213844-phpapp02Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02
weeyee597 views
Google Cloud Developer Challenge - GDG Belgaum by sandeephegde
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaum
sandeephegde2.3K views
Wireless Wednesdays: Part 2 by Teamstudio
Wireless Wednesdays: Part 2Wireless Wednesdays: Part 2
Wireless Wednesdays: Part 2
Teamstudio588 views
Flutter vs Java Graphical User Interface Frameworks - text by Toma Velev
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev40 views
Introduction to PhoneGap by Ramesh Nair
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Ramesh Nair3.9K views
Drupal User Profiles Sydney Meetup 0109 by theneemies
Drupal User Profiles Sydney Meetup 0109Drupal User Profiles Sydney Meetup 0109
Drupal User Profiles Sydney Meetup 0109
theneemies617 views
Jose l ugia 6 wunderkinder, momenta by apps4allru
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
apps4allru288 views
UX DURING MODULE INSTALLATION AND CONFIGURATION by DrupalCamp Kyiv
UX DURING MODULE INSTALLATION AND CONFIGURATIONUX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATION
DrupalCamp Kyiv68 views

More from Juan Leyva Delgado

Seven tips for mobile course design by
Seven tips for mobile course designSeven tips for mobile course design
Seven tips for mobile course designJuan Leyva Delgado
1.7K views9 slides
Customising the moodle mobile experience by
Customising the moodle mobile experienceCustomising the moodle mobile experience
Customising the moodle mobile experienceJuan Leyva Delgado
2.7K views10 slides
Mobile learning with moodle by
Mobile learning with moodleMobile learning with moodle
Mobile learning with moodleJuan Leyva Delgado
7.4K views26 slides
Moodle Mobile SCORM 1.2 player by
Moodle Mobile SCORM 1.2 playerMoodle Mobile SCORM 1.2 player
Moodle Mobile SCORM 1.2 playerJuan Leyva Delgado
4.7K views20 slides
Moodle Mobile offline features by
Moodle Mobile offline featuresMoodle Mobile offline features
Moodle Mobile offline featuresJuan Leyva Delgado
8.4K views20 slides
Mastering Moodle Web Services development by
Mastering Moodle Web Services developmentMastering Moodle Web Services development
Mastering Moodle Web Services developmentJuan Leyva Delgado
9.7K views42 slides

More from Juan Leyva Delgado(20)

Mastering Moodle Web Services development by Juan Leyva Delgado
Mastering Moodle Web Services developmentMastering Moodle Web Services development
Mastering Moodle Web Services development
Juan Leyva Delgado9.7K views
Tips for creating Moodle Mobile friendly courses sites - MoodleMoot Spain 2014 by Juan Leyva Delgado
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
Juan Leyva Delgado11.7K views
Moodle Mobile app - MoodleMoot Spain 2014 by Juan Leyva Delgado
Moodle Mobile app -  MoodleMoot Spain 2014Moodle Mobile app -  MoodleMoot Spain 2014
Moodle Mobile app - MoodleMoot Spain 2014
Juan Leyva Delgado3.5K views
Moodle mobile (MoodleMoot New Zealand 2014) by Juan Leyva Delgado
Moodle mobile (MoodleMoot New Zealand 2014)Moodle mobile (MoodleMoot New Zealand 2014)
Moodle mobile (MoodleMoot New Zealand 2014)
Juan Leyva Delgado4.9K views
Moodlemoot spain 2013. nuevos estándares de tecnologías aplicadas a la educ... by 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...
Juan Leyva Delgado23.9K views
Moodlemoot spain 2013. actualización a moodle 2 enfoque técnico by Juan Leyva Delgado
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
Juan Leyva Delgado1.4K views
Moodlemoot spain 2013. juan leyva & martin dougiamas on moodle mobile (1) by Juan 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)
Juan Leyva Delgado6.4K views
Moodle en dispositivos móviles (MoodleMoot Spain 2011) by 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)
Juan Leyva Delgado1.7K views
Moodle 2.0 Novedades (MoodleMoot Spain 2010) by Juan Leyva Delgado
Moodle 2.0 Novedades (MoodleMoot Spain 2010)Moodle 2.0 Novedades (MoodleMoot Spain 2010)
Moodle 2.0 Novedades (MoodleMoot Spain 2010)
Juan Leyva Delgado32.3K views
Libro de Calificaciones en Moodle 1.9.4 (MoodleMoot Spain 2008) by Juan 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)
Juan Leyva Delgado2.3K views
Roles en Moodle 1.9 (MoodleMoot Spain 2009) by 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)
Juan Leyva Delgado12.3K views

Recently uploaded

Meet the Bible by
Meet the BibleMeet the Bible
Meet the BibleSteve Thomason
69 views80 slides
Recap of our Class by
Recap of our ClassRecap of our Class
Recap of our ClassCorinne Weisgerber
100 views15 slides
Mineral nutrition and Fertilizer use of Cashew by
 Mineral nutrition and Fertilizer use of Cashew Mineral nutrition and Fertilizer use of Cashew
Mineral nutrition and Fertilizer use of CashewAruna Srikantha Jayawardana
52 views107 slides
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively by
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyPECB
651 views18 slides
AUDIENCE - BANDURA.pptx by
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptxiammrhaywood
131 views44 slides
A-Level Art by
A-Level ArtA-Level Art
A-Level ArtWestHatch
48 views82 slides

Recently uploaded(20)

ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively by PECB
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
PECB 651 views
AUDIENCE - BANDURA.pptx by iammrhaywood
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptx
iammrhaywood131 views
A-Level Art by WestHatch
A-Level ArtA-Level Art
A-Level Art
WestHatch48 views
When Sex Gets Complicated: Porn, Affairs, & Cybersex by Marlene Maheu
When Sex Gets Complicated: Porn, Affairs, & CybersexWhen Sex Gets Complicated: Porn, Affairs, & Cybersex
When Sex Gets Complicated: Porn, Affairs, & Cybersex
Marlene Maheu99 views
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx by ISSIP
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
ISSIP407 views
Retail Store Scavenger Hunt.pptx by jmurphy154
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptx
jmurphy15447 views
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... by Ms. Pooja Bhandare
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Ms. Pooja Bhandare166 views
Class 9 lesson plans by TARIQ KHAN
Class 9 lesson plansClass 9 lesson plans
Class 9 lesson plans
TARIQ KHAN53 views

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