From 80c5b51cfa1db6eaf06b0bcff8a1570453a21178 Mon Sep 17 00:00:00 2001 From: Jonathan Gerber Date: Tue, 12 May 2020 11:29:46 +0200 Subject: [PATCH 1/4] fixed WebView Issues on Android --- config.xml | 2 +- package-lock.json | 14 +++++++------- package.json | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/config.xml b/config.xml index e705cb0c..647a7e7d 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - + ILIAS Pegasus Download, sync and store ILIAS-files on your device studer + raimann ag diff --git a/package-lock.json b/package-lock.json index fa67b952..e98fe049 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ilias-pegasus", - "version": "4.0.0", + "version": "4.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2859,9 +2859,9 @@ } }, "@ionic-native/in-app-browser": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.18.0.tgz", - "integrity": "sha512-MO+uZwVRjWYj4cs+0+AbDY5HwqfGEAJenVG4VeZJ9P7APvp/RH6RxZFTKoaO6Bpd4QwrfHmoUGNk807c+nvmaw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.25.0.tgz", + "integrity": "sha512-Qltmdc2T86ScYa2U0ecI/zncMqLKQgEzYjvpqV/X0EPn6arJRsgS1Ql4ioXrDi93jL/MFm8iWrIdJ0q369IZPg==", "requires": { "@types/cordova": "^0.0.34" }, @@ -2874,9 +2874,9 @@ } }, "@ionic-native/ionic-webview": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@ionic-native/ionic-webview/-/ionic-webview-5.18.0.tgz", - "integrity": "sha512-zChEHVG33ho0hmVFifFjXV1dE1jZgyUpdEtARdr0SL6HoUwS4IY5wEwsglOPSZPil9SP3pjHMpgdkuyXaICUHA==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@ionic-native/ionic-webview/-/ionic-webview-5.25.0.tgz", + "integrity": "sha512-wsSvwz2THFOjsNiaZJMSP23V7aekLbpX9eXTbKuZ75N7CvpaQsNorHlCJ9h1oUhvLZ0PMGnm3mZpbwLNzbzUVw==", "requires": { "@types/cordova": "^0.0.34" }, diff --git a/package.json b/package.json index d7218207..ed16e060 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "author": "studer-raimann ag", "homepage": "https://studer-raimann.ch/", "private": true, - "version": "4.0.0", + "version": "4.0.1", "scripts": { "start": "ionic cordova emulate", "build:release:ios": "NODE_OPTIONS=--max_old_space_size=4096 ionic cordova build ios --release --prod --device", @@ -32,8 +32,8 @@ "@ionic-native/file": "^5.18.0", "@ionic-native/file-opener": "^5.18.0", "@ionic-native/http": "^5.18.0", - "@ionic-native/in-app-browser": "^5.18.0", - "@ionic-native/ionic-webview": "^5.18.0", + "@ionic-native/in-app-browser": "^5.25.0", + "@ionic-native/ionic-webview": "^5.25.0", "@ionic-native/network": "^5.18.0", "@ionic-native/splash-screen": "^5.18.0", "@ionic-native/sqlite": "^5.18.0", From 7954325a85bd951a833c9c9b20668542cdf3a639 Mon Sep 17 00:00:00 2001 From: Jonathan Gerber Date: Tue, 12 May 2020 12:02:25 +0200 Subject: [PATCH 2/4] updated confif --- config.xml | 244 ++++++++++++++++++++++++++--------------------------- 1 file changed, 122 insertions(+), 122 deletions(-) diff --git a/config.xml b/config.xml index 647a7e7d..d1a6c70c 100644 --- a/config.xml +++ b/config.xml @@ -1,140 +1,140 @@ - - + + ILIAS Pegasus Download, sync and store ILIAS-files on your device studer + raimann ag - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + To locate you - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - - - - - - - - + + + + + + + + - + - + - + - - + + \ No newline at end of file From e13bca0079ceca0d6b6694c365f185bb8ac64636 Mon Sep 17 00:00:00 2001 From: Jonathan Gerber Date: Wed, 13 May 2020 12:29:24 +0200 Subject: [PATCH 3/4] updated Readme and Changelog --- CHANGELOG.md | 11 ++++- README.md | 122 +++++++++++++++++++++++++++++---------------------- 2 files changed, 79 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc2d6e0f..858d6a85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [4.0.1] 2020-05-13 + +### Changed 🚀 +- Removed old WebView using WK WebView only (see config.xml) +- Update InAppBrowser and it's dependecies. + +### Fixed 🦀 +- Some minor Visuale issues in obeject list + ## [4.0.0] - 2019-11-05 ### Added 👍 - MapBox support for "Learnplaces" @@ -20,7 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump up to Ionic 4 ### Fixed 🦀 --Crash on +-Crash on Learnplace Open. ### Removed 👎 - GoogleMaps Support diff --git a/README.md b/README.md index 2ebf466b..7a34a337 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,15 @@ 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. +It's main focus is to make files offline available to read them while offline. Check https://ilias-pegasus.de for more information. [![Build status](https://dev.azure.com/studer-raimann/ILIAS-Pegasus/_apis/build/status/ILIAS-Pegasus-CI)](https://dev.azure.com/studer-raimann/ILIAS-Pegasus/_build/latest?definitionId=1) ## Getting Started -These instructions will get the ILIAS Pegasus app up and running. +These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. ### Prerequisites -The following tools are needed to build and deploy the app. +The following tools are needed to build and deploy the app. Ionic CLI: ```bash @@ -22,10 +22,17 @@ Cordova CLI: npm install -g cordova ``` +Xcode: +Install xcode over the apple app store. + +Android Studio: +Install Android Studio from google. + + + #### iOS Development A 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 ```bash @@ -50,12 +57,16 @@ Install Android Studio from google. 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. - -Add the path to your java runtime to the $JAVA_HOME environment variable. +Install the Java SDK from oracle. -### Install Dependencies +### Clone the project Clone the project to your workspace. + +```bash +git clone https://github.com/studer-raimann/ILIAS-Pegasus.git +cd ILIAS-Pegasus +``` +### Install Dependencies Change into the cloned project and install all dependencies. This could take several minutes. ```bash @@ -64,19 +75,25 @@ npm install ### Configure your ILIAS Installation -Copy and edit the template of s[server.config.json.template](../blob/master/branding/common/config/server.config.json.template) and add the development ILIAS +Copy and edit the template of [server.config.json.template](../blob/master/branding/common/config/server.config.json.template) and add the parameters for your 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) + +Add you Installation id to the config.json file in your brand (eg. branding/brands/vanilla/config.json). ### Install Brand +```bash +npm run setbrand -- --brand="vanilla" +``` +or + [Choose your brand, following the README.md in the branding folder.](../blob/master/branding/README.md) ### Install Platforms Install the both platforms. ```bash -ionic cordova prepare +npx ionic cordova prepare ``` @@ -84,12 +101,24 @@ ionic cordova prepare The iOS app can be build with the following command. ```bash -ionic cordova build ios +npx ionic cordova build ios +``` + +The Android can be build with the same command. +```bash +npx ionic cordova build android +``` + +### Run in Simulator/Emulator (with livereload and console output) + +The iOS app can be build with the following command. +```bash +npx ionic cordova emulate ios -lcs ``` The Android can be build with the same command. ```bash -ionic cordova build android +npx ionic cordova emulate android -lcs ``` ## Run the Tests @@ -115,60 +144,33 @@ npm run karma ## Deployment -### Configuration -Add only the productive ILIAS installations which are ready for production use. - -Move the template file if not already done. -```bash -mv src/assets/config.json.template src/assets/config.json -``` - -**Caution!** Never reuse a installation id, use a new one instead. ### iOS The iOS app can be build with the following command. ```bash -ionic cordova build ios --release --prod +npx ionic cordova build ios --prod ``` +Open your Xcode Workspace (the YourAppName.xcworkspace in ILIAS-Pegasus/Platforms/ios) and set Certifacates, your Team ID and Release it to the AppStore. + +Check here for information about Certificates: https://developer.apple.com/support/certificates/ + +And Check the ionic docs: https://ionicframework.com/docs/deployment/app-store + +As soon as you have all your profiles create an Archive in Xcode -> Product -> Archive and upload it to the Appstore. + + ### Android -There 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. ```bash -./tools/build-android.sh +npx ionic cordova build android --prod --release ``` -There 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. +Create a key, sign your application and upload it following the ionic guide: https://ionicframework.com/docs/deployment/play-store -Example with options. -```bash -ANDROID_BUILD_TOOLS_VERSION="27.0.3" \ -KEY_STORE="mystore.jks" \ -OUTPUT_DIR="./bin" \ -./tools/build-android.sh -``` + -### Troubleshoting -#### Cordova Plugin GoogleMaps -In order to use Learnplaces (Lernorte) you need the google map plugin. Use Version 2.4.6. -If allready installed another version remove the plugin: -```bash -ionic cordova plugin remove cordova-plugin-googlemaps -``` -Add it using your API Key: -```bash -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" -``` ### Build With @@ -195,6 +197,20 @@ Please check the [package.json](package.json) or run the command bellow to see a npm la --depth 0 ``` +## Authors + +This is an OpenSource project by studer + raimann ag, (https://studer-raimann.ch) + ### Contact [info@studer-raimann.ch](mailto://info@studer-raimann.ch) + + + +## ILIAS Plugin SLA + +We love and live the philosophy of Open Source Software! Most of our developments, which we develop on behalf of customers or on our own account, are publicly available free of charge to all interested parties at https://github.com/studer-raimann. + +Do you use one of our plugins professionally? Secure the timely availability of this plugin for the upcoming ILIAS versions via SLA. Please inform yourself under https://studer-raimann.ch/produkte/ilias-plugins/plugin-sla. + +Please note that we only guarantee support and release maintenance for institutions that sign a SLA. From 60a099dc5d16d496b91385df878d493fca985a1f Mon Sep 17 00:00:00 2001 From: Jonathan Gerber Date: Wed, 13 May 2020 12:46:23 +0200 Subject: [PATCH 4/4] updated Readme --- README.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7a34a337..efc362c2 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ It's main focus is to make files offline available to read them while offline. C These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. ### Prerequisites +In order to use the App your ILIAS needs to be configured first. You need 2 Plugins (also Open Source) to make your ILIAS ready for the Pegasus App: + +Follow the instructions here: https://github.com/studer-raimann/PegasusHelper + The following tools are needed to build and deploy the app. Ionic CLI: @@ -183,9 +187,16 @@ Create a key, sign your application and upload it following the ionic guide: htt We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [releases on this repository](https://github.com/studer-raimann/ILIAS-Pegasus/releases). ## Authors - +This is an OpenSource project by studer + raimann ag, (https://studer-raimann.ch) See the list of [contributors](https://github.com/studer-raimann/ILIAS-Pegasus/graphs/contributors) who participated in this project. +### Contact +[info@studer-raimann.ch](mailto://info@studer-raimann.ch) + + +[support@ilias-pegasus.de](mailto://support@ilias-pegasus.de) + + ## License This project is licensed under the GNU GPLv3 License - see the [LICENSE.md](LICENSE.md) file for details. @@ -197,15 +208,6 @@ Please check the [package.json](package.json) or run the command bellow to see a npm la --depth 0 ``` -## Authors - -This is an OpenSource project by studer + raimann ag, (https://studer-raimann.ch) - -### Contact -[info@studer-raimann.ch](mailto://info@studer-raimann.ch) - - - ## ILIAS Plugin SLA