Package at.letto.plugins.interfaces
Interface PluginService
- All Known Implementing Classes:
BasePlugin
,PluginUhr
public interface PluginService
Interface für die Plugin-Programmierung
Alle DTOs sind von LeTTo direkt unabhängig
Alle DTOs sind von LeTTo direkt unabhängig
-
Method Summary
Modifier and TypeMethodDescriptionconfigurationInfo
(String configurationID) Liefert die Informationen welche notwendig sind um einen Konfigurationsdialog zu starten
Ist die configurationID gesetzt wird eine Konfiguration gestartet und damit auch die restlichen Endpoints für die Konfiguration aktiviert.Liefert einen Angabestring für die MoodleText Angabe und erzeugt gegebenenfalls fehlende Datasets in der DatasetlisteLiefert die aktuelle Konfiguration eines Plugins welches sich gerade in einem CONFIGMODE_URL Konfigurationsdialog befindetint
getHelp()
getHTML
(String params, PluginQuestionDto q) Berechnet den Fragetext für das Fragefeld des Webservers für die angegebenen Parameter für die Verwendung in einem PIT TaggetImageDto
(String params, PluginQuestionDto q) Liefert ein Base64 codiertes Bild mit den angegebenen ParameternLiefert eine Liste aller möglichen Varianten von Bildern Element 0 : beschreibender Text Element 1 : PIG Tag Element 2 : Hilfetextint
Methode definiert das Eingabeelement der Subquestion, die das Plugin verwendetgetMaxima
(String params, PluginQuestionDto q, PluginMaximaCalcModeDto pluginMaximaCalcMode) Liefert einen Maxima-Berechnungsstring für die Berechnung des PluginsgetName()
getPluginImageDescription
(String imageParams, PluginQuestionDto q) Bestimmt einen eindeutigen String, welcher ein Plugin-Bild beschreibt um daraus den Dateinamen bestimmen zu können.Liefert den Typ des PluginsgetTag()
getVars()
Liefert eine Liste aller Variablen welche als Dataset benötigt werden.int
getWidth()
boolean
boolean
boolean
isMath()
Liefert eine Liste von Javascript-Libraries, die im Header der HTML-Seite eingebunden werden müssen.Liefert eine Liste von LOKALEN Javascript-Libraries, die im Header der HTML-Seite eingebunden werden müssen.loadPluginDto
(String params, PluginQuestionDto q, int nr) Rendern des Plugin-Images, Aufbau eines DTOs zur späteren Javascript - BearbeitungmodifyAngabe
(String text, PluginQuestionDto q) verändert einen Angabetext, der in der Angabe in PI Tags eingeschlossen wurde
Die Funktion wird vor dem Darstellen der Frage ausgeführt.verändert den kompletten Angabetext der Frage.void
parseDrawParams
(String params, PluginQuestionDto q, PluginImageResultDto pluginImageResultDto) Wertet die Parameter für die Bild-Routinen ausparserPlugin
(VarHashDto vars, CalcParamsDto cp, CalcErgebnisDto... p) Wird verwendet wenn im Lösungsfeld die Funktion plugin("pluginname",p1,p2,p3) verwendet wirdparserPluginEinheit
(String... p) Bestimmt die Recheneinheit, welche bei der Methode parserPlugin als Ergebnis herauskomment wenn die Parameter die Einheiten wie in der Liste p habenrenderLatex
(PluginDto pluginDto, String answer, String mode) Rendert ein Plugins für den Fragedruck als Latex-SourcoderenderPluginResult
(boolean tex, PluginDto pluginDto, String antwort, ToleranzDto toleranz, VarHashDto varsQuestion, PluginAnswerDto answerDto, double grade) Rendert das Plugin inklusive der Schülereingabe und korrekter Lösung
Es wird dabei entweder direkt ein HTML-Code oder LaTeX-Code erzeugtscore
(PluginDto pluginDto, String antwort, ToleranzDto toleranz, VarHashDto varsQuestion, PluginAnswerDto answerDto, double grade) Prüft die Eingabe eines SchülerssetConfigurationData
(String configuration, PluginQuestionDto questionDto) Sendet alle notwendigen (im ConfigurationInfo) angeforderten Daten im Mode CONFIGMODE_URL an die Plugin-Konfigurationvoid
Setzt den Namen des PluginsupdatePluginstringJavascript
(String pluginDef, String jsResult) Passt die Plugindefinition an die Eingabe aus dem Javascipt-Result an. zB: Interaktive Karte
-
Method Details
-
getWikiHelp
String getWikiHelp()- Returns:
- Liefert den Namen der Wiki-Seite wenn eine Doku am LeTTo-Wiki vorliegt
-
getHelpUrl
String getHelpUrl()- Returns:
- Liefert eine Hilfe-URL für die Beschreibung des Plugins
-
isDefaultPluginConfig
boolean isDefaultPluginConfig()- Returns:
- Gibt an ob die Standard-Plugin-Configuration verwendet werden soll
-
isMath
boolean isMath()- Returns:
- Gibt an ob das Plugin Ergebnisse und VarHash als JSON-String verarbeiten kann
-
getPluginType
String getPluginType()Liefert den Typ des Plugins- Returns:
- Klasse des Plugins
-
getPluginVersion
String getPluginVersion()- Returns:
- Liefert die aktuelle Version eines Plugins, ändert sich diese, so ändert sich auch die Prüfsumme jedes Plugin Bildes
-
getConfig
String getConfig()- Returns:
- Liefert den Konfigurationsstring des Plugins
-
getTag
String getTag()- Returns:
- Liefert den String welcher für die Definition des Plugins gespeichert wird [PI name typ "config"]
-
setName
Setzt den Namen des Plugins- Parameters:
name
- Pluginname
-
getName
String getName()- Returns:
- Liefert den Namen des Plugins
-
getImageWidthProzent
int getImageWidthProzent()- Returns:
- Liefert die Bildbreite in Prozent der Seitenbreite für die Ausgabe
-
getHelp
String getHelp()- Returns:
- Liefert eine HTML-Hilfe zu dem Plugin.
-
getAngabe
Liefert einen Angabestring für die MoodleText Angabe und erzeugt gegebenenfalls fehlende Datasets in der Datasetliste- Parameters:
params
- Parameter für die Einstellungen- Returns:
- String für das MoodleText-Feld
-
generateDatasets
List<PluginDatasetDto> generateDatasets()- Returns:
- Liefert alle Datensätze, welche für das Plugin in der Frage vorhanden sein sollten
-
getVars
Liefert eine Liste aller Variablen welche als Dataset benötigt werden.- Returns:
- Liste aller Variablen des Plugins
-
getWidth
int getWidth()- Returns:
- liefert die Breite des Plugin-Bildes
-
getHeight
int getHeight()- Returns:
- liefert die Höhe des Plugin-Bildes
-
getHTML
Berechnet den Fragetext für das Fragefeld des Webservers für die angegebenen Parameter für die Verwendung in einem PIT Tag- Parameters:
params
- Parameter für die Antworterzeugungq
- Frage wo das Plugin eingebettet ist- Returns:
- HTML Text
-
getMaxima
Liefert einen Maxima-Berechnungsstring für die Berechnung des Plugins- Parameters:
params
- Parameterq
- Frage wo das Plugin eingebettet istpluginMaximaCalcMode
- Art der Berechnung- Returns:
- Maxima Berechnungs-String
-
parseDrawParams
Wertet die Parameter für die Bild-Routinen aus- Parameters:
params
- Parameter des Bild-Tagsq
- aktuelle FragepluginImageResultDto
- Nimmt alle Fehlermeldungen auf, welche beim Rendern des Bildes entstehen
-
getImageDto
Liefert ein Base64 codiertes Bild mit den angegebenen Parametern- Parameters:
params
- Parameter für die Bilderzeugungq
- Frage wo das Plugin eingebettet ist- Returns:
- Base64 kodiertes Bild in einem MoodleFile
-
getImageTemplates
Liefert eine Liste aller möglichen Varianten von Bildern Element 0 : beschreibender Text Element 1 : PIG Tag Element 2 : Hilfetext- Returns:
- Liefert eine Liste aller möglichen Varianten von Bildern
-
parserPlugin
Wird verwendet wenn im Lösungsfeld die Funktion plugin("pluginname",p1,p2,p3) verwendet wird- Parameters:
vars
- Alle Variablen der Fragecp
- Berechnungsparameterp
- Liste von CalcErgebnis-Werten, welche an das Plugin von der Question aus übergeben werden können- Returns:
- Ergebnis der Funktion
-
parserPluginEinheit
Bestimmt die Recheneinheit, welche bei der Methode parserPlugin als Ergebnis herauskomment wenn die Parameter die Einheiten wie in der Liste p haben- Parameters:
p
- Einheiten der Parameter als Recheneinheiten- Returns:
- Recheneinheit des Ergebnisses
-
isJavaScript
boolean isJavaScript()- Returns:
- Gibt an ob das Plugin eine Java-Script Schnittstelle bei der Beispieldarstellung hat
Im alten LeTTo als Interface QuestionPluginJavaScript
-
getPluginGeneralInfo
PluginGeneralInfo getPluginGeneralInfo()- Returns:
- Alle globalen Informationen des Plugins
-
getPluginImageDescription
Bestimmt einen eindeutigen String, welcher ein Plugin-Bild beschreibt um daraus den Dateinamen bestimmen zu können.- Parameters:
imageParams
- Parameter des PIG-Tagsq
- Frage in der das Plugin eingebettet ist- Returns:
- eindeutiger String der das Plugin-Bild eindeutig beschreibt.
-
updatePluginstringJavascript
Passt die Plugindefinition an die Eingabe aus dem Javascipt-Result an. zB: Interaktive Karte- Parameters:
pluginDef
- akt. Plugin-DefinitionjsResult
- Rückgabe von Javascript- Returns:
- aktualiesierte Plugindefinition
-
javascriptLibraries
List<JavascriptLibrary> javascriptLibraries()Liefert eine Liste von Javascript-Libraries, die im Header der HTML-Seite eingebunden werden müssen. Es muss die vollständige URL angegeben werden!- Returns:
- für das Plugin notwendige JS-Libraries
-
javascriptLibrariesLocal
List<JavascriptLibrary> javascriptLibrariesLocal()Liefert eine Liste von LOKALEN Javascript-Libraries, die im Header der HTML-Seite eingebunden werden müssen. Pfade werden relativ zum akt. Servernamen übergeben- Returns:
- für das Plugin notwendige JS-Libraries
-
loadPluginDto
Rendern des Plugin-Images, Aufbau eines DTOs zur späteren Javascript - Bearbeitung- Parameters:
params
- Plugin-Parameterq
- Question, in die das Plugin eingebettet istnr
- Laufende Nummer für alle PIG-Tags und Question-Plugins- Returns:
- PluginDto
-
renderLatex
Rendert ein Plugins für den Fragedruck als Latex-Sourcode- Parameters:
pluginDto
- Das PluginDto welches am Webserver an das Java-Script des Plugins zum Rendern gesandt wirdanswer
- Inhalt des Antwortfeldes welches der Schüler eingegeben hatmode
- Druckmode- Returns:
- Latexsourcode und zugehörige Bilder in einer Hashmap
-
score
PluginScoreInfoDto score(PluginDto pluginDto, String antwort, ToleranzDto toleranz, VarHashDto varsQuestion, PluginAnswerDto answerDto, double grade) Prüft die Eingabe eines Schülers- Parameters:
pluginDto
- PluginDto welches für die Java-Script aktive Eingabe aufbereitet wurdeantwort
- Antwort die der Schüler eingegeben hattoleranz
- Toleranz für die LösungvarsQuestion
- Referenz auf VarHash, wird dynamisch nachgeladenanswerDto
- Antwort des Schülersgrade
- Maximale Punktanzahl für die richtige Antwort- Returns:
- Bewertung
-
modifyAngabe
verändert einen Angabetext, der in der Angabe in PI Tags eingeschlossen wurde
Die Funktion wird vor dem Darstellen der Frage ausgeführt.- Parameters:
text
- Text der innerhalb der PI Tags gestanden istq
- Frage innerhalb der, der Text sich befindet, die Frage sollte vom Plugin nicht verändert werden!!- Returns:
- veränderter Text
-
modifyAngabeTextkomplett
verändert den kompletten Angabetext der Frage. Dieser muss als Parameter übergeben werden!
Die Funktion wird vor dem Darstellen der Frage ausgeführt.- Parameters:
text
- Angabetext der Frageq
- Frage innerhalb der, der Text sich befindet, die Frage sollte vom Plugin nicht verändert werden!!- Returns:
- veränderter AngabeText
-
getInputElement
InputElement getInputElement()Methode definiert das Eingabeelement der Subquestion, die das Plugin verwendet- Returns:
- anzuzeigendes Eingabeelement, default: TextField
-
renderPluginResult
PluginRenderDto renderPluginResult(boolean tex, PluginDto pluginDto, String antwort, ToleranzDto toleranz, VarHashDto varsQuestion, PluginAnswerDto answerDto, double grade) Rendert das Plugin inklusive der Schülereingabe und korrekter Lösung
Es wird dabei entweder direkt ein HTML-Code oder LaTeX-Code erzeugt- Parameters:
tex
- true für LaTeX-Code, false für html-CodepluginDto
- PluginDto welches für die Java-Script aktive Eingabe aufbereitet wurdeantwort
- Antwort die der Schüler eingegeben hattoleranz
- Toleranz für die LösungvarsQuestion
- Referenz auf VarHash, wird dynamisch nachgeladenanswerDto
- Antwort des Schülersgrade
- Maximale Punktanzahl für die richtige Antwort- Returns:
- HTML-Code oder LaTeX-Code mit Bildern
-
configurationInfo
Liefert die Informationen welche notwendig sind um einen Konfigurationsdialog zu starten
Ist die configurationID gesetzt wird eine Konfiguration gestartet und damit auch die restlichen Endpoints für die Konfiguration aktiviert.- Parameters:
configurationID
- eindeutige ID welche für die Verbindung zwischen Edit-Service, Browser und Plugin-Konfiguration verwendet wird- Returns:
- alle notwendigen Konfig
-
setConfigurationData
Sendet alle notwendigen (im ConfigurationInfo) angeforderten Daten im Mode CONFIGMODE_URL an die Plugin-Konfiguration- Parameters:
configuration
- aktueller Konfigurations-String des PluginsquestionDto
- Question-DTO mit Varhashes- Returns:
- Liefert die Daten welche an JS weitergeleitet werden.
-
getConfiguration
String getConfiguration()Liefert die aktuelle Konfiguration eines Plugins welches sich gerade in einem CONFIGMODE_URL Konfigurationsdialog befindet- Returns:
- Konfigurationsparameter oder "@ERROR: Meldung" wenn etwas nicht funktioniert hat
-