joomla + moodle = joomdle

Post on 23-Jun-2015

5.029 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

JoomdleJoomla + Moodle =

Julien Roubieu - julien@obiz.com.br

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

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

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

Moodle

• Learning Management System

• GPL

• PHP / Mysql, PostreSQL, Oracle, MS SQL

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

Moodle

• Inscrições

• Grupos e Papeis e usuários

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

• Arquitetura modular

• Temas

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

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

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

Joomdle - Administração

Joomdle - Administração

Joomdle - Administração

Joomdle - Administração

Joomdle - Administração

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

XML-RPC

Fonte: www.xmlrpc.com

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>

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

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

Sincronização de usuários Joomla > Moodle

joomdlehooks.php

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>! <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

Plugin de usuário

onAuthenticate

onLoginUser

onLoginFailure

onLogoutUser

onBeforeStoreUser

onAfterStoreUser

onBeforeDeleteUser

onAfterDeleteUser

Sincronização de usuários Joomla > Moodle

joomdlehooks.php

Sincronização de usuários Joomla > Moodle

function onAfterStoreUser ($user, ...){

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

$username);

}

joomdlehooks.php

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

Sincronização de usuários Joomla > Moodle

helpers/content.php

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

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

Sincronização de usuários Joomla > Moodle

externallib.php

auth.php

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

Sincronização de usuários Joomla > Moodle

externallib.php

auth.php

Sincronização de usuários Joomla > Moodle

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

externallib.php

auth.php

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

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

Sincronização de usuários Joomla > Moodle

auth.php

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

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

Sincronização de usuários Joomla > Moodle

joomdle.php

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>! <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

Sincronização de usuários Joomla > Moodle

joomdle.php

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

Sincronização de usuários Joomla > Moodle

joomdle.php

Sincronização de usuários Joomla > Moodle

function createUser ($userinfo) {

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

joomdle.php

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

Sincronização de usuários Joomla > Moodle

helpers/users.php

Sincronização de usuários Joomla > Moodle

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

helpers/users.php

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

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

SSO Joomla > Moodle

SSO Joomla > Moodle

LoginAuthentication

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

cURL Loginland.php

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

cURL Loginland.php

SSO Joomla > Moodle

joomdlehooks.php

LoginAuthentication

cURL Loginland.php

SSO Joomla > Moodle

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

• Cursos disponíveis

• Meus cursos

• Minhas notas

• Calendário de eventos

• Mentores

• ABC

Módulos

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

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

JomSocial

Community Builder

XMAP

AEC

Integrações

VirtueMart

Tienda

AcyMailing

Joomfish

julien@obiz.com.br

blog.obiz.com.br

slideshare.net / obiz

www.eventials.com / jdbr11

Obrigado

top related