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
Line 67: Line 67:


{| class="wikitable sortable"
{| class="wikitable sortable"
! Moodle 2.2 name !! Moodle 2.0/2.1 name !! Moodle Ver. !!  class="unsortable" |Description !!  class="unsortable" | Issue
! Moodle 2.2 name !! Moodle 2.0/2.1 name !! Introduced in !!  class="unsortable" |Description !!  class="unsortable" | Issue
|-
|-
! User
! User

Revision as of 04:18, 26 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

Tracker issue: MDL-29106

Component Draft naming convention Current naming Annotation
module mod_forum_create_posts moodle_mod_forum_create_posts()
enrolment plugin enrol_manual_enrol_users moodle_enrol_manual_enrol_users()
local plugin local_hub_get_courses local_hub_get_courses
user core_user_create_users() moodle_user_create_users() core_component_functionname
course core_course_create_courses() moodle_course_create_courses()
course core_course_create_categories() moodle_category_create_categories()
role core_role_assign_roles() moodle_role_assign()
enrol core_enrol_get_enrolled_users() moodle_enrol_get_enrolled_users()
  • fullcomponent = frankenstyle like core_xxxx or mod_xxxx
  • classname = fullcomponent_external
  • methodname = verb_noun(s)
  • WS function names = fullcomponent_methodname

API Roadmap

Tracker issue: MDL-29934

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
core_user_delete_users() moodle_user_delete_users() 2.0 Delete users - admin function
core_user_update_users() moodle_user_update_users() 2.0 Update users
core_user_get_users_by_id() moodle_user_get_users_by_id() 2.0 Get users by id
core_user_get_course_user_profiles() moodle_user_get_course_participants_by_id() 2.1 Get course user profiles by id
core_user_get_users() 2.2 Get users from a specifed key/value MDL-29938
core_user_get_completed_users_per_course() 2.2 Get users who completed the course MDL-28320
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
core_course_create_courses() moodle_course_create_courses() 2.0 Create new courses
core_course_update_courses() 2.2 including moving categories
core_course_delete_courses() 2.2 MDL-13130
core_course_get_course_contents() 2.2 including sections, activities etc MDL-28646
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
core_group_get_groups() moodle_group_get_groups() 2.0 Returns group details.
core_group_get_course_groups() moodle_group_get_course_groups() 2.0 Returns all groups in specified course
core_group_delete_groups() moodle_group_delete_groups() 2.0 Deletes all specified groups
core_group_get_group_members() moodle_group_get_groupmembers() 2.0 Returns group members
core_group_add_group_members() moodle_group_add_groupmembers() 2.0 Adds group members
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
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)
core_enrol_get_enrolled_users() moodle_user_get_users_by_courseid() 2.1 Get enrolled users by course id
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_unenrol_users() 2.2 Manual unenrol users
enrol_ manual_update_enrolments() 2.2
Enrol/cohort
enrol_cohort_create() 2.2 MDL-29472
enrol_cohort_delete() 2.2 MDL-29935
enrol_cohort_update() 2.2 MDL-29936
enrol_cohort_remove_user() 2.2 MDL-29939
enrol_cohort_add_user() 2.2 MDL-29473
Enrol/self
enrol_self_enrol() 2.2
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
core_message_get_instant_messages() 2.2 params for unread etc
core_message_create_contacts() 2.2
core_message_delete_contacts() 2.2
Notes
core_notes_create_notes() moodle_notes_create_notes() 2.1 Create notes
core_notes_delete_notes() 2.2
Events
core_XXXX_trigger_event() 2.2 triggers an event
Calendar
core_calendar_create_calendar_events() 2.2
core_calendar_update_calendar_events() 2.2
core_calendar_delete_calendar_events() 2.2
Private file
core_files_get_files() moodle_file_get_files() 2.0 browse moodle files
core_files_upload() moodle_file_upload() 2.0 upload a file to moodle (DEPRECATED)
core_files_create_files() 2.2 can also do folders via a flag
core_files_update_files() 2.2
core_files_delete_files() 2.2
Category
core_course_create_categories() 2.2
core_course_delete_categories() 2.2
core_course_update_categories() 2.2
core_course_get_categories() 2.2
Grade
core_grades_get_grades() 2.2 for user, course, activity etc
core_grades_get_scales() 2.2
core_grades_get_outcomes() 2.2
core_grades_update_grades() 2.2 including feedback
core_grades_create_grades() 2.2
Ratings
core_rating_get_ratings() 2.2
core_rating_create_ratings() 2.2
core_rating_update_ratings() 2.2
core_rating_delete_ratings() 2.2
Comments
core_XXXXX_get_comments() 2.2
core_XXXXX_create_comments() 2.2
core_XXXXX_update_comments() 2.2
core_XXXXX_delete_comments() 2.2
Forum
mod_forum_get_forums() 2.2
mod_forum_create_forums() 2.2
mod_forum_update_forums() 2.2
mod_forum_delete_forums() 2.2
mod_forum_get_discussions() 2.2
mod_forum_create_discussions() 2.2
mod_forum_update_discussions() 2.2
mod_forum_delete_discussions() 2.2
mod_forum_get_posts() 2.2
mod_forum_create_posts() 2.2
mod_forum_update_posts() 2.2
mod_forum_delete_posts() 2.2