Feature Wiki
Tabs
Basic Conceptual Considerations - Offline Functionalities / App
Page Overview
[Hide]1 Requirements
1.1 Goal
- Possibility to use some features without internet connection at all.
- Improved user experience on unstable or slow internet connections (mobile devices - on a train in a tunnel, etc.).
1.2 The Idea
The basic idea consists of two aspects.
- make (some parts of) ILIAS better accessible through mobile devices, while using the advantages that mobile apps (in term of content presentation, input methods, ...)
- make ILIAS, as far as possible, offline usable
- synchronize files / folders / "bigger chunks of module data" such as SCORM content in the background
- handle interactive components like forums without an active internet connection (i.e. check out existing posts/threads and create posts offline that are to be synchroniszed when a network connection is established again
1.3 Possible technological starting points
There are many ways with which the basic ideas can be realised. Here are some conceptual starting points:
- usa a combination of a thin frame app and the "single page application" approach
- use the (in terms of size) limited HTML 5 browser cache for dynamic data (SCORM user tracking data, new forum post, learning progress data, ...) AND a device based app cache for static data (synchronized files, files of learning modules, videos, ...)
- all elements of ILIAS that are supposed to be handled by the app need a REST service / interface
1.4 Open Questions
- how can we reuse ILIAS templates on the client side efficiently? Or do we need additional / different types of templates?
- what client side frameworks to use?
1.5 Institutions working on / interested in this topic
- Universität Freiburg
- provide an easy way to synchronize (download) files and folders on mobile devices
- use a forum without an internet connection
2 Additional Information
- Idea / concept: (please add your name when creating this feature request)
- Interest in funding: (please indicate if you are interested/able to fund this feature)
- Maintainer: (will be set by Jour Fixe / maintainer)
- Implementation of the feature is done by (will be set by Jour Fixe / maintainer)
- Testcases by: (please add your name if you want to create the testcases for this feature)
3 Discussion
There seem to be some similarities between this feature and our current project, namely we (Universität Marburg) are currently working on a Plugin that allows to interact with an ILIAS-Installation using RESTfull-Services, see REST Service.
At the current stage of development we consider our plugin be ready to testing and to implement 'third-party' services (extensions) using our plugin as 'core'. We already provide quite a few extensions (add, delete, fetch groups, courses, etc.), although some are still a bit rough around the edges.
Long-Term we want to integrate our plugin into the ILIAS-Core (once it is fully production-ready) thus providing native REST support to (many) ILIAS features, although we are currently not working on any Jour-Fix/Pull-Request for core integration.
In addition we are also working on a mobile-app that is able to consume those RESTfull-Services. It is currently still in a rather early stage, but will focus on the "consumer-side" of ILIAS (eg. the students), with features such as browsing through the catalog, personal desktop, my courses and groups, download as well as upload files (and videos), view learning modules, etc.
Since it is powered by IONIC (HTML5, CSS3, ECMAScript 5+, Cordova), we want to build 'native' Apps for iOS, Android and Windows-Phone, as well as a pure Web-Based client (without any cordova plugins).
The initial app will be branded by Universität Marburg, but we want to make the source-code available openly at some point. (TBD)
4 Implementation
{please give a description of the final implementation and add screenshots if possible}
Test Cases
Test cases completed at {date} by {user}
- {Test case number linked to Testrail} : {test case title}
Approval
Approved at {date} by {user}.
Last edited: 20. Oct 2015, 10:09, Undisclosed