Moodle ist in der Version 1.8.3 ein sehr komplexes Lernmanagementsystem geworden. Daher kann die folgende Beschreibung nur einen kurzen Einblick in die Möglichkeiten von Moodle bieten. Für ausführliche Beschreibungen wird auf die Internetseite http://moodle.org verwiesen.
Moodle unterstützt ein dezidiertes Rechtemanagement. Es gibt unterschiedliche Rollen (Administrator, Kursersteller, Lehrender, Lehrender ohne Bearbeitungsrechte, Student, Gast) mit unterschiedlichen Rechten, bzgl. des Zugriffs auf vorhandene Materialien und Aktivitäten, unterschiedliche Möglichkeiten, neue Materialien und Aktivitäten zu erstellen, sowie einzelne Kurse oder das gesamte Lernmanagementsystem zu verwalten. Neben den zur Verfügung stehenden Rollen können weitere Rollen, mit individuell konfigurierbaren Rechten, erstellt werden.
Teilnehmende können selber ein Nutzerkonto für eine Moodle-Plattform erstellen oder die Zugänge werden zentral verwaltet, wobei auch die Anbindung an verschiedene Authentifizierungsserver möglich ist. Außerdem besteht die Möglichkeit, in einem Batchverfahren, beliebig viele Nutzerkonten zu erstellen.
In Moodle können beliebig viele Kurse angelegt werden. Kurse werden wiederum in größeren Kategorien (bspw. Semester, Fächer, Jahrgangsstufen etc.) zusammengefasst. Die Teilnehmenden eines Kurses, werden entweder durch die Lehrperson zu einem Kurs hinzugefügt oder sie erhalten einen Schlüssel, mit dem sie sich für den zugehörigen Kurs freischalten.
Innerhalb eines Kurses können noch Gruppen angelegt und verwaltet werden. Jede Aktivität und jeder Inhalt kann dafür in den Gruppenmodus geschaltet werden, so dass die jeweilige Aktivität oder der ausgewählte Inhalt nur bestimmten Gruppen zugänglich ist. Somit ist es möglich, Materialien oder Aktivitäten nur einzelnen Gruppen bereitzustellen, Grundlagenliteratur oder ein gemeinsames Forum aber für alle Gruppen gemeinsam zu öffnen.
Für die Kursmaterial- und Aufgabenverwaltung stehen verschiedene Werkzeuge zur Verfügung, mit denen neue Materialien in eine Kursumgebung eingestellt und vorhandene Aktivitäten und Materialien verwaltet, bearbeitet und kontrolliert werden können.
Die Lern- und Arbeitsergebnisse werden mit einem kursintegrierten Berichts- und Bewertungssystem verwaltet. Mittels der Berichte können alle Aktivitäten einzelner oder aller Teilnehmenden nachgehalten und überwacht werden, das Bewertungssystem ermöglicht eine Benotung oder Beurteilung von einzelnen Aktivitäten der Teilnehmenden und stellt somit eine Hilfe für die Kursbetreuung, bei der abschließenden Bewertung der Studierenden dar.
Es stehen Möglichkeiten zur synchronen und zur asynchronen Kommunikation zur Verfügung. Moodle bietet z. B. Chat, Forum und ein internes Nachrichtensystem. Außerdem können zusätzliche Module eingebunden werden, mit denen beispielsweise E-Mail-Listen bedienbar sind.
Moodle bietet standardmäßig eine ganze Reihe an Aktivitäten, die in beliebiger Anzahl zur Verfügung stehen. Dazu gehören Aufgaben, bei denen die Teilnehmenden einen Lösungstext einreichen, Datenbanken, die mit beliebigen Inhalten gefüllt werden können, Glossare, Tests, Umfragen, Wikis und Workshops. Letztere bestehen aus mehreren Aktivitäten und Materialien, die in einer festgelegten Reihenfolge durchlaufen werden müssen. Außerdem stehen als Aktivitäten und Lernpakete zur Verfügung, das sind in sich geschlossene Lernmodule im SCORM-Format, die in einen Moodle-Kurs integriert werden.
In einem Moodle-Kurs, können außerdem beliebige Medien integriert werden. Einfache Text- oder HTML-Seiten können direkt innerhalb der Kursumgebung mit einem Editor erstellt und bearbeitet werden. Dokumente im Word- oder PDF-Format können zum Herunterladen bereitgestellt werden, wobei Moodle zahlreiche Dateiformate automatisch erkennt und mit entsprechenden Symbolen versieht. Multimediainhalte wie Audio oder Video sowie interaktive Inhalte in Form von Java-Applets oder Flash-Animationen können zwar integriert werden, dies wird aber nicht automatisch durch Moodle vorgenommen, sondern hier müssen die Inhalte manuell eingebunden werden, indem sie bspw. in eine HTML-Seite integriert werden, die mit dem Editor von Moodle erstellt wird.