joomla + moodle = joomdle

65
Joomdle Joomla + Moodle =

Upload: obiz

Post on 23-Jun-2015

5.029 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Joomla + Moodle = Joomdle

JoomdleJoomla + Moodle =

Page 2: Joomla + Moodle = Joomdle

Julien Roubieu - [email protected]

Obiz - www.obiz.com.br - Integrador Open Source

Page 3: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 4: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 5: Joomla + Moodle = Joomdle

Moodle

• Learning Management System

• GPL

• PHP / Mysql, PostreSQL, Oracle, MS SQL

• 50.000 sites, 37M usuários, 1M Comunidade

Page 6: Joomla + Moodle = Joomdle

Moodle

• Inscrições

• Grupos e Papeis e usuários

• Atividades: Forum de discussão, Chat, Avaliações e notas, Wiki

• Arquitetura modular

• Temas

Page 7: Joomla + Moodle = Joomdle
Page 8: Joomla + Moodle = Joomdle
Page 9: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 10: Joomla + Moodle = Joomdle

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

Page 11: Joomla + Moodle = Joomdle

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

Page 12: Joomla + Moodle = Joomdle
Page 13: Joomla + Moodle = Joomdle
Page 14: Joomla + Moodle = Joomdle

Joomdle - Administração

Page 15: Joomla + Moodle = Joomdle

Joomdle - Administração

Page 16: Joomla + Moodle = Joomdle

Joomdle - Administração

Page 17: Joomla + Moodle = Joomdle

Joomdle - Administração

Page 18: Joomla + Moodle = Joomdle

Joomdle - Administração

Page 19: Joomla + Moodle = Joomdle

Arquitetura

Componentejoomdle

Módulosabc

coursesmy_courses

calendarmy_gradesmentees

Pluginsjoomdle

joomdlehooksjoomdlesession

search_...

Plugin de Autenticação

auth/joomdle

Plugin de Inscrição

enrol/joomdle

XML-RPC

Page 20: Joomla + Moodle = Joomdle

XML-RPC

Fonte: www.xmlrpc.com

Page 21: Joomla + Moodle = Joomdle

XML-RPC

POST /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>

Page 22: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 23: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

joomdlehooks.php

helpers/content.php

externallib.php

auth.php

Page 24: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

joomdlehooks.php

Page 25: Joomla + Moodle = Joomdle

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>[email protected]</authorEmail>! <license>GNU/GPL</license>! <authorEmail>[email protected]</authorEmail>! <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>

joomdlehooks.php

Page 26: Joomla + Moodle = Joomdle

Plugin de usuário

onAuthenticate

onLoginUser

onLoginFailure

onLogoutUser

onBeforeStoreUser

onAfterStoreUser

onBeforeDeleteUser

onAfterDeleteUser

Page 27: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

joomdlehooks.php

Page 28: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

function onAfterStoreUser ($user, ...){

....JoomdleHelperContent::call_method ( "create_joomdle_user",

$username);

}

joomdlehooks.php

Page 29: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

joomdlehooks.php

helpers/content.php

externallib.php

auth.php

Page 30: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

helpers/content.php

Page 31: Joomla + Moodle = Joomdle

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");

$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! */

helpers/content.php

Page 32: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

joomdlehooks.php

helpers/content.php

externallib.php

auth.php

Page 33: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

externallib.php

auth.php

Page 34: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

function create_joomdle_user($username) { .... $auth = new auth_plugin_joomdle(); $id = $auth->create_joomdle_user($username);

return $id;}

externallib.php

auth.php

Page 35: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

externallib.php

auth.php

Page 36: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

function create_joomdle_user($username) { ... $user = create_user_record( $username, "", "joomdle" );...}

externallib.php

auth.php

Page 37: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 38: Joomla + Moodle = Joomdle

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

joomdle.php

helpers/users.php auth.php

Sincronização de usuários Moodle > Joomla

Page 39: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

auth.php

Page 40: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

function joomdle_user_created ($user){ ... auth_plugin_joomdle::call_method ("createUser", $userinfo); ...}

$request = xmlrpc_encode_request( "joomdle.createUser", array ($params), $options);...curl_exec( $ch ); /* run! */

auth.php

Page 41: Joomla + Moodle = Joomdle

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

joomdle.php

helpers/users.php auth.php

Sincronização de usuários Moodle > Joomla

Page 42: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

joomdle.php

Page 43: Joomla + Moodle = Joomdle

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>[email protected]</authorEmail>! <license>GNU/GPL</license>! <authorEmail>[email protected]</authorEmail>! <authorUrl>www.joomdle.com</authorUrl>! <version>0.23</version>! <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>

joomdle.php

Page 44: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

joomdle.php

Page 45: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

function onGetWebServices(){ global $xmlrpcStruct, $xmlrpcInt, ...;

/* Declara todas as funções XML-RPC */ return array( 'joomdle.createUser' => array( 'function' => 'plgXMLRPCJoomdleServices::createUser',! ! 'docstring' => ...,! ! 'signature' => array(array ($xmlrpcStruct, $xmlrpcStruct ))! ! ), ... );}

joomdle.php

Page 46: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

joomdle.php

Page 47: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

function createUser ($userinfo) {

/* Verifica IP de origem da chamada */ ...JoomdleHelperUsers::create_joomla_user( $userinfo ); ...}

joomdle.php

Page 48: Joomla + Moodle = Joomdle

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

joomdle.php

helpers/users.php auth.php

Sincronização de usuários Moodle > Joomla

Page 49: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

helpers/users.php

Page 50: Joomla + Moodle = Joomdle

Sincronização de usuários Joomla > Moodle

$user = new JUser();/* set user attributes here */$user->save()

helpers/users.php

Page 51: Joomla + Moodle = Joomdle

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

joomdle.php

helpers/users.php auth.php

Sincronização de usuários Moodle > Joomla

Page 52: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 53: Joomla + Moodle = Joomdle

SSO Joomla > Moodle

Page 54: Joomla + Moodle = Joomdle

SSO Joomla > Moodle

LoginAuthentication

Page 55: Joomla + Moodle = Joomdle

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

Page 56: Joomla + Moodle = Joomdle

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

cURL Loginland.php

Page 57: Joomla + Moodle = Joomdle

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

cURL Loginland.php

Page 58: Joomla + Moodle = Joomdle

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

cURL Loginland.php

Page 59: Joomla + Moodle = Joomdle

SSO Joomla > Moodle

Page 60: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 61: Joomla + Moodle = Joomdle

• Cursos disponíveis

• Meus cursos

• Minhas notas

• Calendário de eventos

• Mentores

• ABC

Módulos

Page 62: Joomla + Moodle = Joomdle

Estrutura dos módulos

Componente

Módulos

Plugins

Plugin de Autenticação

Plugin de Inscrição

XML-RPC

mod_joomdle_...

helpers/content.php

externallib.php

auth.php

Page 63: Joomla + Moodle = Joomdle

Sumário

Introdução ao Moodle

Apresentação do Joomdle

Sincronização de usuários (J-M e M-J)

Single Sign-On (SSO)

Módulos

Extensões

Page 64: Joomla + Moodle = Joomdle

JomSocial

Community Builder

XMAP

AEC

Integrações

VirtueMart

Tienda

AcyMailing

Joomfish

Page 65: Joomla + Moodle = Joomdle

[email protected]

blog.obiz.com.br

slideshare.net / obiz

www.eventials.com / jdbr11

Obrigado