ILIAS Pegasus is an app which is running on Android or iOS and integrate functions of the ILIAS learn management system. For example viewing courses or personal news. Furthermore it is possible to make files offline available to read them while offline.
These instructions will get the ILIAS Pegasus app up and running.
The following tools are needed to build and deploy the app.
Ionic CLI:
npm install -g ionicCordova CLI:
npm install -g cordovaA few additional tools are needed to run the app on an iOS device or emulator.
Install xcode over the apple app store.
Install the development cli tools with
xcode-select --installInstall ios-sim which is used to fire up the iOS emulator.
npm install -g ios-simInstall ios-deploy which is used to deploy apps on a device.
npm install ios-deployInstall Android Studio from google. https://developer.android.com/studio/index.html
Install the latest Android SDK with the Android Studio Android SDK manager. Add the root of your Android SDK to the environment variable $ANDROID_HOME.
Install the Java 8 SDK from oracle. Java 9 and 10 are not supported at the moment. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Add the path to your java runtime to the $JAVA_HOME environment variable.
Clone the project to your workspace. Change into the cloned project and install all dependencies. This could take several minutes.
npm installCopy and edit the template of sserver.config.json.template and add the development ILIAS installation. Save you configurationfile as server.config.json in branding/common/config. Add you Installation id to the config.json file in your brand (eg. branding/brands/vanilla/config.json)
Choose your brand, following the README.md in the branding folder.
Install the both platforms.
ionic cordova prepareThe iOS app can be build with the following command.
ionic cordova build iosThe Android can be build with the same command.
ionic cordova build androidThe linter can be run as shown bellow.
npm run tslintA lot of old code does not comply with the new code style rules checked by tslint, which result in a lot of warnings.
The unit tests can be run with the command shown bellow.
npm run karma:singlerunIf karma should keep running after the tests use the following command.
npm run karmaAdd only the productive ILIAS installations which are ready for production use.
Move the template file if not already done.
mv src/assets/config.json.template src/assets/config.jsonCaution! Never reuse a installation id, use a new one instead.
The iOS app can be build with the following command.
ionic cordova build ios --release --prodThere is a separate build script ./tools/build-android.sh which can be
used to build the Android release version. Execute the script in the root of the app
project. Only Linux and macOS are currently supported by the build script.
./tools/build-android.shThere is a range of environment variables which can be used to run the Android build scripts.
- ANDROID_BUILD_TOOLS_VERSION - Set the Android tools version which should be used for example "27.0.3"
- KEYSTORE_PASSWORD - The password of the keystore which is used to sign the app, the script will ask for a password if empty.
- KEY_STORE - The path to the keystore which should be used to sign the app.
- OUTPUT_DIR - The directory which will contain the signed build of the Android app.
- PROJECT_ROOT - The project root of the project which should be built, defaults to current working directory.
Example with options.
ANDROID_BUILD_TOOLS_VERSION="27.0.3" \
KEY_STORE="mystore.jks" \
OUTPUT_DIR="./bin" \
./tools/build-android.shIn order to use Learnplaces (Lernorte) you need the google map plugin. Use Version 2.4.6. If allready installed another version remove the plugin:
ionic cordova plugin remove cordova-plugin-googlemapsAdd it using your API Key:
ionic cordova plugin add cordova-plugin-googlemaps@2.4.6 \
--variable API_KEY_FOR_ANDROID="YOUR API KEY ANDROID GOES HERE" \
--variable API_KEY_FOR_IOS= "YOUR API KEY IOS GOES HERE"- Cordova - Is powering the app.
- Ionic - To build a responsive UI.
- Typescript - Helps maintaining large code bases and catch type issues early.
We use SemVer for versioning. For the versions available, see the releases on this repository.
See the list of contributors who participated in this project.
This project is licensed under the GNU GPLv3 License - see the LICENSE.md file for details.
We would also like to thank all the authors of the plugins and libraries we used! Please check the package.json or run the command bellow to see a list of all the plugins and libraries.
npm la --depth 0