Stack Coderunner para Moodle

Overview

Stack Coderunner para Moodle

Este projeto inclui um stack de ferramentas úteis para utilização do plugin de tipo de questão Moodle chamado Coderunner. Com essa pilha, além dos desenvolvedores poderem validar novas libs, o próprio professor pode subir um ambiente local, com baixa latência, para elaborar as questões que posteriormente poderiam ser importadas para o Moodle da instituição.

Itens da stack

As credenciais de acesso são definidas no env_file .env disponível na raíz do projeto.

O usuário de acesso padrão do Moodle usuário=user, senha=bitnami

Para subir a stack

Para subir a stack é necessário ter pré-instalados o Docker e Docker-Compose. Baixar o projeto e executar o comando dentro da raiz:

docker-compose up -d

Pode ser necessário dar permissão de escrita no diretório mariadb que será criado

Para visualizar os logs do docker-compose, execute:

docker-compose logs -f

Utilizando o template de questão para PostgreSQL

  1. Definir o tipo de questão como sendo python3
  2. Configurar a questão para template de usuário, informando um nome especifico para o novo tipo de questão. Cuidado para não utilizar nomes já disponíveis.
  3. No trecho abaixo, informar os dados de conexão ao servidor nos campos user, password, port e host.
password= port=5432 host=postgres-coderunner")">
    conn = CodeRunnerPG(
        "dbname={{database}} user= 
    
      password=
     
       port=5432 host=postgres-coderunner"
     
    )
  1. Nas questões que irão utilizar o novo template, no campo Template params, informar as configurações específicas:
    1. database: Nome da base
    2. queryType: SELECT, UPDATE, INSERT, DELETE, DDL e PLSQL (este último pode ser utilizado para comandos DDL que requerem validação).
    3. randomSchema: A resposta do usuário será criada em um schema aleatório
    4. required_commands: Lista de comandos exigidos pela questão na resposta.
{
	"database": "lbdi_minimercado_db",
	"queryType": "PLSQL",
	"randomSchema": "False",
	"required_commands": [
	    
	]
}
  1. Para a execução de blocos anônimos cuja resposta baseia-se na saída de raise notice, substituir pela chamada ao procedimento moodle.p_message. Tal recurso pode ser usado em qualquer questão que tenha código de validação específico.
create schema moodle;

create unlogged table moodle.event_messages(
	id bigserial not null primary key,
	message text
);

create or replace procedure moodle.p_message(p_message text) as
$$
begin
	insert into moodle.event_messages(message) values (p_message);
end;
$$ language plpgsql;

Utilizando o template de questão para JavaScript

  1. Definir o tipo de questão como sendo nodejs
  2. Configurar a questão para template de usuário, informando um nome especifico para o novo tipo de questão. Cuidado para não utilizar nomes já disponíveis.
  3. Escolher o novo template criado na lista de tipos quando for criar novas questões.

Referências

Projeto Coderunner Jobeinabox Arangodb Postgres PGAdmin Web

You might also like...
Cookbook-magento - Collection of recipes to build app stack for the Magento deployments with Chef

Magento Cookbook Collection of recipes to build app stack for the Magento deployments with Chef Installation With Berkshelf echo "cookbook 'magento',

Signaler library that provide stack for signal listeners.

Stack Signaler. Contents Installation Usage Testing License Installation composer require kafkiansky/signaler Usage Simple example with \SIGINT signal

Scotch Box is a preconfigured Vagrant Box with a full array of LAMP Stack features to get you up and running with Vagrant in no time.
Scotch Box is a preconfigured Vagrant Box with a full array of LAMP Stack features to get you up and running with Vagrant in no time.

Scotch Box is a preconfigured Vagrant Box with a full array of LAMP Stack features to get you up and running with Vagrant in no time.

Herramienta para limpiar Comprobantes Fiscales Digitales v3.3

phpcfdi/cfdi-cleaner Herramienta para limpiar Comprobantes Fiscales Digitales por Internet mexicanos. 🇺🇸 The documentation of this project is in spa

