Skip to content
This repository has been archived by the owner on Mar 3, 2022. It is now read-only.

mavogel/ilias-client

Repository files navigation

MIT license Travis Build Status Code Coverage Maven Central

Ilias-client: A command line client for the ilias e-Learning platform

A command line interface client for accessing (a small part of at the moment of) the SOAP interface of the Ilias e-Learning platform. The purpose was to automate recurring tasks, which can actually only be done by multiple clicks in the GUI. This takes a lot of time and lots of clicks.

 _______ __                       
|       |  |--.-----.             
|.|   | |     |  -__|             
`-|.  |-|__|__|_____|             
  |:  |                           
  |::.|                           
  `---'                           
 ___ ___     ___ _______ _______  
|   |   |   |   |   _   |   _   | 
|.  |.  |   |.  |.  1   |   1___| 
|.  |.  |___|.  |.  _   |____   | 
|:  |:  1   |:  |:  |   |:  1   | 
|::.|::.. . |::.|::.|:. |::.. . | 
`---`-------`---`--- ---`-------' 
 _______ __ __             __     
|   _   |  |__.-----.-----|  |_   
|.  1___|  |  |  -__|     |   _|  
|.  |___|__|__|_____|__|__|____|  
|:  1   |                         
|::.. . |                         
`-------'   

Table of Contents

Features

Basically the features of the ilias-client-lib is implemented. See here for more details.

  1. Remove all users from all or only some groups in one course.
  2. Remove all uploaded materials from all or only some groups in one course.
  3. Set or update a registration period in all or only some groups in one course.
  4. Set or update a maximum amount of members in all or only some groups in one course.
  5. File upload permission can be set for the group members role.
  6. Groups with its members can be passed to Velocity template and printed. Two example templates are provided in src/main/resources/templates.

Usage

You can download the built artifact from Sonatype which is preferred or built it on your own.

A jdk8 is required in both cases.

Quick start

  1. Download the latest RELEASE
  2. Create a config.properties file with the following content and fill in your data:
# The endpoint of the Ilias Webservice Port
# -> https://<ILIAS-HOST>/webservice/soap/server.php
endpoint=
#
# The mode to login: STD (for standard login) or LDAP
login.mode=LDAP
#
# Client id for login. Ask your administrator for the 'client_id'
login.client=
#
# The name of the user you want to login
login.username=
#
# If not given or empty it will be prompted on cmd line
login.password=
#
# The maximum depth to search in the tree starting from the root node
# E.g. for listing all groups in courses. Groups can be in folders.
# If not given or empty, a default value of 5 is used
maxFolderDepth=5
#
# The logging level of the application. Default is INFO if not given or empty
# Choose between: OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL
log.level=INFO
  1. Start it
# is java8 installed?
$ java -version
# navigate to the folder you downloaded the jar
$ cd ~/Downloads
# run it
$ java -jar ilias-client-1.2.0.jar config.properties

Built it on your own

This additionally requires maven.

$ git clone https://github.com/mavogel/ilias-client.git && cd ilias-client 
$ mvn clean package
$ cp config.properties.template config.properties
$ # adapt your settings 
$ vi config.properties
$ java -jar ilias-client-x.x.x.jar config.properties

Important notes

  • The WDSL of the SOAP interface, which is used to generate the Java classes, is part of the jar bundle. Hence even if you change the endpoint property on the provided file for execution, the WDSL behind this url will never be used in the tool. Hopefully all new versions of the Ilias are downgradable.
  • The WDSL used in this client is of the Ilias version 5.0.0
  • For setting a new registration date it is assumed that the Ilias server runs in the same timezone like the machine this client is running.
  • It is assumed that groups are always in folder nodes.

License

Copyright (c) 2017 Manuel Vogel
Source code is open source and released under the MIT license.

About

A command line interface client for accessing the soap interface of the ilias e-learning platform.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published