Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Entwickler:Module.

Entwickler:Module: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
(Typos und englische Übersetzung korrigiert)
(Aktualisierung und techn. Wortgebrauch angepasst)
Zeile 3: Zeile 3:


* ''mod_form.php'' - eine Eingabemaske, um das Modul zu konfigurieren
* ''mod_form.php'' - eine Eingabemaske, um das Modul zu konfigurieren
* ''version.php'' - definiert die Meta-Informationen
* ''version.php'' - Meta-Informationen des Moduls
* ''icon.gif'' - ein 16x16 Icon für das Modul
* ''icon.gif'' - ein 16x16 Icon für das Modul
* ''db/'' - SQL Ausgaben von allen benötgten db tables und Daten (für jeden Datenbankentyp)
* ''db/install.xml'' - definiert die Struktur der Datenbanktabellen des Moduls. Verwendung während des Installationsvorgangs.
* ''db/upgrade.php'' - beinhaltet die Änderungen an der Datenbanktabellenstruktur des Moduls. Verwendung währung des Module-Upgradevorgangs.
* ''db/access.php'' - definiert Zugriffsrechte des Moduls
* ''index.php'' - eine Seite die alle Instanzen in einem Kurs auflistet
* ''index.php'' - eine Seite die alle Instanzen in einem Kurs auflistet
* ''view.php'' - eine Seite um eine bestimmte Instanz zu betrachten
* ''view.php'' - eine Seite um eine bestimmte Instanz zu betrachten
* ''lib.php'' - alle Funktionen die von dem Modul definiert werden sollten sich here befinden. Wenn der Modulname widget sein sollte, dann beinhalten die vorausgesetzten Funktionen:
* ''lib.php'' - alle modulspezifischen Funktionen sollten in diese Datei geschrieben werden. Wenn der Modulname ''widget'' sein sollte, dann ist die Implementation der folgenden Funktionen erforderlich:
:* widget_install() - wird während der Installation aufgerufen
:* widget_install() - wird während der Installation aufgerufen
:* widget_add_instance() - Code um eine neue Instanz dem widget hinzuzufügen
:* widget_add_instance() - Code um eine neue Instanz dem widget hinzuzufügen
:* widget_update_instance() - Code um eine existierende Instanz zu aktualisieren
:* widget_update_instance() - Code um eine existierende Instanz zu aktualisieren
:* widget_delete_instance() - Code um eine Instanz zu löschen
:* widget_delete_instance() - Code um eine Instanz zu löschen
:* widget_user_outline() - an einer Instanz ausgeführt, gibt es eine Zusammenfassung des Beitrages des Benutzers
:* widget_user_outline() - erstellt eine Zusammenfassung eines Benutzerbeitrags für eine Modulinstanz
:* widget_user_complete() - an einer Instanz ausgeführt, werden die Details des Beitrages eines Benutzers gedruckt
:* widget_user_complete() - druckt Details zum Benutzerbeitrag für eine Modulinstanz aus
:* Andere Funktion die gegeben aber nicht vorausgesetzt sind:
:* Andere Funktionen, die optional implementiert werden können:
:** widget_delete_course() - Code um alles zu beseitigen das nach dem Löschen der Instanzen übrig bleibt  
:** widget_delete_course() - Code, um alles zu beseitigen, das nach dem Löschen der Instanzen übrig bleibt  
:** widget_process_options() - Code um einen Vorprozess der form data der Modul Einstellungen zu starten
:** widget_process_options() - Code, um Moduleinstellungen (siehe mod_form.php) innerhalb eines Vorprozesses vorzuverarbeiten
:** widget_reset_course_form() und widget_delete_userdata() - wird dazu verwendet um die Kurs-zurücksetzen-Funktion auszuführen.
:** widget_reset_course_form() und widget_delete_userdata() - wird dazu verwendet um die Kurs-zurücksetzen-Funktion auszuführen.
:* Um möglichen Konflikten zu entgehen, sollte der Name jeder Modulfunktion mit widget_ und jedes Parameter mit WIDGET_ beginnen.
:* Namenskonvention: Modulfunktionsnamen beginnen mit widget_ und Konstantennamen mit WIDGET_
* ''config.html'' - (optional) ein Befehl um globale Einstellungen diese Moduls zu aktualisieren
* ''backuplib.php'' und ''restorelib.php'' - (optional)
* ''lang/en_utf8/resource_widget.php'' - (optional) Letztens, hat jedes Modul Sprachdaten die Strings für das Modul enthalten beginnen.
* ''settings.php'' oder ''settingstree.php'' - (optional) Definition einer Konfigurationsseite für den Administrator. Ein einfaches Beispiel hierfür wäre: ''mod/assignment/settings.php''. Ein komplexeres Beispiel hierfür ist: ''mod/quiz/settingstree.php''.
* ''defaults.php'' - erlaubt die einfache Vorgabe von Defaultwerten für Konfigurationsparameter. Der Inhalt dieser Datei wird durch das Modul ''upgrade_activity_modules'' in ''lib/adminlib.php'' inkludiert und sollte ein Array namens ''$defaults'' enthalten. Die Werte innerhalb dieses Arrays werden in die Konfigurationstabelle geladen. Alternativ und die empfohlene Vorgehensweise (Best Practice) wäre allerdings, den Wert $defaults['_use_config_plugins'] auf ''true'' zu setzen, so dass die Vorgabewerte in die ''config_plugins'' Tabelle geschrieben werden. Codebeispiel hierfür: ''mod/quiz/defaults.php''
* ''lang/en_utf8/resource_widget.php'' - (optional) Jedes Modul sollte Sprachdaten besitzen, die Übersetzungen für das Modul enthalten.


