Joomla + Moodle = Joomdle

5.611 visualizações

Publicada em

Apresentação dada por Julien Roubieu no Joomla Day Brasil 2011, em Florianópolis.

Sumário:
- Apresentação do Joomdle
- Arquitetura do Joomdle
- Sincronização de usuários
- Single Sign On
- Módulos
- Extensões

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
5.611
No SlideShare
0
A partir de incorporações
0
Número de incorporações
468
Ações
Compartilhamentos
0
Downloads
137
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Joomla + Moodle = Joomdle

  1. 1. Joomla + Moodle=Joomdle
  2. 2. Julien Roubieu - julien@obiz.com.brObiz - www.obiz.com.br - Integrador Open Source
  3. 3. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  4. 4. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  5. 5. Moodle• Learning Management System• GPL• PHP / Mysql, PostreSQL, Oracle, MS SQL• 50.000 sites, 37M usuários, 1M Comunidade
  6. 6. Moodle• Inscrições• Grupos e Papeis e usuários• Atividades: Forum de discussão, Chat, Avaliações e notas, Wiki• Arquitetura modular• Temas
  7. 7. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  8. 8. Joomdle• www.joomdle.com• Desde 2009• Antonio Durán Terrás e Chris Rogers• v.0.6 para Joomla 1.5 e Moodle 2.1• 1200 pessoas na comunidade
  9. 9. Possibilidades• Single Sign On• Sincronização de usuários e perfis• Mostrar conteúdo do Moodle no Joomla• Venda de cursos Moodle• Pesquisa de conteúdo Moodle no Joomla
  10. 10. Joomdle - Administração
  11. 11. Joomdle - Administração
  12. 12. Joomdle - Administração
  13. 13. Joomdle - Administração
  14. 14. Joomdle - Administração
  15. 15. Arquitetura Plugin deMódulos Inscrição abc Plugins enrol/joomdle courses joomdlemy_courses joomdlehooks calendar joomdlesessionmy_grades search_... mentees Plugin de XML-RPC Autenticação auth/joomdle Componente joomdle
  16. 16. XML-RPCFonte: www.xmlrpc.com
  17. 17. XML-RPCPOST /RPC2 HTTP/1.0User-Agent: Frontier/5.1.2 (WinNT)Host: betty.userland.comContent-Type: text/xmlContent-length: 181<?xml version="1.0"?><methodCall> <methodName> examples.getStateName </methodName> <params> <param> <value> <i4> 41 </i4> </value> </param> </params></methodCall>
  18. 18. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  19. 19. Sincronização de usuários Joomla > Moodle Plugin de Plugins InscriçãoMódulos joomdlehooks.php Plugin de Autenticação XML-RPC externallib.php helpers/content.php Componente auth.php
  20. 20. Sincronização de usuários Joomla > Moodlejoomdlehooks.php
  21. 21. Sincronização de usuários Joomla > Moodle <install version="1.5" type="plugin" group="user"> ! <name>User hooks - Joomdle</name> ! <author>Antonio Duran Terres</author> ! <authorEmail>antonio.duran.terres@gmail.com</ authorEmail> ! <license>GNU/GPL</license> ! <authorEmail>antonio.duran.terres@gmail.com</ authorEmail>joomdlehooks.php ! <authorUrl>www.joomdle.com</authorUrl> ! <version>0.24</version> ! <description>Joomdle hooks for SSO</ description> ! <files> ! ! <filename plugin="joomdlehooks"> joomdlehooks.php </filename> ! </files> ! <languages></languages> ! <params></params> </install>
  22. 22. Plugin de usuárioonAuthenticateonLoginUseronLoginFailureonLogoutUseronBeforeStoreUseronAfterStoreUseronBeforeDeleteUseronAfterDeleteUser
  23. 23. Sincronização de usuários Joomla > Moodlejoomdlehooks.php
  24. 24. Sincronização de usuários Joomla > Moodle function onAfterStoreUser ($user, ...) {joomdlehooks.php .... JoomdleHelperContent::call_method ( "create_joomdle_user", $username ); }
  25. 25. Sincronização de usuários Joomla > Moodle Plugin de Plugins InscriçãoMódulos joomdlehooks.php Plugin de Autenticação XML-RPC externallib.php helpers/content.php Componente auth.php
  26. 26. Sincronização de usuários Joomla > Moodlehelpers/content.php
  27. 27. Sincronização de usuários Joomla > Moodle $request = xmlrpc_encode_request( "joomdle_".$method, array ($params) , array (encoding => utf8)); $headers = array(); array_push($headers,"Content-Type: text/xml");helpers/content.php $c = curl_init(); curl_setopt($c, CURLOPT_URL, $moodle_url); curl_setopt($c, CURLOPT_HTTPHEADER, $headers); curl_setopt($c, CURLOPT_POSTFIELDS, $request); $file = curl_exec( $ch ); /* Run! */
  28. 28. Sincronização de usuários Joomla > Moodle Plugin de Plugins InscriçãoMódulos joomdlehooks.php Plugin de Autenticação XML-RPC externallib.php helpers/content.php Componente auth.php
  29. 29. Sincronização de usuários Joomla > Moodle externallib.php auth.php
  30. 30. Sincronização de usuários Joomla > Moodlefunction create_joomdle_user($username) { .... $auth = new auth_plugin_joomdle(); $id = $auth->create_joomdle_user($username); externallib.php return $id;} auth.php
  31. 31. Sincronização de usuários Joomla > Moodle externallib.php auth.php
  32. 32. Sincronização de usuários Joomla > Moodlefunction create_joomdle_user($username) { ... externallib.php $user = create_user_record( $username, "", auth.php "joomdle" );...}
  33. 33. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  34. 34. Sincronização de usuários Moodle > Joomla Plugin de Plugins InscriçãoMódulos joomdle.php Plugin de Autenticação XML-RPC helpers/users.php auth.php Componente
  35. 35. Sincronização de usuários Joomla > Moodle auth.php
  36. 36. Sincronização de usuários Joomla > Moodlefunction joomdle_user_created ($user){ ... auth_plugin_joomdle::call_method ("createUser", $userinfo); ...} auth.php$request = xmlrpc_encode_request( "joomdle.createUser", array ($params), $options);...curl_exec( $ch ); /* run! */
  37. 37. Sincronização de usuários Moodle > Joomla Plugin de Plugins InscriçãoMódulos joomdle.php Plugin de Autenticação XML-RPC helpers/users.php auth.php Componente
  38. 38. Sincronização de usuários Joomla > Moodlejoomdle.php
  39. 39. Sincronização de usuários Joomla > Moodle <install version="1.5" type="plugin" group="xmlrpc"> ! <name>XML-RPC - Joomdle</name> ! <author>Antonio Duran Terres</author> ! <authorEmail>antonio.duran.terres@gmail.com</ authorEmail> ! <license>GNU/GPL</license> ! <authorEmail>antonio.duran.terres@gmail.com</ authorEmail> ! <authorUrl>www.joomdle.com</authorUrl> ! <version>0.23</version>joomdle.php ! <description>Joomdle services for SSO</description> ! <files> ! ! <filename plugin="joomdle"> joomdle.php </filename> ! </files> ! <languages></languages> ! <params> <param name="moodle_ip" default="0" ... /> </params> </install>
  40. 40. Sincronização de usuários Joomla > Moodlejoomdle.php
  41. 41. Sincronização de usuários Joomla > Moodle function onGetWebServices() { global $xmlrpcStruct, $xmlrpcInt, ...; /* Declara todas as funções XML-RPC */ return array( joomdle.createUser => array(joomdle.php function => plgXMLRPCJoomdleServices::createUser, ! ! docstring => ..., ! ! signature => array(array ($xmlrpcStruct, $xmlrpcStruct )) ! ! ), ... ); }
  42. 42. Sincronização de usuários Joomla > Moodlejoomdle.php
  43. 43. Sincronização de usuários Joomla > Moodle function createUser ($userinfo) { /* Verifica IP de origem da chamada */ ...joomdle.php JoomdleHelperUsers::create_joomla_user( $userinfo ); ... }
  44. 44. Sincronização de usuários Moodle > Joomla Plugin de Plugins InscriçãoMódulos joomdle.php Plugin de Autenticação XML-RPC helpers/users.php auth.php Componente
  45. 45. Sincronização de usuários Joomla > Moodlehelpers/users.php
  46. 46. Sincronização de usuários Joomla > Moodle $user = new JUser();helpers/users.php /* set user attributes here */ $user->save()
  47. 47. Sincronização de usuários Moodle > Joomla Plugin de Plugins InscriçãoMódulos joomdle.php Plugin de Autenticação XML-RPC helpers/users.php auth.php Componente
  48. 48. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  49. 49. SSO Joomla > Moodle
  50. 50. SSO Joomla > MoodleLogin Authentication
  51. 51. SSO Joomla > MoodleLogin Authentication joomdlehooks.php
  52. 52. SSO Joomla > MoodleLogin Authentication cURL Login joomdlehooks.php land.php
  53. 53. SSO Joomla > MoodleLogin Authentication cURL Login joomdlehooks.php land.php
  54. 54. SSO Joomla > MoodleLogin Authentication cURL Login joomdlehooks.php land.php
  55. 55. SSO Joomla > Moodle
  56. 56. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  57. 57. Módulos• Cursos disponíveis• Meus cursos• Minhas notas• Calendário de eventos• Mentores• ABC
  58. 58. Estrutura dos módulos Plugin de Módulos Inscrição Pluginsmod_joomdle_... Plugin de Autenticação XML-RPC externallib.php helpers/content.php Componente auth.php
  59. 59. SumárioIntrodução ao MoodleApresentação do JoomdleSincronização de usuários (J-M e M-J)Single Sign-On (SSO)MódulosExtensões
  60. 60. IntegraçõesJomSocial VirtueMartCommunity Builder TiendaXMAP AcyMailingAEC Joomfish
  61. 61. Obrigadojulien@obiz.com.brblog.obiz.com.brslideshare.net / obizwww.eventials.com / jdbr11

×