Code Monkey home page Code Monkey logo

learnplaces's Introduction

Learnplaces

Learnplaces 2 is a ground up rewritten drop in replacement of the old learnplaces plugin.

Requirements

  • Version: ILIAS 6 or 7
  • PHP 7.2 - 7.4

Compatibility Table

Plugin Version ILIAS Versions PHP Versions
v1.X 5.2 - 5.3 7.0
v2.X 5.3 - 5.4 7.0 - 7.2
v3.X 5.4 - 6 7.0 - 7.4
v4.X 6 - 7 7.2 - 7.4

Installation

Composer

The latest composer 1.x release can be downloaded here https://getcomposer.org/composer-1.phar

Plugin

Start at your ILIAS root directory

mkdir -p Customizing/global/plugins/Services/Repository/RepositoryObject  
cd Customizing/global/plugins/Services/Repository/RepositoryObject
git clone https://github.com/studer-raimann/Learnplaces.git
cd ./Learnplaces
php composer.phar install --no-dev

As ILIAS administrator go to "Administration->Plugins" and install/activate the plugin.

Check the PHP requirements

cd Customizing/global/plugins/Services/Repository/RepositoryObject/Learnplaces
sphp compoer.phar check-platform-reqs --no-dev

The output should look similar to this:

ext-fileinfo  7.4.11    success  
php           7.4.11    success 

Update

Composer

Update composer to the latest 1.x version.

Composer update guide https://getcomposer.org/doc/03-cli.md#self-update-selfupdate-

Plugin

Start at your ILIAS root directory

cd Customizing/global/plugins/Services/Repository/RepositoryObject/Learnplaces
git pull
php composer.phar install --no-dev

As ILIAS administrator go to "Administration->Plugins" and update/activate the plugin.

ILIAS Configuration

Map

The map integration of the plugin has to be enable in ILIAS in order to use it without warnings.

  • Login as administrator into ILIAS
  • Navigate to Administration > Third Party Software
  • Select the sub tab of the Settings tab
  • Enable your preferred map implementation.
  • Save the configuration changes

Rich text editing

ILIAS uses a third party rich text editor called TinyMCE which must be enabled in order to use the rich text editing functionality of the plugin.

  • Login as administrator into ILIAS
  • Navigate to Administration > Editing
  • Navigate into the TinyMCE Editor tab
  • Tick the option "Enable TinyMCE for WYSIWYG Editing"
  • Save the configuration changes

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the GNU GPLv3 License - see the LICENSE.md file for details.

Acknowledgments

composer

wapmorgan/file-type-detector

sabre/uri

league/flysystem

intervention/image

phpunit/phpunit

mockery/mockery

Maintenance

fluxlabs ag, [email protected]

This project is maintained by fluxlabs.

learnplaces's People

Contributors

billedtrain380 avatar chfsx avatar dependabot[bot] avatar emokross avatar fluxdw avatar mhilbert avatar mstuder avatar rfcmaxi avatar

Watchers

 avatar  avatar

learnplaces's Issues

Interaktive Lernorte: Lernorte über de App anlegen

Feature Idee: https://docu.ilias.de/goto.php?target=wiki_6052_Lernorte_in_der_App_anlegen

Die App prüft für den aktuellen Kontext das Recht "Lernort anlegen".
Es soll möglich sein als Lernender einen Lernort direkt aus der App heraus anlegen zu können.
Die GPS-Koordinaten sollten automatisch aus den aktuellen Standortdaten übernommen werden: aktueller Standort wird als Ausgangspunkt auf der Karte angezeigt und die Koordinaten werden übernommen. Die verwendeten Koordinaten können über einen Kartenpcker rejustiert werden.
Es soll möglcih sein einen Titel, eine kurze Beschreibung und ein Foto von dem Lernort direkt über die App hinzufügen zu können.
Die Lernorte können über den Browser nachbearbeitet werden.

Karte Info Message

Wenn noch keine Karte gespeichert wurde, sollte eine Info-Box erscheinen, welche darauf hinweist, dass die Karte noch nicht gespeichert wurde.

image-5

QR Code in der APP

Lernorte stellen einen QR Core für das Checkin zur Verfügung

im Browser aufgerufen, führt dieser zur zum Lernort, führt die Aktion aus und bestätigt dies dem Nutzer auf der entsprechenden Lernorte-Seite

Aufgerufen in der App wird die Aktion im Hintergrund aufgerufen und dem Benutzer in der App bestätigt. z.B. Check-In ohne GPS Fix)

Lokale Karte

Anforderung von unifreiburg

  1. das Lernorte Plugin erhält die Möglichkeit eine lokale Karte hochzuladen (dies könnte auch bei GPS Lernorten sinnvoll sein um eine Karte auch im Offline-Fall anzubieten) - für den QR Code Modus könnte dies dann z.B. ein Grundriss des Raumes sein auf dem man einen Marker positionieren kann - Indoor Navigation ist damit dann allerdings nicht möglich
  2. Lernort-übergreifende lokale Karte: zu klären wäre, ob man die gleiche Karte auch für mehrere Lernorte nutzbar machen kann / oder ob das separat gelöst werden muss, damit man aller Lernorte im Raum auf eine Übersichtskarte platzieren kann

