Moodle-Plugin Entwicklung - How to start

Moodle-Plugin Entwicklung - How to start

von Kai Alt -
Anzahl Antworten: 8
Hallo zusammen,

ich bin zur Zeit dabei oder im versuch ein Moodle-Plugin für meine Arbeit zu programmieren, nur stoße ich hier an meine Grenzen des Verständnisses.
Da ich leider zu diesem Thema nur wenig Ressourcen finde die mir weiter helfen z.B. die Development-docs die leider mehr oder weniger nicht helfen, auch sehr dürfte und unübersichtlich sind hoffe ich das ich hier zu vielleicht ein Tipp bekomme wo ich am besten mit der Entwicklung von Plugins anfangen kann.
Ich habe auch schon versucht mithilfe eines fertigen Plugins mein eigens zu Programmieren nur sind leider die Meisten schlecht dokumentiert und auch der Quelltext lässt nur schwer erschließen was jetzt zu tun ist.

Daher hoffe ich das mir jemand dabei helfen kann ein Anfang zu finden in der Pluginentwicklung.

mfg


Mittelwert:  -
Als Antwort auf Kai Alt

Re: Moodle-Plugin Entwicklung - How to start

von Ralf Hilgenstock -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Entwickler Nutzerbild von Moodle Partner Nutzerbild von Translators

Hallo Kai,

ich weiß ja nicht mit welchem Vorwissen du startest. Ich kenne kaum ein Tool, das derart umfassende Dokumentation für Anwender und für Entwickler bereithält.


Du solltest hier starten: https://docs.moodle.org/dev/Main_Page

Hier https://docs.moodle.org/dev/Activity_modules fiundest du z.B. eine sehr detaillierte Anleitung für die Aktivitätsentwicklung.

Achtung: derText newmodule Documentation ist für eine ältere Version und nur bedingt nutzbar.


Gruß Ralf
- Ich bin selber kein Entwickler-

Als Antwort auf Ralf Hilgenstock

Re: Moodle-Plugin Entwicklung - How to start

von Kai Alt -

Da liegt ja der Hase im Pfeffer da ich gerade dabei bin ein Local Plugin zu schreiben und ein Block hilft mir fürs erste die Activitys nicht wirklich weiter aber werde es mir dennoch anschauen vielleicht werde ich da durch  ein oder zwei Fragen beantwortet bekommen.

Aber grob gesehen bringen mir die Docs von Moodle mal so gar nichts oder ich habe noch nicht die Richtigen gefunden.

Mir würde eine Dokumentation in Richtung der Klassen und Methoden Beschreibung helfen die so aufgebaut ist wie bei denn Ruby oder Python Dokumentationen.


Ruby-Core und Std-Lib:  http://ruby-doc.org/core-2.2.3/File.html

Als Antwort auf Kai Alt

Re: Moodle-Plugin Entwicklung - How to start

von Ralf Hilgenstock -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Entwickler Nutzerbild von Moodle Partner Nutzerbild von Translators

Hallo Kai,

du kannst nicht Äpfel und Wackersteine miteinander vergleichen.

Ruby und Python sind Programmiersprachen.  Da Moodle in PHP geschrieben wird, solltest du dir dann vergleichbar die PHP Doku zu Rate ziehen. 

Der Link den ich dir geschickt habe bezieht sich auf Activity-Plugins. Blöcke sind etwas anderes.  In der Moodle Doku ist schon beschrieben welche Dateien benötigt werden, welceh Funktionen si e habven. Wie darain Funktionen und Klassen beschrieben wetrden ergibt sich aus PHP.

Die Übersichtsseite gibt Infos zu den Plugintypen. Local Plugins sind hier erläutert: https://docs.moodle.org/dev/Local_plugins

Ralf

Als Antwort auf Ralf Hilgenstock

Re: Moodle-Plugin Entwicklung - How to start

von Kai Alt -

Äpfel mit Wackersteine vergleiche ich hier auch nicht da mir klar ist das Moodle in PHP geschrieben ist und Ruby/Python Programmiersprachen sind und die auch nichts mit Moodle zu tun haben.

Die PHP Doku kann mir mit PHP weiter helfen aber was ich suche ist nur die API von Moodle im Style von den Ruby oder Python docs oder auch wie im Style der PHP docs.