WICHTIG: Wenn Sie ein neues Modul erstellen, darf der Name keine Zahlen oder Sonderzeichen enthalten!  
=== WICHTIG: ===
 
* Wenn Sie ein neues Modul anlegen, darf der Modulname keine Zahlen oder Sonderzeichen enthalten!  
Sie sollten außerdem sichergehen, dass ihr Modul sachgerechten Support für Gruppen und Metakurse unterstützt.
* Sie müssen eine sogenannte "data base table" erstellen mit dem gleichen Namen, den Sie auch Ihrem Modul gegeben haben. Diese Tabelle muss mindestens drei Datenbankfelder besitzen:
*# id
*# course
*# name
* Vergewissern Sie sich bitte, dass ihr Modul (in angemessener Weise) auch für die Verwendung innerhalb von Gruppen und Metakursen ausgelegt ist.


==Weiteres==
==Weiteres==

Version vom 13. April 2009, 09:14 Uhr

Activity Modules

Activity modules befinden sich im 'mod' Verzeichnis, wobei für jedes Modul ein eigenes Unterverzeichnis existiert. Damit ein Modul von Moodle ordnungsgemäß eingebunden werden kann, ist es bei der Entwicklung eigener Module zwingend erforderlich, dass unterhalb des activity module-Verzeichnisses die folgenden Dateien vorhanden sind:

  • mod_form.php - eine Eingabemaske, um das Modul zu konfigurieren
  • version.php - Meta-Informationen des Moduls
  • icon.gif - ein 16x16 Icon für das Modul
  • db/install.xml - definiert die Struktur der Datenbanktabellen des Moduls. Verwendung während des Installationsvorgangs.
  • db/upgrade.php - beinhaltet die Änderungen an der Datenbanktabellenstruktur des Moduls. Verwendung währung des Module-Upgradevorgangs.
  • db/access.php - definiert Zugriffsrechte des Moduls
  • index.php - eine Seite die alle Instanzen in einem Kurs auflistet
  • view.php - eine Seite um eine bestimmte Instanz zu betrachten
  • lib.php - alle modulspezifischen Funktionen sollten in diese Datei geschrieben werden. Wenn der Modulname widget sein sollte, dann ist die Implementation der folgenden Funktionen erforderlich:
  • widget_install() - wird während der Installation aufgerufen
  • widget_add_instance() - Code um eine neue Instanz dem widget hinzuzufügen
  • widget_update_instance() - Code um eine existierende Instanz zu aktualisieren
  • widget_delete_instance() - Code um eine Instanz zu löschen
  • widget_user_outline() - erstellt eine Zusammenfassung eines Benutzerbeitrags für eine Modulinstanz
  • widget_user_complete() - druckt Details zum Benutzerbeitrag für eine Modulinstanz aus
  • Andere Funktionen, die optional implementiert werden können:
    • widget_delete_course() - Code, um alles zu beseitigen, das nach dem Löschen der Instanzen übrig bleibt
    • widget_process_options() - Code, um Moduleinstellungen (siehe mod_form.php) innerhalb eines Vorprozesses vorzuverarbeiten
    • widget_reset_course_form() und widget_delete_userdata() - wird dazu verwendet um die Kurs-zurücksetzen-Funktion auszuführen.
  • Namenskonvention: Modulfunktionsnamen beginnen mit widget_ und Konstantennamen mit WIDGET_
  • backuplib.php und restorelib.php - (optional)
  • settings.php oder settingstree.php - (optional) Definition einer Konfigurationsseite für den Administrator. Ein einfaches Beispiel hierfür wäre: mod/assignment/settings.php. Ein komplexeres Beispiel hierfür ist: mod/quiz/settingstree.php.
  • defaults.php - erlaubt die einfache Vorgabe von Defaultwerten für Konfigurationsparameter. Der Inhalt dieser Datei wird durch das Modul upgrade_activity_modules in lib/adminlib.php inkludiert und sollte ein Array namens $defaults enthalten. Die Werte innerhalb dieses Arrays werden in die Konfigurationstabelle geladen. Alternativ und die empfohlene Vorgehensweise (Best Practice) wäre allerdings, den Wert $defaults['_use_config_plugins'] auf true zu setzen, so dass die Vorgabewerte in die config_plugins Tabelle geschrieben werden. Codebeispiel hierfür: mod/quiz/defaults.php
  • lang/en_utf8/resource_widget.php - (optional) Jedes Modul sollte Sprachdaten besitzen, die Übersetzungen für das Modul enthalten.

WICHTIG:

  • Wenn Sie ein neues Modul anlegen, darf der Modulname keine Zahlen oder Sonderzeichen enthalten!
  • Sie müssen eine sogenannte "data base table" erstellen mit dem gleichen Namen, den Sie auch Ihrem Modul gegeben haben. Diese Tabelle muss mindestens drei Datenbankfelder besitzen:
    1. id
    2. course
    3. name
  • Vergewissern Sie sich bitte, dass ihr Modul (in angemessener Weise) auch für die Verwendung innerhalb von Gruppen und Metakursen ausgelegt ist.

Weiteres