Uma solucão simples para integrar sua aplicação Laravel a API PIX do Banco Central do Brasil
Uma solucão simples para integrar sua aplicação Laravel a API PIX do Banco Central do Brasil

Uma solução simples para integrar a sua aplicação Laravel com a API PIX do Banco Central do Brasil Instalação Publicando os assets Publicando o arquiv

Projeto utilizado para prática de TDD usando PHP com a equipe de desenvolvimento.

🚀 TDD com PHP 📄 Detalhamento do projeto Projeto desenvolvido durante um DOJO que organizei com os colegas de equipe da GAM Distribuidora. A proposta

Biblioteca para busca (on-line) de estados e os seus respectivos municípios via API disponibilizada pelo IBGE.
Biblioteca para busca (on-line) de estados e os seus respectivos municípios via API disponibilizada pelo IBGE.

LocalidadeX Biblioteca para busca (on-line) e listagem de estados e seus respectivos municípios, efetua a consulta via API do IBGE, disponibilizando o

Imagem de Laravel com Docker para projetos futuros
Imagem de Laravel com Docker para projetos futuros

LaraDocker Este projeto foi criado com a intensão de facilitar o desenvolvimento de novos projetos que podem a ser desenvolvidos por mim, ou por outra

Capitalize uma frase para o padrão brasileiro de capitalização.

php-capitalize-pt-br Esta biblioteca basicamente está resumida em uma única função. Ela capitaliza uma frase para o padrão brasileiro de capitalização

Owner
Tiago Ferreira
Técnico em Tecnologia da Informação no Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul.
Tiago Ferreira
Jéssica Paula 7 Aug 12, 2022
Moodle plugin to limit the access to course content according to the user level in Block Game.

Moodle plugin to limit the access to course content according to the user level in Block Game.

null 4 Oct 18, 2022
Moodle - the world's open source learning platform

.-..-. _____ | || | /____/-.---_ .---. .---. .-.| || | .---. | | _ _ |/ _ \/ _ \/ _ || |/ __ \ * | | |

Moodle Development 4.5k Jan 1, 2023
A webshell plugin and interactive shell for pentesting a Moodle instance.

Moodle webshell plugin for RCE A webshell plugin and interactive shell for pentesting a Moodle instance. Features Webshell plugin for Moodle. Execute

Podalirius 11 Oct 10, 2022
An Elasticsearch engine plugin for Moodle's Global Search

Moodle Global Search - Elasticsearch Backend This plugin allows Moodle to use Elasticsearch as the search engine for Moodle's Global Search. The follo

Catalyst IT 12 Nov 3, 2022
Moodle activity plugin for embedding content from other websites in a GDPR-compliant way

ICON activate external content What is it? This plugin is for when you want to include GDPR-compliant embeddings of content from external platforms su

ICONnewmedia 2 Sep 14, 2022
Este es un sitema bibliotecario para registro de adquisiciones y prestamos para INATEC Siuna

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

James Reyes 3 Mar 26, 2022
Plugin de Wordpress para criar um Hacker News-like para o ManualdoUsuario.net

?? Órbita Plugin de Wordpress para criar um painel de debates baseado em links, similar ao Hacker News, para o Manual do Usuário. Rodar o projeto Requ

Gabriel Nunes 7 Nov 14, 2022
A complete stack for running Symfony 5 into Docker containers using docker-compose tool and with Certbot for the HTTPS certificate.

?? Docker + PHP 7.4 + MySQL8.0 + Nginx + Certbot(HTTPS) + Symfony 5 Boilerplate ?? Edited from https://github.com/ger86/symfony-docker version -> http

null 6 Nov 9, 2022
The full-stack test project for Personnel LTD.

personnel-ltd The full-stack test project for Personnel LTD. Clone and install composer dependencies. $ git clone [email protected]:arsovskidev/personnel

Филип Арсовски 1 Dec 7, 2021