This repository has been archived by the owner on Feb 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'release/4.0.1' into 'master'
Release/4.0.1 See merge request Apps/ILIAS-Pegasus!80
- Loading branch information
Showing
5 changed files
with
217 additions
and
190 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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. | ||
<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 | ||
|
@@ -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 | ||
|
@@ -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 | ||
|
@@ -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 | ||
|
@@ -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. | ||
|
@@ -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. |
Oops, something went wrong.