| 
 | 
What is the ilm-application.xml descriptor file
The descriptor file ilm-application.xml uses the XML sintax to inform all the main data necessary to create a new iLM inside iAssig(nment)/Moodle.
It is a mandatory file of any IPZ package, that basically is ZIP to import a new iLM into any iAssig(nment)/Moodle. Besides the ilm-application.xml, any IPZ package must have all the necessary files of the iLM.
The ilm-application.xml must provide the main information to insert a new entry in the iAssig(nment)/Moodle table {iassign_ilm}. The necessary fields of {iassign_ilm} that ilm-application.xml must provide are: name, version, type, description, url, extension, file_jar, file_class, width, height, evaluate, reevaluate, editingbehavior, submissionbehavior, action_buttons.
An example of the sintax of ilm-application.xml file
Here is an example of ilm-application.xml descriptor file:
<?xml version="1.0" encoding="utf-8"?> <application xmlns="https://www.matematica.br/ia/about_ilm-application.html"> <name> iVProg </name> <url>http://www.usp.br/line/ivprog </url> <version>1.0.20230504 </version> <type>HTML5 </type> <description>{"en":"Interactive Visual Programming on the Internet (HTML5)","pt_br":"Programação visual interativa na Internet (HTML5)"} </description> <extension>ivph </extension> <file_jar>ivprog/ </file_jar> <file_class>ivprog/index.html </file_class> <width>900 </width> <height>800 </height> <evaluate>1 </evaluate> <reevaluate>1 </reevaluate> <editingbehavior>1 </editingbehavior> <submissionbehavior>0 </submissionbehavior> <action_buttons>1 </action_buttons> </application>
Explained ilm-application.xml file
    On the previous section we presents the 15 necessary field to insert in
    {iassign_ilm} table, the name of these field are in 
Bellow we presents a brief explanation of each tag ({iassign_ilm} fields).
| name | : | the iLM name (must have at most 20 characters, with no special char) | 
| version | : | the version numer (like 1.0.2023_05_09) | 
| type | : | "Java" or "HTML5" | 
| description | : | the iLM description in this format: {"en":"Interactive Geometry on the Internet","pt_br":"Geometria Interativa na Internet"} | 
| url | : | the main URL of this iLM | 
| extension | : | the extension of any file to this iLM (e.g. "geo" to iGeom and "ivph" to iVProg) | 
| file_jar | : | the path to the initial iLM file (it is heritage of the first iAssign implementation in 2003, was only to Java) | 
| file_class | : | the initial file (now using HTML/CSS/JS must be some "index.html", perhaps with some directory) | 
| width | : | the iLM width (define the width frame of the iLM) | 
| height | : | the iLM height (idem to height) | 
| evaluate | : | 1 (if the iLM has automatic evaluation, must return a number between 0 and 1) or 0 (if not) | 
| reevaluate | : | 1 (if the iLM has a method automatic evaluation, must return a number between 0 and 1) or 0 (if not) | 
| editingbehavior | : | 1 (the auto-evaluation remains working over a solution sent by the student - a counter-example is iGeom Java) | 
| submissionbehavior | : | 1 (the iLM has its own submition button) or 0 (it does not has submition button, must use the form one) | 
| action_buttons | : | 1 <=> do not use the submition button of the form (i.e., action_buttons=1 implies that iAssign will NOT present form submission button, the submition must be effectuated by the self iLM, using the iAssign JS function "window.jsAnalyseAnswer()") | 
| LInE | IME-USP | 
 About :: iLM package descriptor
About :: iLM package descriptor