QR-Code Check-In

  1. das Lernorte Plugin bietet eine Funktion an um Check-In QR Codes für einen Lernort zu erzeugen, die bei einem Aufruf direkt zum Lernort in der App führen, diesen laden und "freischalten" (ähnlich wie "Nutzer im innerhalb des GPS Radius")

  2. die App erhält einen prominent sichtbaren Button zum Scannen von QR-Codes

FileHandling

Derzeit legt das Lernorte-Plugin die Daten im Data-Verzeichnis direkt als Unterordner als
xsrl_837382134
xsrl_798739445
...
an. Diese muessten in Unterverzeichnisse abgelegt werden.

Diskussionstab

Das Lernorte Plugin erhält ein neues Tab "Diskussion" neben dem Tab "Inhalt" auf dem der Content angezeigt wird.
Die Diskussion verläuft als eindimensionaler Thread, welcher pro Diskussionbeitrag Antworten (alle gleichwertig und nach Datum sortiert) zulässt

image

Diskussionsbeiträge haben einen Besitzer. Ein Besitzer kann seinen Diskussionsbeitrag bearbeiten - jedoch NICHT löschen.

Benutzer mit Schreibrechten auf einen Lernort
...können Diskussionsbeiträge bearbeiten und löschen. Nach betätigten der Lösch-Schaltfläche wird der Benutzer zusätzlich gefragt, ob er den Beitrag inkl. [N] Anworten gelöscht werden soll.
Wird ein Dikussionbeitrag gelöscht, werden auf die Antworten gelöscht.
...können einzelne Antworten löschen und Bearbeiten.

Bilder
Bei jedem Bild, welches hochgeladen wird, wird ein "Thumbnail" erzeugt. Dieses "Thumbnail" wird dann im Diskussionsbeitrag im Lernorte-Plugin sowie auch bei der App dargestellt. Mit einer Lupen-Funktion kann man sich die Original-Variante anzeigen (und somit herunterladen).
Thumbnail-Parameter: Kleinste Kannte 600px (falls dies ungünstig ist, ändern wir den Parameter entsprechend während der Entwicklung). Verwende hier imagemagick

Melde-Funktion
Diskussionsbeiträge können gemeldet werden. Beiträge, welche gemeldet werden, werden ausgeblendet. Die in der Pluginadministration hinterlegten E-Mail-Adressen werden benachrichtigt. Ein Benutzer, welche diese Melde-Funktion ausführt wird darüber informiert, dass seine Meldung dazu führt, dass der Beitrag ausgeblendet wird. Er bestätigt dies mit OK oder lehnt Abbrechen.
ILIAS-Administratoren und Benutzer, welche Schreibrechte auf auf den Lernort haben sehen diese ausgeblendeten Beiträge sowie wer diese Beiträge gemeldet hat und können diese wieder einblenden.

Einstellungen
image-2

learnorte pwa

ToDo's 24.11.2022 / mk, rf, mst

  • Gruppen sollten noch berücksichtigt werden; aktuell wird nur auf Lernorten innerhalb/unterhalb von Kursen geprüft
  • Aufteilung von "Courses" und "Groups". Angezeigt als Buttons nebeneinander. Ein Lernort innerhalb einer Gruppe innerhalb einem Kurs würde dann in beiden Dropdowns angezeigt werden.
  • Ggf. wäre es besser, wenn man nur einen Button hätte "Courses and Groups" und darin liegende Pfade angezeigt werden. Hier wären Glyphen für die Unterscheidung nützlich.
  • Im Cache-Speicher muss die User-ID berücksichtigt werden
  • Lernorte scheinen nicht genu zum User zu passen.
  • Der aktuelle Kontext soll besser berücksichtigt werden. Was genau ist unter "aktueller Kontext" gemeint?
  • In den Lernorten wird aktuell die Karte des Kurses angezogen; wenn dies nicht aktiviert ist, wird die Weltkarte angezogen.
  • Welche Karte soll stattdessen angezogen werden?
  • "ILIAS erweitern, Software von Drittanbietern -> Karten aktivieren"
  • Es gibt aktuell keine Links zurück zu ILIAS aus dem Lernort.
  • Einführung eines Filters bei "Learnplaces" ganz oben.
  • Größe des notwendigen Radius nicht ganz klar - weil die Kreise sonst sehr groß sind
  • Kleiner Radius immer gut sichtbar, zusätzlicher "Check-In Radius" aber durchsichtig drüberlegen.
  • Lernorte sind aktuell auf der Map anklickbar. Hier kommt dann ein Link rein.
  • Play soll zum Lernort führen, den man ausgewählt hat.
  • In der Mainbar kann aktuell bereits ein "Learnplaces"-Knopf eingebaut werden, der dorthin verlinkt. Dies geschieht über: https://dev-ilias.uni-freiburg.de/Customizing/global/plugins/Services/Repository/RepositoryObject/Learnplaces/pwa
  • Hier zerschiebt es die Optik noch etwas. Overview und der Header werden doppelt angezeigt.

Kurs: Lernortprojekt
darin Ordner Winter, Herbst
darin Ordner 2012
darin Lernort 22
{Winter{2012{Lernort 22, Lernort 23}},Herbst{}}

Winter > 2012 (menueintrag als aufklappliste)

  • lernort 22

Herbst > 2013 > Okotber (menueintrag als aufklappliste)

  • lernort 1
  • lernort 2

es werden nur jene menü-einträge (pfade) angezeigt, welche Lernorte enthalten.

  • user 13 anonymous entsprechend berücksichtigen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.