Skip to content
This repository has been archived by the owner on Feb 25, 2024. It is now read-only.

Commit

Permalink
Merge branch 'release/4.0.1' into 'master'
Browse files Browse the repository at this point in the history
Release/4.0.1

See merge request Apps/ILIAS-Pegasus!80
  • Loading branch information
Jonathan Gerber committed May 13, 2020
2 parents 7c49969 + 60a099d commit 3b06771
Show file tree
Hide file tree
Showing 5 changed files with 217 additions and 190 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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
132 changes: 75 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
<https://developer.android.com/studio/index.html>


#### 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
Expand All @@ -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.
<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.
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
Expand All @@ -64,32 +79,50 @@ 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
```


### Debug Build

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
Expand All @@ -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 -->

### 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 [email protected] \
--variable API_KEY_FOR_ANDROID="YOUR API KEY ANDROID GOES HERE" \
--variable API_KEY_FOR_IOS= "YOUR API KEY IOS GOES HERE"
```


### Build With
Expand All @@ -181,9 +187,16 @@ ionic cordova plugin add [email protected] \
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
[[email protected]](mailto://[email protected])
<https://studer-raimann.ch>

[[email protected]](mailto://[email protected])
<https://ilias-pegasus.de>

## License

This project is licensed under the GNU GPLv3 License - see the [LICENSE.md](LICENSE.md) file for details.
Expand All @@ -195,6 +208,11 @@ Please check the [package.json](package.json) or run the command bellow to see a
npm la --depth 0
```

### Contact
[[email protected]](mailto://[email protected])
<https://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.
Loading

0 comments on commit 3b06771

Please sign in to comment.