Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Web service API functions: Difference between revisions

From MoodleDocs
(core_course_get_contents)
Line 90: Line 90:
|-
|-
|course
|course
| style="background:#ffdead;"  | core_course_get_course_contents() || style="background:#ffdead;"  |  || style="background:#ffdead;"  | 2.2 || style="background:#ffdead;"  | including sections, activities etc || MDL-28646
| style="background:#ffdead;"  | core_course_get_contents() || style="background:#ffdead;"  |  || style="background:#ffdead;"  | 2.2 || style="background:#ffdead;"  | including sections, activities etc || MDL-28646
|-
|-
|course
|course

Revision as of 09:23, 31 October 2011

Moodle 2.0


Color meaning
Implemented
Must be implemented
Suggested


Web service protocols

Name Moodle Ver. Description Issue
AMF 2.0 Adobe protocol to communicate with Flash/Flex apps
REST (returning XML) 2.0 XML data accessed through a REST API (not restful)
REST (returning JSON) 2.X JSON data accessed through a REST API (not restful) MDL-29242
REST (returning JSONP) 2.X Would be very useful for client-side JavaScript
JSON 2.2 JSON server receives a JSON encoded params and return JSON encoded values. MDL-21341
SOAP 2.0 Very important for interoperating with Java and .Net applications. There was a partial implementation JAVA/.Net in Moodle 2.0, but it does not work for anything but the most trivial functions. It is fully working with PHP clients. MDL-20804, MDL-28988, MDL-28989
XMLRPC 2.0 XML remote-procedure call.

Web service functions

Naming convention

We updated (regularised) the naming convention in Moodle 2.2. See MDL-29106 for those details.

All functions should be named as follows:

  • wsfunction = fullcomponent_methodname
  • fullcomponent = frankenstyle (eg core_xxxx or mod_xxx etc)
  • methodname = verb_noun(s)
  • verb = get|create|delete|update
  • noun = moodle objects, usually plural (eg posts, discussions, users, courses etc)

API Roadmap

Tracker issue: MDL-29934

Area Moodle 2.2 name Moodle 2.0/2.1 name Introduced in Description Issue
user core_user_create_users() moodle_user_create_users() 2.0 Create users - admin function
user core_user_delete_users() moodle_user_delete_users() 2.0 Delete users - admin function
user core_user_update_users() moodle_user_update_users() 2.0 Update users
user core_user_get_users_by_id() moodle_user_get_users_by_id() 2.0 Get users by id
user core_user_get_course_user_profiles() moodle_user_get_course_participants_by_id() 2.1 Get course user profiles by id
user core_user_get_users() 2.2 Get users from a specifed key/value MDL-29938
user core_user_get_completed_users_per_course() 2.2 Get users who completed the course MDL-28320
user core_user_get_completed_courses_per_user() 2.2 Get courses that a user completed MDL-28319
course core_course_get_courses() moodle_course_get_courses() 2.0 Return course details
course core_course_create_courses() moodle_course_create_courses() 2.0 Create new courses
course core_course_update_courses() 2.2 including moving categories
course core_course_delete_courses() 2.2 MDL-13130
course core_course_get_contents() 2.2 including sections, activities etc MDL-28646
course core_course_get_recent_activity() 2.2 also works for site course MDL-13135
group core_group_create_groups() moodle_group_create_groups() 2.0 Creates new groups
group core_group_get_groups() moodle_group_get_groups() 2.0 Returns group details.
group core_group_get_course_groups() moodle_group_get_course_groups() 2.0 Returns all groups in specified course
group core_group_delete_groups() moodle_group_delete_groups() 2.0 Deletes all specified groups
group core_group_get_group_members() moodle_group_get_groupmembers() 2.0 Returns group members
group core_group_add_group_members() moodle_group_add_groupmembers() 2.0 Adds group members
group core_group_delete_group_members() moodle_group_delete_groupmembers() 2.0 Deletes group members
role core_role_assign_roles() moodle_role_assign() 2.0 Manual role assignments
role core_role_unassign_roles() moodle_role_unassign() 2.0 Manual role unassignments
enrol NONE moodle_enrol_get_enrolled_users() 2.0 get some minimal information about the users enrolled in a course (DEPRECATED)
enrol core_enrol_get_enrolled_users() moodle_user_get_users_by_courseid() 2.1 Get enrolled users by course id
enrol core_enrol_get_users_courses() moodle_enrol_get_users_courses() 2.0 get list of course ids that a user is enrolled in (if you are allowed to see that)
enrol/manual enrol_manual_enrol_users() moodle_enrol_manual_enrol_users() 2.0 Manual enrol users
enrol/manual enrol_manual_unenrol_users() 2.2 Manual unenrol users
enrol/manual enrol_ manual_update_enrolments() 2.2
enrol/cohort enrol_cohort_create() 2.2 MDL-29472
enrol/cohort enrol_cohort_delete() 2.2 MDL-29935
enrol/cohort enrol_cohort_update() 2.2 MDL-29936
enrol/cohort enrol_cohort_remove_user() 2.2 MDL-29939
enrol/cohort enrol_cohort_add_user() 2.2 MDL-29473
enrol/self enrol_self_enrol() 2.2
enrol/self enrol_self_unenrol() 2.2
webservice core_webservice_get_site_info() moodle_webservice_get_siteinfo() 2.1 Return some site info / user info / list web service functions
message core_message_send_instant_messages() moodle_message_send_instantmessages() 2.1 Send instant messages
message core_message_get_instant_messages() 2.2 params for unread etc
message core_message_create_contacts() 2.2
message core_message_delete_contacts() 2.2
notes core_notes_create_notes() moodle_notes_create_notes() 2.1 Create notes
notes core_notes_delete_notes() 2.2
events core_event_trigger_event() 2.2 triggers an event
calendar core_calendar_create_calendar_events() 2.2
calendar core_calendar_update_calendar_events() 2.2
calendar core_calendar_delete_calendar_events() 2.2
files core_files_get_files() moodle_file_get_files() 2.0 browse moodle files
files core_files_upload() moodle_file_upload() 2.0 upload a file to moodle (DEPRECATED)
files core_files_create_files() 2.2 can also do folders via a flag
files core_files_update_files() 2.2
files core_files_delete_files() 2.2
category core_course_create_categories() 2.2
category core_course_delete_categories() 2.2
category core_course_update_categories() 2.2
category core_course_get_categories() 2.2
grade core_grade_get_grades() 2.2 for user, course, activity etc
grade core_grade_get_scales() 2.2
grade core_grade_get_outcomes() 2.2
grade core_grade_update_grades() 2.2 including feedback
grade core_grade_create_grades() 2.2
ratings core_rating_get_ratings() 2.2
ratings core_rating_create_ratings() 2.2
ratings core_rating_update_ratings() 2.2
ratings core_rating_delete_ratings() 2.2
comments core_comment_get_comments() 2.2
comments core_comment_create_comments() 2.2
comments core_comment_update_comments() 2.2
comments core_comment_delete_comments() 2.2
forum mod_forum_get_forums() 2.2
forum mod_forum_create_forums() 2.2
forum mod_forum_update_forums() 2.2
forum mod_forum_delete_forums() 2.2
forum mod_forum_get_discussions() 2.2
forum mod_forum_create_discussions() 2.2
forum mod_forum_update_discussions() 2.2
forum mod_forum_delete_discussions() 2.2
forum mod_forum_get_posts() 2.2
forum mod_forum_create_posts() 2.2
forum mod_forum_update_posts() 2.2
forum mod_forum_delete_posts() 2.2