Web service API functions: Difference between revisions
Line 26: | Line 26: | ||
| style="background:#D4FFDF;" | REST (returning XML) || style="background:#D4FFDF;" | 2.0 || style="background:#D4FFDF;" | XML data accessed through a restful API || | | style="background:#D4FFDF;" | REST (returning XML) || style="background:#D4FFDF;" | 2.0 || style="background:#D4FFDF;" | XML data accessed through a restful API || | ||
|- | |- | ||
| style="background:#ffdfcd;" | REST (returning JSON) || style="background:#ffdfcd;" | 2.X || style="background:#ffdfcd;" | Would be very useful for client-side JavaScript || | | style="background:#ffdfcd;" | REST (returning JSON) || style="background:#ffdfcd;" | 2.X || style="background:#ffdfcd;" | Would be very useful for client-side JavaScript || MDL-29242 | ||
|- | |- | ||
| style="background:#ffdfcd;" | JSON || style="background:#ffdfcd;" | 2.2 || style="background:#ffdfcd;" | JSON server receives a JSON encoded params and return JSON encoded values. || MDL-21341 | | style="background:#ffdfcd;" | JSON || style="background:#ffdfcd;" | 2.2 || style="background:#ffdfcd;" | JSON server receives a JSON encoded params and return JSON encoded values. || MDL-21341 |
Revision as of 04:10, 6 September 2011
Moodle 2.0
Please add feedback on the talk page.
Draft
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 restful API | |
REST (returning JSON) | 2.X | Would be very useful for client-side JavaScript | MDL-29242 |
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 (DRAFT NEED APPROVAL)
Tracker issue: MDL-29106
It was suggested during a chat meeting (18/08/11) that we could keep all the current web service names. However if the current web service name does not respect the naming convention we will create a new function. The "deprecated function" will have their description attribut indicating DEPRECATED. Both of the deprecated function and new function will be pointing to the same externallib.php function.
Naming convention (based on Frankenstyle):
Component | Draft naming convention | Current naming | Annotation |
---|---|---|---|
module | mod_forum_create_posts | moodle_mod_forum_create_posts() | |
block | block_calendar_create_events | moodle_calendar_create_events() | |
enrolment plugin | enrol_manual_enrol_users | moodle_enrol_manual_enrol_users() | |
local plugin | local_hub_get_courses | local_hub_get_courses | |
core folder (/user/externallib.php) | core_user_create_users() | moodle_user_create_users() | core_foldername_functionname |
core folder (/course/externallib.php) | core_course_create_courses() | moodle_course_create_courses() | |
core folder (/course/externallib.php) | core_course_create_categories() | moodle_category_create_categories() | |
core folder (/enrol/externallib.php) | core_enrol_role_assign() | moodle_role_assign() | |
core folder (/enrol/externallib.php) | core_enrol_get_enrolled_users() | moodle_enrol_get_enrolled_users() |
I think the core ones should be like
- core_course_create
- core_user_create
- core_enrol_role_assign
The second word should come from the list in get_core_subsystems in moodlelib.php--Tim Hunt 20:58, 25 August 2011 (WST)
Should it be block_calendar_ ? --Jerome mouneyrac 11:11, 1 September 2011 (Perth Time)
Should it be core_event_ ? (core_event_create_event()) --Jerome mouneyrac 11:13, 1 September 2011 (Perth Time)
API Roadmap (Needs update once naming convention is final)
New Naming Convention | 2.0/2.1 Name | Moodle Ver. | 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_participants_by_id() | moodle_user_get_course_participants_by_id() | 2.1 | Get course user profiles by id | |
core_user_get_users_by_courseid() | moodle_user_get_users_by_courseid() | 2.1 | Get enrolled users by course id | |
core_user_get_users() | 2.2 | Get users from a specifed key/value | MDL-27985 | |
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_groupmembers() | moodle_group_get_groupmembers() | 2.0 | Returns group members | |
core_group_add_groupmembers() | moodle_group_add_groupmembers() | 2.0 | Adds group members | |
core_group_delete_groupmembers() | moodle_group_delete_groupmembers() | 2.0 | Deletes group members | |
Role | ||||
core_role_assign() | moodle_role_assign() | 2.0 | Manual role assignments | |
core_role_unassign() | moodle_role_unassign() | 2.0 | Manual role unassignments | |
Enrol | ||||
core_enrol_get_enrolled_users() | moodle_enrol_get_enrolled_users() | 2.0 | get some minimal information about the users enrolled in a course (DEPRECATED) | |
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_enrolment() | 2.2 | |||
Enrol/cohort | ||||
enrol_cohort_enrol_users() | 2.2 | |||
enrol_cohort_unenrol_users() | 2.2 | |||
Enrol/self | ||||
enrol_self_enrol_users() | 2.2 | |||
enrol_self_unenrol_users() | 2.2 | |||
Webservice | ||||
core_webservice_get_siteinfo() | moodle_webservice_get_siteinfo() | 2.1 | Return some site info / user info / list web service functions | |
Message | ||||
core_message_send_instantmessages() | moodle_message_send_instantmessages() | 2.1 | Send instant messages | |
core_message_get_instantmessages() | 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_event_create_event() | 2.2 | triggers an event | ||
Calendar | ||||
block_calendar_create_events() | 2.2 | |||
block_calendar_update_events() | 2.2 | |||
block_calendar_delete_events() | 2.2 | |||
Private file | ||||
core_file_get_files() | moodle_file_get_files() | 2.0 | browse moodle files | |
core_file_upload() | moodle_file_upload() | 2.0 | upload a file to moodle (DEPRECATED) | |
core_file_create_files() | 2.2 | can also do folders via a flag | ||
core_file_update_files() | 2.2 | |||
core_file_delete_files() | 2.2 | |||
Category | ||||
core_category_create_categories() | 2.2 | |||
core_category_delete_categories() | 2.2 | |||
core_category_update_categories() | 2.2 | |||
core_category_get_categories() | 2.2 | |||
Grade | ||||
core_grade_get_grades() | 2.2 | for user, course, activity etc | ||
core_grade_get_scales() | 2.2 | |||
core_grade_get_outcomes() | 2.2 | |||
core_grade_update_grades() | 2.2 | including feedback | ||
core_grade_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_comment_get_comments() | 2.2 | |||
core_comment_create_comments() | 2.2 | |||
core_comment_update_comments() | 2.2 | |||
core_comment_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 |