Criar Curso no Moodle com Comando SQL Se você estiver fazendo migração de dados ou integração de um sistema acadêmico com a Plataforma Moodle, certamente vai precisar criar curso no Moodle diretamente no banco de dados sem usar a interface do Moodle. Isso implica conhecer a estrutura das tabelas da base de dados do Moodle e fazer INSERT nas tabelas certas. Bem, isso me custou muitas horas de pesquisa. No final descobri que é necessário fazer apenas 4 INSERT básicos. Bem, vamos lá. São três passos. Os comandos SQL foram testados na versão 1.9.3 do Moodle. Devem funcionar para qualquer versão 1.9.x e não para versão inferior a 1.9. 1º Passo ± Criar o Curso Essa parte é mais moleza. Basta fazer um INSERT na tabela mdl_course com o seguinte comando SQL: INSERT INTO mdl_course (category,fullname,shortname) VALUES (1,'Curso1','C1') Embora a tabela importantes: y y y mdl_course tenha muitas colunas, nesse exe mplo foram usadas os mais category - Chave estrangeira da tabela de categoria de curso - mdl_course_categories fullname ± Nome complete do curso shortname ± Abreviatura do curso No comando INSERT, foi criado um curso denominado Curso1 na categoria de curso padrão do Moodle, cujo id é 1. Após executar o INSERT, recupera o id do curso gerado automaticamente pelo banco de dados. No MySQL use o comando LAST_INSERT_ID(). 2º Passo ± Criar Contexto do Curso Com o curso criado, agora é necessár io criar contexto do curso na tabela mdl_context com o seguinte comando SQL: INSERT INTO mdl_context (contextlevel,instanceid) VALUES (50,?) O campo contextlevel define o nível do contexto. Para curso 50 é o valor padrão da tabela de domínio. O campo instanceid é a instância do curso. Preencha esse campo com o valor do Id do curso gerado automaticamente no 1º passo. Ao executar o comando SQL, recupere o id do contexto gerado automaticamente. Use esse id para atualizar duas colunas: path e depth. Para isso, execute o seguinte comando SQL: UPDATE mdl_context SET path='/1/3/$ID_CONTEXT', depth=3 WHERE id=$ID_CONTEXT Você precisa substituir a variável $ID_CONTEXT pelo id gerado automaticamente do INSERT anterior, ao executar o comando para criar o contexto do curso. Se o id for 10, o comando SQL de atualização será: UPDATE mdl_context SET path='/1/3/10', depth=3 WHERE id=10 Nesse momento você deve estar perguntando por que o campo path recebe '/1/3/$ID_CONTEXT' como valor padrão e o campo depth o número 3. Ainda não encontrei a resposta. Assim como você, eu também estou perguntando. Só sei que demorei três semanas mudando de variável até que funcionou. Se não preencher esses campos, nenhum usuário consegue entrar no curso. Se você encontrar alguma explicação não esqueça de me avisar. 3º Passo ± Criar tópico/seção padrão do curso Ao criar o curso no 1º passo, não foi definido o formato. Por padrão, será criado curso em formato de tópico. Assim, é necessário cria um primeiro tópico, o tópico número zero, do curso. Para isso, execute o seguinte comando SQL: INSERT INTO mdl_course_sections (course,section) VALUES (?,0) Na coluna course o valor do parâmetro é o id do curso gerado automaticamente no 1º passo. A segunda coluna, a section define a ordem do tópico. Por se tratar do primeiro tópico, deixe zero como está. Há outras colunas na tabela mdl_course_sections. No entanto, para efeito de simplificação, se restringiu aos mais importantes. Ao finalizar o 3º passo, o curso já está cri ado no Moodle. Há muitas configurações do curso que não foram abordado nesse poste. Você pode fazer isso preenchendo todos as outras colunas das tabelas mdl_course , mdl_course_sections e entre outros. Agora que o curso já está criado, acesse o ambiente Moodle com a senha do admin, ative a edição e adicione o bloco de administração. Daí, faça o restante das configurações. Os comandos SQL foram testados apenas na versão 1.9.3. Deve funcionar em qualquer versão 1.9.x já a estrutura das tabelas são as mesmas. Não deve funcionar para as versões anteriores a 1.9. Mas lógica é muito parecida. Não custa testar e fazer os ajustes necessários. Agora boa programação, ou melhor, boa sorte na jornada de integração do Moodle com o seu sistema acadêmico. A maneira como se denomina a organização de dados do curso no banco de dados do Moodle é diferente da linguagem do mundo acadêmico e do mundo corporativo. No banco de dados do Moodle os cursos são organizados em três níveis de hierarquia: y y y Categoria de curso Curso Grupo Uma categoria de curso pode ter um ou mais curso. Dentro um curso, os alunos podem ser divididos em grupo. As tabelas do Moodle que armazena esses dados são: y y y y mdl_course_categories - Tabela de categoria de curso mdl_course - Tabela de curso mdl_groups - Tabela de grupo mdl_groups_members - Tabela de membros vinculados a um determinado grupo Tabela de Tradução de Termos Moodle Ambiente Ambiente Acadêmico Corporativo Categoria de Curso Curso Curso Disciplina Curso Grupo Turma Turma Matricular Usuário no Grupo/Turma do Moodle com Comando SQL Para cadastrar um usuário (aluno,tutor etc ) em um grupo grupo, ou seja, turma de um curso no Moodle sem ser pela interface gráfica é necessário executar o comando SQL diretamente na base de dados ou em uma linguagem de programação. Para matricular um aluno em um grupo de usuário, primei ro é necessário matriculá-lo no curso. Em seguida, adicioná-lo a um grupo. Neste post não abordamos como efetuar matrícula no curso. Caso queira explorar isso, clique aqui e acesse o post que aborda esse assunto. Antes de avançar é bom entender como o grupo de usuário é organizado no banco de dados do Moodle. Os registros do grupo ficam em duas tabelas: mdl_groups - Tabela que armazena nome do grupo e curso que está vinculado mdl_groups_members - Tabela que armazena os membros de cada grupo O comando SQL que insere usuário no grupo é: INSERT INTO mdl_groups_members (groupid,userid,timeadded) VALUES (?,?,?) Passe os parâmetros: groupid ± Id do grupo. Chave primária da tabela mdl_groups. userid- Id do usuário. Chave primária da tabela mdl_user. timeadded ± Data do cadastro. Data em formato numérico: timestamp em segundos. Para processar cadastro em lote é melhor exec utar o código dentro de uma linguagem de programação. Matricular Usuário no Curso do Moodle com Comando SQL A partir da versão 1.7 do Moodle o gerenciamento da matrícula passou a ser feita na tabela mdl_role_assignments. Essa tabela é composta por vários campos. Os campos mais importantes para efetuar a inscrição do usuário no curso são: roleid ± perfil do usuário na tebela mdl_role; contextid ± Contexto curso no tabela mdl_context; userid - Id do usuário na tabela mdl_user. Sendo assim, o comando SQL para fazer a matrícula será: INSERT INTO mdl_role_assignments (roleid,contextid,userid) VALUES (?,?,?) Até aqui tudo parece moleza. O problema é saber que valores colocar em cada campo. Bem, não desespere, vamos lá. Valor do campo roleid O campo roleid define se o usuário a ser cadastrado no curso é aluno, tutor, autor do curso etc. Por padrão, a tabela md l_role traz 7 perfis cadastrados. 1 ± Administrator 2 -Course creator 3 ±Teacher (Tutor) 4 - Non-editing teacher 5 ± Student (Aluno) 6 ±Guest 7 - Authenticated user Bem roleid já está decifrado. Está claro que deve ser 3 para cadastrar o tutor e 5 p ara aluno. Valor do campo contextid Esse é um pouco chato. Mas vamos lá. Para explicar isso é necessário antes informar que Moodle não segue, a risca, a integridade de dados entre a chave primária e estrangeira. Em alguns casos, usa instanciamento de dado s como que se fosse uma programação orientado a objetos. Para decifrar a instancia do curso siga os seguintes passos: Primeiro Passo Localize o id do curso que pretenda matricular o aluno. Essa informação está na tabela mdl_course. Segundo Passo Extraia o id do contexto do curso na tabela mdl_context executando o seguinte comando SQL: SELECT id FROM mdl_context WHERE contextlevel=50 AND instanceid=? No filtro do WHERE, contextlevel deve ser sempre 50. Esse valor é padrão. Representa o instancia do curso. O valor do filtro do campo instanceid deve ser o id do curso extraído no primeiro passo. O valor retornado da consulta SQL acima será o valor do campo contextid. Valor do campo userid Esse valor já é moleza. É o id do usuário na tabela mdl_user. Caso e stiver cadastrando um usuário e, em seguida, inscrevê -lo no curo, basta recuperar o id do cadastro recente usando a função SQL LAST ID INSERT. Caso não saiba como cadastrar usuário via comando SQL clique aqui para ver. Agora que você já tem o valor de todos os campos basta executar o comando SQL: INSERT INTO mdl_role_assignments (roleid,contextid,userid) VALUES (?,?,?) Substituído a ? pelos valores correspondentes. Cadastrar Usuário no Moodle pelo Comando SQL Para cadastrar usuário no Moodle com comando SQL é necessário evitar duplicação de registro no campos email,username. Esses campos devem ter valor único para cada usuário inserido. A outra recomendação é certificar que os campos confirmed e mnethostid estejam recebendo valar 1. Se tiver valor 0 ou NULL o usuário não consegue logar. A tabela mdl_user do Moodle tem vários campos. Os mais importantes para cadastrar um usuário são: firstname,lastname,email,username,password,confirmed como mostra o código SQL abaixo. INSERT INTO mdl_user (firstname,lastname,email,username,password,confirmed,description, mnethostid) VALUES ('Joao','Silva',' jsilva@gmail.com','joao',MD5('silva'),1,'Cabra Bom',1); Execute esse comando no banco de dados e faça um teste. Para verificar se funcionou tudo certinho logue no Moodle: Login: joao Senha: silva Se funcionar é porque deu tudo certo. Observação: O campo mnethostid só existe a partir da versão 1.8. Na versão inferior a 1.8 retire esse campo para evitar erro.Caso queira saber para que serve esse campo, esse o seguinte link: http://moodlesql.blogspot.com/ 2011/02/campo-mnethostid-da-tabela-mdluser-do.html Redirecionar Login do Moodle Para Um Sistema Externo Quanto o Moodle é integrado com outro sistema, o formulário de login pode ser desativado se os usuários logam no sistema externo e depois acessam o Moodle. Neste caso, o Moodle deve ser customizado para redirecionar à página de login do sistema externo todas as vezes que os usuários clicarem no link Acesso no ambiente do Moodle. Essa implementação deve ser feita por meio de alteração do código PHP do Moodle. Para redirecionar o login do Moodle para um sistema externo, siga os seguintes passos: 1° Passo - Abrir o arquivo que processa o login Abra em um editor de texto o seguinte arquivo: $CFG->wwwroot/login/index.php 2° Passo - Inserir URL do sistema externo No final do arquivo, antes da linha do código print_header("$site->... aproximadamente na linha 319, insera seguinte trecho do código: header( 'Location: http://NOVO_ENDERECO_LOGIN') ; Substitua o texto NOVO_ENDERECO_LOGIN pelo url de login do sistema externo. Esse trecho do código interrompe e execução e redireciona para o site do sisteme externo. 3° Passo - Gravar alteração do arquivo Para que a alteração seja efetivada, grave o arquivo. Feito isso, o Moodle redireciona os usuários para logarem em um sistema externo. Com essa alteração, o formulário de login do Moodle fica desativada. Esse procedimento é recomendado em caso de integração em que o sistema externo assume a autenticação dos usuários. Tornar Campo Sobrenome Opcional no Formulário de Cadastro de Usuário no Moodle Caso você queira customizar o formulário de cadastro de usuário do Moodle para que o campo sobrenome não seja obrigatório, é necessário alterar o código PHP. Para tornar opcional o preenchimento do campo sobrenome, siga os seguintes passos: 1° Passo - Abrir o arquivo editlib.php Abra em um editor de texto o segu inte arquivo: $CFG->wwwroot /user/editlib.php $CFG->wwwroot se refere ao endereço da pasta em que a aplicação do Moodle está instalado. 2° Passo - Localizar a regra do campo sobrenome Localize no arquivo o seguinte código: $mform->addRule('lastname', $strrequired, 'required', null, 'client'); Esse código fica normalmente na linha 97. Define que o campo sobrenome do usuário deve ser preenchido. 3° Passo - Desativar a regra do campo sobrenome Faça comentário na linha do código que de fine a regra de obrigatoriedade ou simplesmente apague a linha de código. Se fizer o comentário, a linha de código deve ficar assim: //$mform->addRule('lastname', $strrequired, 'required', null, 'client'); 4° Passo - Gravar alteração do arquivo editlib .php Para que a alteração seja efetivada, grave o arquivo. Feito isso, basta acessar o formulário de cadastro e verificar que o campo sobrenome se tornou opcional. 5° Passo - Desabilite a obrigatoriedade do sobrenome na biblioteca do sistema Para evitar que o formulário de perfil tranque a navegação após o login, desabilite o sobrenome na função função user_not_fully_set_up. Para isso, siga as instrução no link: http://moodlephp.blogspot.com/2011/02/cancelar -atualizacao-obrigatoria-do.html Essa alteração não é recomendado nos campos que são definidos obrigat órios a nível do banco de dados como a caso dos campos nome e e-mail. Matricular Usuário no Grupo/Turma do Moodle com Comando SQL Para cadastrar um usuário (aluno,tutor etc) em um grupo grupo, ou seja, turma de um curso no Moodle sem ser pela interface gráfica é necessário executar o comando SQL diretamente na base de dados ou em uma linguagem de programação. Para matricular um aluno em um grupo de usuário, primeiro é necessário matriculá -lo no curso. Em seguida, adicioná-lo a um grupo. Neste post não abordamos como efetuar matrícula no curso. Caso queira explorar isso, clique aqui e acesse o post que aborda esse assunto. Antes de avançar é bom entender como o grupo de usuário é organizado no banco de dados do Moodle. Os registros do grupo ficam em duas tabelas: mdl_groups - Tabela que armazena nome do grupo e curso que está vinculado mdl_groups_members - Tabela que armazena os membros de cada grupo O comando SQL que insere usuário no grupo é: INSERT INTO mdl_groups_members (groupid,userid,timeadded) VALUES (?,?,?) Passe os parâmetros: groupid ± Id do grupo. Chave primária da tabela mdl_groups. userid- Id do usuário. Chave primária da tabela mdl_user. timeadded ± Data do cadastro. Data em formato numérico: timestamp em segundos. Para processar cadastro em lote é melhor executar o código dentro de uma linguagem de programação.
Please download to view
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
...

