Core APIs: Difference between revisions
(→forms) |
|||
Line 15: | Line 15: | ||
The [[File management API]] controls file storage. | The [[File management API]] controls file storage. | ||
=== | === form === | ||
The [[ | The [[Form API]] defines and handles user data via web forms. | ||
=== log === | === log === |
Revision as of 09:06, 3 January 2012
Moodle has a number of core APIs that provide tools for Moodle scripts.
Critical APIs
access
The Access control API gives you functions so you can determine what the current user is allow to do, and it allows modules to extend Moodle with new capabilities.
database
The Database access API allows you to read/write databases in a consistent and safe way.
file
The File management API controls file storage.
form
The Form API defines and handles user data via web forms.
log
The Logging API allows you to add new entries to the Moodle log and define how they get displayed in reports.
The Navigation API allows you to manipulate the navigation tree to add and remove items as you wish.
page
The Page definition API is how you contruct web pages from data.
renderer
The Page rendering API is what you use to turn the current page into HTML and send it to the user.
string
The Language strings API is how you get text strings to use in the user interface. It handles any language translations that might be available.
Other General APIs
backup / restore
The Backup API defines exactly how to convert course data into XML for backup purposes, and the Restore API describes how to convert it back the other way.
calendar
The Calendar API allows you to add and modify events in the calendar for user, groups, courses, or the whole site.
comment
The Comment API allows you to save and retrieve user comments, so that you can easily add commenting to any of your code.
event
The Events API allows to define "events" with payload data to be fired whenever you like, and it also allows you to define handlers to react to these events when they happen. This is the recommended form of inter-plugin communication.
external
The External functions API allows you to create fully parametrised methods that can be accessed by external programs (such as Web services).
message
The Message API lets you post messages to users. They decide how they want to receive them.
preferences
The User preferences API is a simple way to store and retrieve preferences for any user.
portfolio
The Portfolio API allows you to add portfolio interfaces on your pages and allows users to package up data to send to their portfolios.
rating
The Rating API lets you create AJAX rating interfaces so that users can rate items in your plugin. In an activity module, you may choose to aggregate these to form grades.
rss
The RSS API allows you to create secure RSS feeds of data in your module.
tag
The Tags API allows you to store tags (and a tag cloud) to items in your module.
time
The Time API takes care of translating and displaying times between users in the site.
webservice
The Web services API allows you to expose particular functions (usually external functions) as web services.
For Activity modules only
activity_completion
The Activity completion API is to indicate to the system how activities are completed.
conditional
The Conditional activities API is so you can tell the system how to show or hide the activity automatically.
group
The Groups API allows you to check the current activity group mode and set the current group.
grade
The Gradebook API allows you to read and write from the gradebook. It also allows you to provide an interface for detailed grading information.
grading
The Advanced grading API allows you to add more advanced grading interfaces (such as rubrics) that can produce simple grades for the gradebook.