{"id":10214,"date":"2014-10-07T21:51:25","date_gmt":"2014-10-08T02:51:25","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=10214"},"modified":"2014-11-12T20:24:53","modified_gmt":"2014-11-13T01:24:53","slug":"joomdle","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=10214","title":{"rendered":"Joomdle"},"content":{"rendered":"<div class='toc wptoc'>\n<h2>Contents<\/h2>\n<ol class='toc-odd level-1'>\n\t<li>\n\t\t<a href=\"#Important\">Important<\/a>\n\t<\/li>\n\t<li>\n\t\t<a href=\"#Download\">Download<\/a>\n\t<\/li>\n\t<li>\n\t\t<a href=\"#Prerequisies\">Prerequisies<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Moodle_2_Prerequisites\">Moodle 2 Prerequisites<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Prepare_Moodle_2_for_Joomdle\">Prepare Moodle 2 for Joomdle<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Enable_web_services\">Enable web services<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Enable_XMLRPC\">Enable XMLRPC<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_a_Specific_WS_User\">Create a Specific WS User<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Check_User_Capability\">Check User Capability<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Add_a_New_Role\">Add a New Role<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Assign_user_to_the_new_Role\">Assign user to the new Role<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Add_a_new_Service\">Add a new Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Add_Functions_to_Service\">Add Functions to Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Authorize_User_for_the_New_Service\">Authorize User for the New Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_Token\">Create Token<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Allow_frame_embedding_for_Wrapper\">Allow frame embedding for Wrapper<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Install_Joomdle_for_Moodle_2\">Install Joomdle for Moodle 2<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Install_Joomdle_Authentication_Plugin\">Install Joomdle Authentication Plugin<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Configure_Joomdle_for_Moodle\">Configure Joomdle for Moodle<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Add_Functions_to_Service_1\">Add Functions to Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Advanced_Moodle_Configuration_Optional\">Advanced Moodle Configuration (Optional)<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Installing_Joomdle_in_Joomla\">Installing Joomdle in Joomla<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Install_Joomdle_for_Joomla\">Install Joomdle for Joomla<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Configure_Joomdle_for_Joomla\">Configure Joomdle for Joomla<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#System_Health_Check\">System Health Check<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Misc\">Misc<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Check_Joomla_cURL_Support\">Check Joomla cURL Support<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Modify_autoheight.js_for_BigBlueButton\">Modify autoheight.js for BigBlueButton<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#References\">References<\/a>\n\t<\/li>\n<\/ol>\n<\/ol>\n<\/div>\n<div class='wptoc-end'>&nbsp;<\/div>\n<span id=\"Important\"><h2>Important<\/h2><\/span>\n<p>* Backup both Joomla and Moodle sites<\/p>\n<span id=\"Download\"><h2>Download<\/h2><\/span>\n<p>* Download <em>Joomdle R0.95 for Joomla 3.x<\/em>, e.g. <strong>joomdle-0.95-for-joomla30.zip<\/strong>, from <a href=\"http:\/\/www.joomdle.com\/en\/download\/joomdle\">Joomdle download site<\/a><\/p>\n<span id=\"Prerequisies\"><h2>Prerequisies<\/h2><\/span>\n<span id=\"Moodle_2_Prerequisites\"><h3>Moodle 2 Prerequisites<\/h3><\/span>\n<p>* Check <em>Administration > Site administration > Server > Environment > php_extension xmlrpc<\/em> is installed<\/p>\n<span id=\"\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/moodle_install_prerequisites_moodle2_xmlrpc.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/moodle_install_prerequisites_moodle2_xmlrpc-300x8.jpg\" alt=\"moodle_install_prerequisites_moodle2_xmlrpc\" width=\"300\" height=\"8\" class=\"aligncenter size-medium wp-image-10225\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/moodle_install_prerequisites_moodle2_xmlrpc-300x8.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/moodle_install_prerequisites_moodle2_xmlrpc.jpg 743w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Prepare_Moodle_2_for_Joomdle\"><h2>Prepare Moodle 2 for Joomdle<\/h2><\/span>\n<p>* Login Moodle as an admin<br \/>\n* Go to <em>Administration > Site administration > Plugins > Web services > Overview<\/em><br \/>\n* Follow the steps<\/p>\n<span id=\"Enable_web_services\"><h3>Enable web services<\/h3><\/span>\n<span id=\"_1\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableWS.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableWS-300x139.jpg\" alt=\"joomdle_config_moodle_enableWS\" width=\"300\" height=\"139\" class=\"aligncenter size-medium wp-image-10226\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableWS-300x139.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableWS.jpg 494w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Enable_XMLRPC\"><h3>Enable XMLRPC<\/h3><\/span>\n<span id=\"_2\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableXMLRPC.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableXMLRPC-300x237.jpg\" alt=\"joomdle_config_moodle_enableXMLRPC\" width=\"300\" height=\"237\" class=\"aligncenter size-medium wp-image-10227\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableXMLRPC-300x237.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_enableXMLRPC.jpg 690w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Create_a_Specific_WS_User\"><h3>Create a Specific WS User<\/h3><\/span>\n<p>* From Web Services Overview page, click <em>3. Create a specific user<\/em> link<br \/>\n* Or go to <em>Site administration > Users > Accounts > Add a new user<\/em><br \/>\nUsername: <strong>joomdle_conn<\/strong><br \/>\nPassword:<br \/>\nEmail: <strong>joomdle_conn@myjoomla.com<\/strong><\/p>\n<span id=\"Check_User_Capability\"><h3>Check User Capability<\/h3><\/span>\n<p>* From Web Services Overview page, click <em>4. Check user capability<\/em> link<br \/>\n* Select <em>Potential users > Joomdle Connector<\/em><br \/>\n* Select <em>Show this user&#8217;s permissions<\/em> button<\/p>\n<span id=\"_3\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_2-300x289.jpg\" alt=\"joomdle_config_moodle_joomdleConn_checkPerm_2\" width=\"300\" height=\"289\" class=\"aligncenter size-medium wp-image-10228\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_2-300x289.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_2.jpg 595w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Check <em>Use XML-RPC protocol:<\/em> Yes<\/p>\n<span id=\"_4\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_xmlrpc_yes.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_xmlrpc_yes-300x36.jpg\" alt=\"joomdle_config_moodle_joomdleConn_checkPerm_xmlrpc_yes\" width=\"300\" height=\"36\" class=\"aligncenter size-medium wp-image-10229\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_xmlrpc_yes-300x36.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_checkPerm_xmlrpc_yes.jpg 557w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Add_a_New_Role\"><h3>Add a New Role<\/h3><\/span>\n<p>Needed if <em>Use XML-RPC protocol:<\/em> No<br \/>\n* Go to <em>Site administration > Users > Permissions > Define roles<\/em><br \/>\n* Click<em> Add a new role<\/em><\/p>\n<span id=\"_5\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_1-300x264.jpg\" alt=\"joomdle_config_moodle_joomdleConn_createRole_1\" width=\"300\" height=\"264\" class=\"aligncenter size-medium wp-image-10230\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_1-300x264.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_1.jpg 749w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Click <em>Continue <\/em>to the second screen<br \/>\n* Enter web service name:<\/p>\n<span id=\"_6\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_2-291x300.jpg\" alt=\"joomdle_config_moodle_joomdleConn_createRole_2\" width=\"291\" height=\"300\" class=\"aligncenter size-medium wp-image-10231\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_2-291x300.jpg 291w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_2.jpg 454w\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" \/><\/a><\/h6><\/span>\n<p>* Check &#8216;System&#8217; as Context types:<\/p>\n<span id=\"_7\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_3-300x211.jpg\" alt=\"joomdle_config_moodle_joomdleConn_createRole_3\" width=\"300\" height=\"211\" class=\"aligncenter size-medium wp-image-10232\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_3-300x211.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_3.jpg 356w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Check to enable capabilities:<br \/>\n&#8211; Use XML-RPC protocol<\/p>\n<span id=\"_8\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_4-300x27.jpg\" alt=\"joomdle_config_moodle_joomdleConn_createRole_4\" width=\"300\" height=\"27\" class=\"aligncenter size-medium wp-image-10233\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_4-300x27.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_4.jpg 765w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>&#8211; View iscussions<\/p>\n<span id=\"_9\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_5.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_5-300x25.jpg\" alt=\"joomdle_config_moodle_joomdleConn_createRole_5\" width=\"300\" height=\"25\" class=\"aligncenter size-medium wp-image-10234\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_5-300x25.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createRole_5.jpg 659w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Click <em>Create this Role<\/em><\/p>\n<span id=\"Assign_user_to_the_new_Role\"><h3>Assign user to the new Role<\/h3><\/span>\n<p>* Go to <em>Users > Permissions > Assign System roles<\/em>, and select the new role<\/p>\n<span id=\"_10\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_assignRole_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_assignRole_1-300x289.jpg\" alt=\"joomdle_config_moodle_joomdleConn_assignRole_1\" width=\"300\" height=\"289\" class=\"aligncenter size-medium wp-image-10235\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_assignRole_1-300x289.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_assignRole_1.jpg 732w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Add_a_new_Service\"><h3>Add a new Service<\/h3><\/span>\n<p>* Go to <em>Site Administration > Plugins > Web services > External services<\/em><br \/>\n* Add an external service:<\/p>\n<span id=\"_11\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addSvc_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addSvc_1-160x300.jpg\" alt=\"joomdle_config_moodle_joomdleConn_addSvc_1\" width=\"160\" height=\"300\" class=\"aligncenter size-medium wp-image-10236\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addSvc_1-160x300.jpg 160w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addSvc_1.jpg 240w\" sizes=\"auto, (max-width: 160px) 100vw, 160px\" \/><\/a><\/h6><\/span>\n<span id=\"Add_Functions_to_Service\"><h3>Add Functions to Service<\/h3><\/span>\n<p>* See <a href=\"?p=10214#Add_Functions_to_Service_1\">below<\/a><\/p>\n<span id=\"Authorize_User_for_the_New_Service\"><h3>Authorize User for the New Service<\/h3><\/span>\n<p>* Go to <em>Site Administration > Plugins > Web services > External services<\/em><br \/>\n* Click <em>Authorized users<\/em> link for the newly created service:<\/p>\n<span id=\"_12\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_1-300x33.jpg\" alt=\"joomdle_config_moodle_joomdleConn_authUser_1\" width=\"300\" height=\"33\" class=\"aligncenter size-medium wp-image-10237\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_1-300x33.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_1.jpg 718w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Add Joomdle user to authorized users list:<\/p>\n<span id=\"_13\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_2-300x97.jpg\" alt=\"joomdle_config_moodle_joomdleConn_authUser_2\" width=\"300\" height=\"97\" class=\"aligncenter size-medium wp-image-10238\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_2-300x97.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_authUser_2.jpg 650w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Create_Token\"><h3>Create Token<\/h3><\/span>\n<p>* Go to <em>Site Administration > Plugins > Web services > Manage tokens<\/em><br \/>\n* Click on <em>Add<\/em><\/p>\n<span id=\"_14\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createToken_11.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createToken_11-140x300.jpg\" alt=\"joomdle_config_moodle_joomdleConn_createToken_1\" width=\"140\" height=\"300\" class=\"aligncenter size-medium wp-image-10240\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createToken_11-140x300.jpg 140w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_createToken_11.jpg 357w\" sizes=\"auto, (max-width: 140px) 100vw, 140px\" \/><\/a><\/h6><\/span>\n<span id=\"Allow_frame_embedding_for_Wrapper\"><h3>Allow frame embedding for Wrapper<\/h3><\/span>\n<p>* Go to <em>Site Administration > Security > Http Securty<\/em><br \/>\n* Check to enable option <em>Allow frame embedding<\/em><\/p>\n<span id=\"_15\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_allowFrame.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_allowFrame-161x300.jpg\" alt=\"joomdle_config_moodle_joomdleConn_allowFrame\" width=\"161\" height=\"300\" class=\"aligncenter size-medium wp-image-10241\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_allowFrame-161x300.jpg 161w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_allowFrame.jpg 382w\" sizes=\"auto, (max-width: 161px) 100vw, 161px\" \/><\/a><\/h6><\/span>\n<span id=\"Install_Joomdle_for_Moodle_2\"><h2>Install Joomdle for Moodle 2<\/h2><\/span>\n<p>* To allow Moodle to authenticate with Joomla! you will need to install and configure the Joomdle authentication plugin.<br \/>\n* This plugin can be found in the Joomdle installation package called <strong>auth_joomdle.zip<\/strong> <em>moodle20<\/em> directory<\/p>\n<span id=\"Install_Joomdle_Authentication_Plugin\"><h3>Install Joomdle Authentication Plugin<\/h3><\/span>\n<p>* Download Joomdle, e.g. <em>joomdle-0.95-for-joomla30.zip<\/em><br \/>\n* Extract <strong>auth_joomdle.zip<\/strong> from <em>moodle20 <\/em>directory<br \/>\n* Login Moodle as an admin<br \/>\n* Go to <em>Site administration > Plugins > Install plugins<\/em><br \/>\n* Select:<br \/>\n&#8211; Plugin type: Authentication method (auth)<br \/>\n&#8211; Zip package: auth_joomdle.zip<\/p>\n<span id=\"_16\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_authPlugin_install_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_authPlugin_install_1-300x273.jpg\" alt=\"joomdle_config_moodle_authPlugin_install_1\" width=\"300\" height=\"273\" class=\"aligncenter size-medium wp-image-10242\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_authPlugin_install_1-300x273.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_authPlugin_install_1.jpg 625w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Click <em>Install plugin from the ZIP file<\/em> button<\/p>\n<span id=\"Configure_Joomdle_for_Moodle\"><h3>Configure Joomdle for Moodle<\/h3><\/span>\n<p>* Go to <em>Site administration > Plugins > Authentication > Manage authentication<\/em><br \/>\n* Activate Joomdle plugin<br \/>\n* Click Joomdle <em>Settings<\/em> link<br \/>\n* Enter Joomla site information:<br \/>\n&#8211; Joomla URL: <strong>http:\/\/myjoomla.com<\/strong><br \/>\n&#8211; Connection method: <strong>cURL<\/strong><\/p>\n<span id=\"Add_Functions_to_Service_1\"><h3>Add Functions to Service<\/h3><\/span>\n<p>* Go to <em>Site Administration > Plugins > Web services > External services<\/em><br \/>\n* Click Joomdle external service <em>Functions<\/em> link<\/p>\n<span id=\"_17\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_1-300x54.jpg\" alt=\"joomdle_config_moodle_joomdleConn_addFunctions_1\" width=\"300\" height=\"54\" class=\"aligncenter size-medium wp-image-10243\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_1-300x54.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_1.jpg 709w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Click <em>Add functions<\/em> link<\/p>\n<span id=\"_18\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_2-300x49.jpg\" alt=\"joomdle_config_moodle_joomdleConn_addFunctions_2\" width=\"300\" height=\"49\" class=\"aligncenter size-medium wp-image-10244\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_2-300x49.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_2.jpg 489w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Search for <strong>Joomdle <\/strong>and add <strong>all<\/strong> functions<\/p>\n<span id=\"_19\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_3-300x217.jpg\" alt=\"joomdle_config_moodle_joomdleConn_addFunctions_3\" width=\"300\" height=\"217\" class=\"aligncenter size-medium wp-image-10245\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_3-300x217.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_moodle_joomdleConn_addFunctions_3.jpg 638w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Advanced_Moodle_Configuration_Optional\"><h3>Advanced Moodle Configuration (Optional)<\/h3><\/span>\n<span id=\"Installing_Joomdle_in_Joomla\"><h2>Installing Joomdle in Joomla<\/h2><\/span>\n<span id=\"Install_Joomdle_for_Joomla\"><h3>Install Joomdle for Joomla<\/h3><\/span>\n<p>* Download Joomdle, e.g. <em>joomdle-0.95-for-joomla30.zip<\/em><br \/>\n* Extract <strong>joomdle-joomla-package.zip<\/strong><br \/>\n* Login Joomla site as an admin<br \/>\n* Go to <em>Extensions > Extension Manager<\/em><br \/>\n* Select <em>Upload Package File<\/em> tab<br \/>\n* Browse and select <em>joomdle-joomla-package.zip<\/em><br \/>\n* Click <em>Upload &#038; Install<\/em> button<\/p>\n<span id=\"_20\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_install_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_install_1-300x153.jpg\" alt=\"joomdle_config_joomla_joomdle_install_1\" width=\"300\" height=\"153\" class=\"aligncenter size-medium wp-image-10247\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_install_1-300x153.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_install_1.jpg 706w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Configure_Joomdle_for_Joomla\"><h3>Configure Joomdle for Joomla<\/h3><\/span>\n<p>* Go to <em>Components > Joomla > Configuration<\/em><\/p>\n<span id=\"_21\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_config_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_config_1-300x169.jpg\" alt=\"joomdle_config_joomla_joomdle_config_1\" width=\"300\" height=\"169\" class=\"aligncenter size-medium wp-image-10250\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_config_1-300x169.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdle_config_1.jpg 722w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* General config:<br \/>\n&#8211; Moodle URL: http:\/\/lms.myjoomla.com<br \/>\n&#8211; Moodle version: Moodle 2.x<br \/>\n&#8211; Moodle 2.x auth token: copy_paste_from_moodle<br \/>\n&#8211; Connection method: cURL<\/p>\n<span id=\"System_Health_Check\"><h3>System Health Check<\/h3><\/span>\n<p>* <em>XML-RPC PHP<\/em> extension is enabled<br \/>\n&#8211; <em>System > System Information > PHP Information<\/em><\/p>\n<span id=\"_22\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_xmlrpc_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_xmlrpc_1-300x111.jpg\" alt=\"joomdle_config_joomla_xmlrpc_1\" width=\"300\" height=\"111\" class=\"aligncenter size-medium wp-image-10252\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_xmlrpc_1-300x111.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_xmlrpc_1.jpg 611w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* PHP option <em>allow_url_fopen<\/em> is on<br \/>\n&#8211; <em>System > System Information > PHP Information<\/em><\/p>\n<span id=\"_23\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_allow_url_fopen_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_allow_url_fopen_1-300x76.jpg\" alt=\"joomdle_config_joomla_allow_url_fopen_1\" width=\"300\" height=\"76\" class=\"aligncenter size-medium wp-image-10253\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_allow_url_fopen_1-300x76.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_allow_url_fopen_1.jpg 721w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Joomdlehooks User Plugin enabled<br \/>\n&#8211; <em>Extensions > Plugin Manager<\/em><\/p>\n<span id=\"_24\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdlehooks_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdlehooks_1-300x109.jpg\" alt=\"joomdle_config_joomla_joomdlehooks_1\" width=\"300\" height=\"109\" class=\"aligncenter size-medium wp-image-10254\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdlehooks_1-300x109.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_joomdlehooks_1.jpg 986w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Joomla to Moodle HTTP connectivity<br \/>\n* Moodle to Joomla HTTP connectivity<br \/>\n* Joomdle Web Services<\/p>\n<span id=\"_25\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_systemCheck_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_systemCheck_1-300x196.jpg\" alt=\"joomdle_config_joomla_systemCheck_1\" width=\"300\" height=\"196\" class=\"aligncenter size-medium wp-image-10255\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_systemCheck_1-300x196.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_systemCheck_1.jpg 651w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Misc\"><h2>Misc<\/h2><\/span>\n<span id=\"Check_Joomla_cURL_Support\"><h3>Check Joomla cURL Support<\/h3><\/span>\n<p>* Login Joomla site as an admin<br \/>\n* Go to <em>System > System Information<\/em><br \/>\n* Select <em>PHP Information<\/em><br \/>\n* Search for <strong>curl<\/strong><br \/>\n* If cURL is installed and enabled:<\/p>\n<span id=\"_26\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_curl_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2014\/10\/joomdle_config_joomla_curl_1.jpg\" alt=\"joomdle_config_joomla_curl_1\" width=\"219\" height=\"113\" class=\"aligncenter size-full wp-image-10251\" \/><\/a><\/h6><\/span>\n<span id=\"Modify_autoheight.js_for_BigBlueButton\"><h3>Modify autoheight.js for BigBlueButton<\/h3><\/span>\n<p>* This is modified for BigBlueButton display:<br \/>\n* Replace <em>components\/com_joomdle\/js\/autoheight.js<\/em> with<\/p>\n<pre lang=\"javascript\">\r\nfunction itspower( ifRef, setW, setH, fMargin ) {\r\n\tifRef.height = 1;\r\n\tvar ifDoc, margin = typeof fMargin === 'number' ? fMargin : 16, h, w, sTop, sLeft;\r\n \t\r\n\ttry {\r\n\t\t\/\/ifDoc = ifRef.contentWindow.document.documentElement;\r\n\t\tifDoc = (ifRef.contentWindow|| ifRef.conentDocument);\r\n \t}\r\n \r\n \tcatch( e ){ ifDoc = null; }\r\n\r\n \tif( ifDoc )\t{\r\n  \t\tsLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\r\n  \t\tsTop = document.body.scrollTop + document.documentElement.scrollTop;\r\n\r\n\t\t  if( setH )  {\r\n\t\t\t   \/\/h = document.body.scrollHeight;\r\n\t\t\t   ifRef.height = 1;\r\n\t\t\t   \/\/ifRef.height = h + margin;\r\n\t\t\t   ifRef.height = window.outerHeight;\r\n\t\t  }\r\n\t\t\r\n\t\t  if( setW ) {\r\n\t\t\t   \/\/w = document.body.scrollWidth;\r\n\t\t\t   ifRef.width = 1;\r\n\t\t\t   ifRef.width = w + margin;\r\n\t\t  }\r\n \t}\r\n\r\n \twindow.scrollTo( sLeft, sTop );\r\n}\r\n<\/pre>\n<span id=\"References\"><h2>References<\/h2><\/span>\n<p>* <a href=\"http:\/\/www.joomdle.com\/en\/\">http:\/\/www.joomdle.com\/en\/<\/a><br \/>\n* <a href=\"http:\/\/www.joomdle.com\/wiki\/Installation\">http:\/\/www.joomdle.com\/wiki\/Installation<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Important * Backup both Joomla and Moodle sites Download * Download Joomdle R0.95 for Joomla 3.x, e.g. joomdle-0.95-for-joomla30.zip, from Joomdle download site Prerequisies Moodle 2 Prerequisites * Check Administration > Site administration > Server > Environment > php_extension xmlrpc is &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=10214\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[473,510],"tags":[511,642,647],"class_list":["post-10214","post","type-post","status-publish","format-standard","hentry","category-joomla","category-moodle","tag-joomdle","tag-joomla","tag-moodle"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s8cRUO-joomdle","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/10214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10214"}],"version-history":[{"count":10,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/10214\/revisions"}],"predecessor-version":[{"id":10374,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/10214\/revisions\/10374"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}