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..efc362c2 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,19 @@ 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. +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: ```bash @@ -22,10 +26,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 +61,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 +79,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 +105,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 +148,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 @@ -181,9 +187,16 @@ ionic cordova plugin add cordova-plugin-googlemaps@2.4.6 \ 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. @@ -195,6 +208,11 @@ Please check the [package.json](package.json) or run the command bellow to see a npm la --depth 0 ``` -### 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. diff --git a/config.xml b/config.xml index e705cb0c..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 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",