2016-05-14 4 views
2

Derzeit moodle Unterstützung 4 mnet Dienste hinzufügenWie mehr mnet Service mit moodle Website Basis

1. Remote enrolment service 
2. Portfolio services 
3. SSO (Identity Provider) 
4. SSO (Service Provider) 

mehr mnet Dienst hinzuzufügen, muss ich manuell hinzufügen Code für admin/mnet/service.php und fügen Sie dann neu in mnet/service (wie existierender Dienst mnetservice_enrol).

Ich beabsichtige, neue Service für Retrive Kurs Detailinformationen von mnet Peer hinzuzufügen. get_remote_courses-Methode ist Rückkehr Kursübersicht nur nicht Kursdetails.

Ich kann kein Dokument darüber finden, ist moodle offizielle Seite. Gibt es etwas Toturiöses darüber? oder einige beraten von Experten?

Antwort

1

Wir können durch Zugabe von mnet.php in yourplugin/db mit Format mehr mnet Service hinzufügen das Gleiche mit dem Hinzufügen eines neuen Webdienstes. Um den neuen Dienst zu aktualisieren, müssen Sie die Version in version.php erhöhen.

2

Ich möchte hier nur Methode, um Kursinhalt mit Webservice statt mit mnet zu bekommen. Moodle unterstützt core_course_get_contents im Webservice, um Kursinhalte zu erhalten.

$publishes = array(
    'mnet_enrol' => array(
     'apiversion' => 1, 
     'classname' => 'enrol_mnet_mnetservice_enrol', 
     'filename' => 'enrol.php', 
     'methods' => array(
      'available_courses', 
      'user_enrolments', 
      'enrol_user', 
      'unenrol_user', 
      'course_enrolments', 
      'category_enrolments' 
     ), 
    ), 
); 
$subscribes = array(
    'mnet_enrol' => array(
     'available_courses' => 'enrol/mnet/enrol.php/available_courses', 
     'user_enrolments' => 'enrol/mnet/enrol.php/user_enrolments', 
     'enrol_user'  => 'enrol/mnet/enrol.php/enrol_user', 
     'unenrol_user'  => 'enrol/mnet/enrol.php/unenrol_user', 
     'course_enrolments' => 'enrol/mnet/enrol.php/course_enrolments', 
     'category_enrolments'=>'enrol/mnet/enrol.php/category_enrolments' 
    ), 
); 

New mnet Servicefunktion ist Geschäft in mnet_remote_rpc Tabelle:

+---------------------+----------------------------------------------+ 
| functionname  | xmlrpcpath         | 
+---------------------+----------------------------------------------+ 
| user_authorise  | auth/mnet/auth.php/user_authorise   | 
| keepalive_server | auth/mnet/auth.php/keepalive_server   | 
| kill_children  | auth/mnet/auth.php/kill_children    | 
| refresh_log   | auth/mnet/auth.php/refresh_log    | 
| fetch_user_image | auth/mnet/auth.php/fetch_user_image   | 
| fetch_theme_info | auth/mnet/auth.php/fetch_theme_info   | 
| update_enrolments | auth/mnet/auth.php/update_enrolments   | 
| keepalive_client | auth/mnet/auth.php/keepalive_client   | 
| kill_child   | auth/mnet/auth.php/kill_child    | 
| available_courses | enrol/mnet/enrol.php/available_courses  | 
| user_enrolments  | enrol/mnet/enrol.php/user_enrolments   | 
| enrol_user   | enrol/mnet/enrol.php/enrol_user    | 
| unenrol_user  | enrol/mnet/enrol.php/unenrol_user   | 
| course_enrolments | enrol/mnet/enrol.php/course_enrolments  | 
| send_content_intent | portfolio/mahara/lib.php/send_content_intent | 
| send_content_ready | portfolio/mahara/lib.php/send_content_ready | 
| category_enrolments | enrol/mnet/enrol.php/category_enrolments  | 
+---------------------+----------------------------------------------+ 

es

require_once('../../config.php'); 

$token = '5733b5401924f1e6dafefd326cafeaca'; 
$domainname = 'http://192.168.1.252'; 
$courseid = optional_param('remoteid', 0, PARAM_INT); 

require_once($CFG->dirroot . '/lib/zend/Zend/Http/Client.php'); 

$functionname = 'core_course_get_contents'; 

$serverurl = $domainname . '/webservice/rest/server.php'. '?wstoken=' . $token . '&wsfunction='.$functionname.'&moodlewsrestformat=json'; 

$client = new Zend_Http_Client($serverurl); 
$client->setParameterPost('courseid', $courseid); 
$response = $client->request(Zend_Http_Client::POST); 

echo $response;