Das es auch verschiedene Arten von Plugins unter Moodle gibt weiß ich auch und das ein Activity und ein Block nicht gleich sind aber die Ansprache an Grund-libs und Aufbau sollten auch in dem Fall gleich sein da sie beide eine Plugin-Schnittstelle verwenden oder irre ich mich da ?

Was mich an denn Docs stört ist ich will nicht irgendwelche Code-schnippsel haben die ich einfach in mein Code implementieren soll, weil dann kann ich auch gleich her gehen und mein Code via Stackoverflow zusammen copy-pasten, sondern das ich verstehe was die einzelnen funktionen machen, returnen, parameter angaben, Klassen Strukturen ..... damit ich auch für mich selbst nachvollziehen kann was ich da mache und wie Moodle das handhabt.

Besteht die möglichkeit das ich mir denn durch PHP-Docs oder Doxygen solch eine Dokumentation erstellen lassen kann oder ist Kommentierung nicht auf die Styles der Doc-Gen's geschrieben ?


Also grob zusammen gefasst fehlen mir die zusammenhänge und auch Die Verwendung von Klassen/Methoden in Moodle was mir helfen würde das umzusetzen was in meinem Kopf schon geplant ist.


mfg


Als Antwort auf Kai Alt

Re: Moodle-Plugin Entwicklung - How to start

von Torsten Händler -

Hallo Kai, darf man Fragen was für ein Moodle du entwickeln willst? Vielleicht kann man dir dann Tips geben.

Ich selber habe auch schon das eine oder andere für unsere Kunden entwickelt, war zwar meistens Anpassung und komplette Änderung und Umschreibung von vorhandenen Sachen aber das hat schon etwas Zeit in Anspruch genommen.

Als Antwort auf Torsten Händler

Re: Moodle-Plugin Entwicklung - How to start

von Kai Alt -

Also ich bin dabei für meine Arbeit an der Uni ein Local-Plugin zu entwickeln und ein Block.

Welche Dinge ich brauche sind die Struktur von solchen Plugins also was auch alles benötigt wird in denn einzelnen Datei wie z.B. access.php oder ähnlichen, wo meine Main Datei ausgeführt wird, dazu muss ich auch noch wissen wie ich Rollen basierten Zugang oder Ansicht bekomme für die Einzelnen Plugins, oder eine kurzes Beispiel für die DB API.

Aufgabe des Local-Plugins: Nur der Admin der Moodle Anwendung soll eine zugriff auf eine Seite bekommen die dabei hilft das Filtern von alten oder nicht mehr benötigten Kursen zu finden und in einer CSV oder Json Datei zu Exportieren und gegebenen falls auch ein Log der Letzten Operationen darzustellen.


Aufgabe des Blocks: Da wir folgendes Problem haben das eine Bestimmte User Gruppe also bei mir der First / Second level support, nicht sehen kann welche Person der Leiter oder Verwalter von einem Übergeordneten Kursbereich ist sollen sie mit Hilfe eines Blocks beim Aufruf solch eines Bereiches sehen können wer dort die Kurse verwalten kann. Zur zeit kann das nur der Admin.


Ok, ich hoffe ich habe die Plugins die ich Entwickeln möchte gut dargestellt und das man mir sagen kann wo ich dort am besten Ansätzen kann.


Nur kurz zu meinen persönlichen Problem: Ich bin hier an meiner Arbeit stark am Entwickeln mit PHP und privat viel mit Ruby und Rust, nur komme ich mit der Dokumentation von Moodle einfach nicht zu recht. Was ich gebrauchen könnte wäre vielleicht ein gut Dokumentiertes Beispiel Plugin oder eine Dokumentation im Style von Ruby oder Python z.B. http://ruby-doc.org/core-2.2.3/File.html, weil ich auch in der Moodle Dokumentation nicht nachvollziehen kann was gewisse Methoden oder Funktionen tun die als Beispiel Code aufgeführt sind.


Ich hoffe das ihr mir hier mit ein kleinen Stups geben könnt für denn Start weil ich auch sagen muss das es echt schwer für mich ist in so ein großen Projekt wie Moodle mich zurecht zu finden.


mfg


Verwendet wird Moodle 2.9
Als Antwort auf Kai Alt

Re: Moodle-Plugin Entwicklung - How to start

von Torsten Händler -
Ich schau mir das morgen mal an wenn ich wieder im Büro bin, das mit dem localen Plugin bzw die Link erstellung dadrin sollte nicht so das problem sein, die ausgabe dann evtl schon ehr, aber genaueres kann ich erst morgen sagen

Grüße
Torsten