Criar Curso No Moodle Com Comando SQL

by ediltonalves

on

Report

Category:

Documents

Download: 4

Comment: 0

435

views

Comments

Description

Download Criar Curso No Moodle Com Comando SQL

Transcript

Criar Curso no Moodle com Comando SQL Se você estiver fazendo migração de dados ou integração de um sistema acadêmico com a Plataforma Moodle, certamente vai precisar criar curso no Moodle diretamente no banco de dados sem usar a interface do Moodle. Isso implica conhecer a estrutura das tabelas da base de dados do Moodle e fazer INSERT nas tabelas certas. Bem, isso me custou muitas horas de pesquisa. No final descobri que é necessário fazer apenas 4 INSERT básicos. Bem, vamos lá. São três passos. Os comandos SQL foram testados na versão 1.9.3 do Moodle. Devem funcionar para qualquer versão 1.9.x e não para versão inferior a 1.9. 1º Passo ± Criar o Curso Essa parte é mais moleza. Basta fazer um INSERT na tabela mdl_course com o seguinte comando SQL: INSERT INTO mdl_course (category,fullname,shortname) VALUES (1,'Curso1','C1') Embora a tabela importantes: y y y mdl_course tenha muitas colunas, nesse exe mplo foram usadas os mais category - Chave estrangeira da tabela de categoria de curso - mdl_course_categories fullname ± Nome complete do curso shortname ± Abreviatura do curso No comando INSERT, foi criado um curso denominado Curso1 na categoria de curso padrão do Moodle, cujo id é 1. Após executar o INSERT, recupera o id do curso gerado automaticamente pelo banco de dados. No MySQL use o comando LAST_INSERT_ID(). 2º Passo ± Criar Contexto do Curso Com o curso criado, agora é necessár io criar contexto do curso na tabela mdl_context com o seguinte comando SQL: INSERT INTO mdl_context (contextlevel,instanceid) VALUES (50,?) O campo contextlevel define o nível do contexto. Para curso 50 é o valor padrão da tabela de domínio. O campo instanceid é a instância do curso. Preencha esse campo com o valor do Id do curso gerado automaticamente no 1º passo. Ao executar o comando SQL, recupere o id do contexto gerado automaticamente. Use esse id para atualizar duas colunas: path e depth. Para isso, execute o seguinte comando SQL: UPDATE mdl_context SET path='/1/3/$ID_CONTEXT', depth=3 WHERE id=$ID_CONTEXT Você precisa substituir a variável $ID_CONTEXT pelo id gerado automaticamente do INSERT anterior, ao executar o comando para criar o contexto do curso. Se o id for 10, o comando SQL de atualização será: UPDATE mdl_context SET path='/1/3/10', depth=3 WHERE id=10 Nesse momento você deve estar perguntando por que o campo path recebe '/1/3/$ID_CONTEXT' como valor padrão e o campo depth o número 3. Ainda não encontrei a resposta. Assim como você, eu também estou perguntando. Só sei que demorei três semanas mudando de variável até que funcionou. Se não preencher esses campos, nenhum usuário consegue entrar no curso. Se você encontrar alguma explicação não esqueça de me avisar. 3º Passo ± Criar tópico/seção padrão do curso Ao criar o curso no 1º passo, não foi definido o formato. Por padrão, será criado curso em formato de tópico. Assim, é necessário cria um primeiro tópico, o tópico número zero, do curso. Para isso, execute o seguinte comando SQL: INSERT INTO mdl_course_sections (course,section) VALUES (?,0) Na coluna course o valor do parâmetro é o id do curso gerado automaticamente no 1º passo. A segunda coluna, a section define a ordem do tópico. Por se tratar do primeiro tópico, deixe zero como está. Há outras colunas na tabela mdl_course_sections. No entanto, para efeito de simplificação, se restringiu aos mais importantes. Ao finalizar o 3º passo, o curso já está cri ado no Moodle. Há muitas configurações do curso que não foram abordado nesse poste. Você pode fazer isso preenchendo todos as outras colunas das tabelas mdl_course , mdl_course_sections e entre outros. Agora que o curso já está criado, acesse o ambiente Moodle com a senha do admin, ative a edição e adicione o bloco de administração. Daí, faça o restante das configurações. Os comandos SQL foram testados apenas na versão 1.9.3. Deve funcionar em qualquer versão 1.9.x já a estrutura das tabelas são as mesmas. Não deve funcionar para as versões anteriores a 1.9. Mas lógica é muito parecida. Não custa testar e fazer os ajustes necessários. Agora boa programação, ou melhor, boa sorte na jornada de integração do Moodle com o seu sistema acadêmico. A maneira como se denomina a organização de dados do curso no banco de dados do Moodle é diferente da linguagem do mundo acadêmico e do mundo corporativo. No banco de dados do Moodle os cursos são organizados em três níveis de hierarquia: y y y Categoria de curso Curso Grupo Uma categoria de curso pode ter um ou mais curso. Dentro um curso, os alunos podem ser divididos em grupo. As tabelas do Moodle que armazena esses dados são: y y y y mdl_course_categories - Tabela de categoria de curso mdl_course - Tabela de curso mdl_groups - Tabela de grupo mdl_groups_members - Tabela de membros vinculados a um determinado grupo Tabela de Tradução de Termos Moodle Ambiente Ambiente Acadêmico Corporativo Categoria de Curso Curso Curso Disciplina Curso Grupo Turma Turma Matricular Usuário no Grupo/Turma do Moodle com Comando SQL Para cadastrar um usuário (aluno,tutor etc ) em um grupo grupo, ou seja, turma de um curso no Moodle sem ser pela interface gráfica é necessário executar o comando SQL diretamente na base de dados ou em uma linguagem de programação. Para matricular um aluno em um grupo de usuário, primei ro é necessário matriculá-lo no curso. Em seguida, adicioná-lo a um grupo. Neste post não abordamos como efetuar matrícula no curso. Caso queira explorar isso, clique aqui e acesse o post que aborda esse assunto. Antes de avançar é bom entender como o grupo de usuário é organizado no banco de dados do Moodle. Os registros do grupo ficam em duas tabelas: mdl_groups - Tabela que armazena nome do grupo e curso que está vinculado mdl_groups_members - Tabela que armazena os membros de cada grupo O comando SQL que insere usuário no grupo é: INSERT INTO mdl_groups_members (groupid,userid,timeadded) VALUES (?,?,?) Passe os parâmetros: groupid ± Id do grupo. Chave primária da tabela mdl_groups. userid- Id do usuário. Chave primária da tabela mdl_user. timeadded ± Data do cadastro. Data em formato numérico: timestamp em segundos. Para processar cadastro em lote é melhor exec utar o código dentro de uma linguagem de programação. Matricular Usuário no Curso do Moodle com Comando SQL A partir da versão 1.7 do Moodle o gerenciamento da matrícula passou a ser feita na tabela mdl_role_assignments. Essa tabela é composta por vários campos. Os campos mais importantes para efetuar a inscrição do usuário no curso são: roleid ± perfil do usuário na tebela mdl_role; contextid ± Contexto curso no tabela mdl_context; userid - Id do usuário na tabela mdl_user. Sendo assim, o comando SQL para fazer a matrícula será: INSERT INTO mdl_role_assignments (roleid,contextid,userid) VALUES (?,?,?) Até aqui tudo parece moleza. O problema é saber que valores colocar em cada campo. Bem, não desespere, vamos lá. Valor do campo roleid O campo roleid define se o usuário a ser cadastrado no curso é aluno, tutor, autor do curso etc. Por padrão, a tabela md l_role traz 7 perfis cadastrados. 1 ± Administrator 2 -Course creator 3 ±Teacher (Tutor) 4 - Non-editing teacher 5 ± Student (Aluno) 6 ±Guest 7 - Authenticated user Bem roleid já está decifrado. Está claro que deve ser 3 para cadastrar o tutor e 5 p ara aluno. Valor do campo contextid Esse é um pouco chato. Mas vamos lá. Para explicar isso é necessário antes informar que Moodle não segue, a risca, a integridade de dados entre a chave primária e estrangeira. Em alguns casos, usa instanciamento de dado s como que se fosse uma programação orientado a objetos. Para decifrar a instancia do curso siga os seguintes passos: Primeiro Passo Localize o id do curso que pretenda matricular o aluno. Essa informação está na tabela mdl_course. Segundo Passo Extraia o id do contexto do curso na tabela mdl_context executando o seguinte comando SQL: SELECT id FROM mdl_context WHERE contextlevel=50 AND instanceid=? No filtro do WHERE, contextlevel deve ser sempre 50. Esse valor é padrão. Representa o instancia do curso. O valor do filtro do campo instanceid deve ser o id do curso extraído no primeiro passo. O valor retornado da consulta SQL acima será o valor do campo contextid. Valor do campo userid Esse valor já é moleza. É o id do usuário na tabela mdl_user. Caso e stiver cadastrando um usuário e, em seguida, inscrevê -lo no curo, basta recuperar o id do cadastro recente usando a função SQL LAST ID INSERT. Caso não saiba como cadastrar usuário via comando SQL clique aqui para ver. Agora que você já tem o valor de todos os campos basta executar o comando SQL: INSERT INTO mdl_role_assignments (roleid,contextid,userid) VALUES (?,?,?) Substituído a ? pelos valores correspondentes. Cadastrar Usuário no Moodle pelo Comando SQL Para cadastrar usuário no Moodle com comando SQL é necessário evitar duplicação de registro no campos email,username. Esses campos devem ter valor único para cada usuário inserido. A outra recomendação é certificar que os campos confirmed e mnethostid estejam recebendo valar 1. Se tiver valor 0 ou NULL o usuário não consegue logar. A tabela mdl_user do Moodle tem vários campos. Os mais importantes para cadastrar um usuário são: firstname,lastname,email,username,password,confirmed como mostra o código SQL abaixo. INSERT INTO mdl_user (firstname,lastname,email,username,password,confirmed,description, mnethostid) VALUES ('Joao','Silva',' jsilva@gmail.com','joao',MD5('silva'),1,'Cabra Bom',1); Execute esse comando no banco de dados e faça um teste. Para verificar se funcionou tudo certinho logue no Moodle: Login: joao Senha: silva Se funcionar é porque deu tudo certo. Observação: O campo mnethostid só existe a partir da versão 1.8. Na versão inferior a 1.8 retire esse campo para evitar erro.Caso queira saber para que serve esse campo, esse o seguinte link: http://moodlesql.blogspot.com/ 2011/02/campo-mnethostid-da-tabela-mdluser-do.html Redirecionar Login do Moodle Para Um Sistema Externo Quanto o Moodle é integrado com outro sistema, o formulário de login pode ser desativado se os usuários logam no sistema externo e depois acessam o Moodle. Neste caso, o Moodle deve ser customizado para redirecionar à página de login do sistema externo todas as vezes que os usuários clicarem no link Acesso no ambiente do Moodle. Essa implementação deve ser feita por meio de alteração do código PHP do Moodle. Para redirecionar o login do Moodle para um sistema externo, siga os seguintes passos: 1° Passo - Abrir o arquivo que processa o login Abra em um editor de texto o seguinte arquivo: $CFG->wwwroot/login/index.php 2° Passo - Inserir URL do sistema externo No final do arquivo, antes da linha do código print_header("$site->... aproximadamente na linha 319, insera seguinte trecho do código: header( 'Location: http://NOVO_ENDERECO_LOGIN') ; Substitua o texto NOVO_ENDERECO_LOGIN pelo url de login do sistema externo. Esse trecho do código interrompe e execução e redireciona para o site do sisteme externo. 3° Passo - Gravar alteração do arquivo Para que a alteração seja efetivada, grave o arquivo. Feito isso, o Moodle redireciona os usuários para logarem em um sistema externo. Com essa alteração, o formulário de login do Moodle fica desativada. Esse procedimento é recomendado em caso de integração em que o sistema externo assume a autenticação dos usuários. Tornar Campo Sobrenome Opcional no Formulário de Cadastro de Usuário no Moodle Caso você queira customizar o formulário de cadastro de usuário do Moodle para que o campo sobrenome não seja obrigatório, é necessário alterar o código PHP. Para tornar opcional o preenchimento do campo sobrenome, siga os seguintes passos: 1° Passo - Abrir o arquivo editlib.php Abra em um editor de texto o segu inte arquivo: $CFG->wwwroot /user/editlib.php $CFG->wwwroot se refere ao endereço da pasta em que a aplicação do Moodle está instalado. 2° Passo - Localizar a regra do campo sobrenome Localize no arquivo o seguinte código: $mform->addRule('lastname', $strrequired, 'required', null, 'client'); Esse código fica normalmente na linha 97. Define que o campo sobrenome do usuário deve ser preenchido. 3° Passo - Desativar a regra do campo sobrenome Faça comentário na linha do código que de fine a regra de obrigatoriedade ou simplesmente apague a linha de código. Se fizer o comentário, a linha de código deve ficar assim: //$mform->addRule('lastname', $strrequired, 'required', null, 'client'); 4° Passo - Gravar alteração do arquivo editlib .php Para que a alteração seja efetivada, grave o arquivo. Feito isso, basta acessar o formulário de cadastro e verificar que o campo sobrenome se tornou opcional. 5° Passo - Desabilite a obrigatoriedade do sobrenome na biblioteca do sistema Para evitar que o formulário de perfil tranque a navegação após o login, desabilite o sobrenome na função função user_not_fully_set_up. Para isso, siga as instrução no link: http://moodlephp.blogspot.com/2011/02/cancelar -atualizacao-obrigatoria-do.html Essa alteração não é recomendado nos campos que são definidos obrigat órios a nível do banco de dados como a caso dos campos nome e e-mail. Matricular Usuário no Grupo/Turma do Moodle com Comando SQL Para cadastrar um usuário (aluno,tutor etc) em um grupo grupo, ou seja, turma de um curso no Moodle sem ser pela interface gráfica é necessário executar o comando SQL diretamente na base de dados ou em uma linguagem de programação. Para matricular um aluno em um grupo de usuário, primeiro é necessário matriculá -lo no curso. Em seguida, adicioná-lo a um grupo. Neste post não abordamos como efetuar matrícula no curso. Caso queira explorar isso, clique aqui e acesse o post que aborda esse assunto. Antes de avançar é bom entender como o grupo de usuário é organizado no banco de dados do Moodle. Os registros do grupo ficam em duas tabelas: mdl_groups - Tabela que armazena nome do grupo e curso que está vinculado mdl_groups_members - Tabela que armazena os membros de cada grupo O comando SQL que insere usuário no grupo é: INSERT INTO mdl_groups_members (groupid,userid,timeadded) VALUES (?,?,?) Passe os parâmetros: groupid ± Id do grupo. Chave primária da tabela mdl_groups. userid- Id do usuário. Chave primária da tabela mdl_user. timeadded ± Data do cadastro. Data em formato numérico: timestamp em segundos. Para processar cadastro em lote é melhor executar o código dentro de uma linguagem de programação.
Fly UP