¿Cómo personalizar un certificado en moodle_ _ Dharma Digital

15
Master en BA UADE.edu.ar/inscripciones_posgrados Universidad Argentina de la Empresa Elegí UADE. Informate aquí. ¿Cómo personalizar un certificado en moodle? Publicado el 3 noviembre, 2012 por admin En algunas ocasiones es necesario ir más allá de la configuración básica de los certificados que tiene el módulo “Certificate” de moodle y ese fue mi caso esta semana, por ello en esta entrada, les explicaré paso a paso cómo hacerlo. El módulo “Certificate” genera un archivo en formato PDF para certificar los estudiantes que completen un curso en moodle. Su instalación es muy sencilla y posee entre sus características las siguiente: añadir bordes, marcas de agua, sellos, datos del estudiante y/o el profesor(es) , información de calificaciones y condicionar su generación al cumplimiento de una o varias actividades o un número de horas en el aula. Al momento de instalarlo hay que tener en cuenta que existen diferentes versiones y no son compatibles entre ellas. Entrando en materia, el caso que voy a utilizar para la explicación es el de una institución de educación superior para la que trabajo, que necesita emitir los certificados de sus curso de extensión, denominados diplomados virtuales, a cerca de mil (1.000) estudiantes. Ya pueden imaginarse por esta cifra el ahorro en papel y gastos de envío que reviste utilizar esta opción. Dharma Digital Un sitio abierto de gestión y tecnología

Transcript of ¿Cómo personalizar un certificado en moodle_ _ Dharma Digital

Master en BAUADE.edu.ar/inscripciones_posgrados

Universidad Argentina de la Empresa Elegí UADE. Informate aquí.

¿Cómo personalizar un certificado en moodle?Publicado el 3 noviembre, 2012 por admin

En algunas ocasiones es necesario ir más allá de la configuración básica de los certificados que tiene el módulo“Certificate” de moodle y ese fue mi caso esta semana, por ello en esta entrada, les explicaré paso a paso cómohacerlo.

El módulo “Certificate” genera un archivo en formato PDF para certificar los estudiantes que completen uncurso en moodle. Su instalación es muy sencilla y posee entre sus características las siguiente: añadir bordes,marcas de agua, sellos, datos del estudiante y/o el profesor(es) , información de calificaciones y condicionar sugeneración al cumplimiento de una o varias actividades o un número de horas en el aula. Al momento deinstalarlo hay que tener en cuenta que existen diferentes versiones y no son compatibles entre ellas.

Entrando en materia, el caso que voy a utilizar para la explicación es el de una institución de educaciónsuperior para la que trabajo, que necesita emitir los certificados de sus curso de extensión, denominadosdiplomados virtuales, a cerca de mil (1.000) estudiantes. Ya pueden imaginarse por esta cifra el ahorro enpapel y gastos de envío que reviste utilizar esta opción.

Dharma DigitalUn sitio abierto de gestión y tecnología

Después de analizar el tema, lo pasos que seguí son los siguientes:

El primer paso fue definir que datos serán fijos en la plantilla o imagen y cuales se tomarán de moodle, ennuestro ejemplo dejamos fijo el nombre de la institución y el nombre y la firma de la persona autorizada,los demás datos los tomamos de moodle, estos son: nombre del estudiante, número del documento deidentidad, el nombre del diplomado, la fecha de inicio y la de terminación, la intensidad horaria y el lugar yfecha de expedición.Para el diseño de la plantilla del certificado, generalmente las instituciones cuenta condiseñadores gráficos que se ocupan de esta labor, en nuestro caso utilizamos un archivo de la versión físicadel certificado que se encontraba en formato PDF y que incluida la firma autorizada digitalizada(escaneada), el cual que editamos con Corel Draw para generar una imagen PNG tamaño carta paranuestra plantilla.Ahora pasamos a instalar el módulo, el cual descargamos de la siguiente dirección, siguiendo lasindicaciones del sitio moodle: https://moodle.org/plugins/pluginversions.php?plugin=mod_certificate losarchivos se descomprime en la carpeta “mod” de nuestra instalación moodle.Ingresamos al sitio moodle y abrimos el bloque de administración en “Administración del sitio” ­> Notificaciones. Moodle sabrá que el módulo ha sido añadido y procederá a instalarlo.Es esta última versión, una vez instalada, podemos agregar la imagen de la Plantilla que indicamos en elpunto 2. Si no vemos esa opción la podemos encontrar en: Administración del sitio ­> Extensiones ­> Vistageneral de extensiones ­> Configuración, en la fila correspondiente al Certificado (mod_certificate), cómo se muestra a continuación:

Moodle desplegará una página con la opción “Subir”, procedemos a hacer clic en ella para cargar laimagen, para ello seleccionamos de la lista tipo de imagen “Image Type”, la opción “Borde” y luego hacemosclic en “Subir un archivo…” y cargamos y guardamos la imagen haciendo clic en el botón “Guardarcambios”. con ello ya tendremos la imagen de la plantilla lista.

El siguiente paso será personalizar el certificado, para ello debemos generar una copia de la carpeta“letter_non_embedded”, que se encuentra dentro de la carpeta “Type” de la carpeta del módulo“Certificate” que se instaló en el paso 3.Le cambiamos el nombra por “Diplomados” o el que usted desee.Abrimos el único archivo de esta carpeta, denominado “certificate.php” y lo editamos para que quede conel siguiente código:

<?php

// This file is part of the Certificate module for Moodle ­ http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>./** * Plantilla Diplomados, basada en letter_non_embedded certificate type * * @package mod * @subpackage certificate * @copyright Mark Nelson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @Adaptado por Gilber Corrales Rubiano 02/11/2012 */if (!defined(‘MOODLE_INTERNAL’))

die(‘El acceso directo a este script esat prohibido.’); // It must be included from view.php$pdf = new TCPDF($certificate­>orientation, ‘pt’, ‘Letter’, true, ‘UTF­8′, false);$pdf­>SetTitle($certificate­>name);$pdf­>setPrintHeader(false);$pdf­>setPrintFooter(false);$pdf­>SetAutoPageBreak(false, 0);$pdf­>AddPage();// Define variables// Landscapeif ($certificate­>orientation == ‘L’) $x = 28; $y = 125; $sealx = 590; $sealy = 425; $sigx = 130; $sigy = 440; $custx = 133; $custy = 440; $wmarkx = 100; $wmarky = 90; $wmarkw = 600; $wmarkh = 420; $brdrx = 0; $brdry = 0;

$brdrw = 792; $brdrh = 612; $codey = 505; else // Portrait $x = 28; $y = 170; $sealx = 440; $sealy = 590; $sigx = 85; $sigy = 580; $custx = 88; $custy = 580; $wmarkx = 78; $wmarky = 130; $wmarkw = 450; $wmarkh = 480; $brdrx = 10; $brdry = 10; $brdrw = 594; $brdrh = 771; $codey = 660;// Add images and linescertificate_print_image($pdf, $certificate, CERT_IMAGE_BORDER, $brdrx, $brdry, $brdrw, $brdrh);certificate_draw_frame_letter($pdf, $certificate);

// Add text$pdf­>SetTextColor(0, 0, 0);certificate_print_text($pdf, $x, $y + 135, ‘C’, ‘Helvetica’, ‘B’, 25, strtoupper(fullname($USER))); certificate_print_text($pdf, $x, $y + 170, ‘C’, ‘Helvetica’, ‘B’, 20, ‘C.C. ‘.$USER­>idnumber);certificate_print_text($pdf, $x, $y + 205, ‘C’, ‘Helvetica’, ”, 15, ‘Participó en el Diplomado Virtual en’);certificate_print_text($pdf, $x, $y + 223, ‘C’, ‘Helvetica’, ‘B’, 23, $course­>fullname);$cd1 = userdate($course­>startdate, get_string(‘strftimedate’, ‘langconfig’));$cd2 = substr($cd1,0, strlen($cd1)­8);$cd3 = userdate($course­>startdate + ($course­>numsections*7*86400­86400), get_string(‘strftimedate’,‘langconfig’));certificate_print_text($pdf, $x, $y + 250, ‘C’, ‘Helvetica’, ”, 15, ‘Realizado entre el ‘. $cd2 .’ y el ‘ . $cd3);if ($certificate­>printhours) certificate_print_text($pdf, $x, $y + 268, ‘C’, ‘Helvetica’, ”, 15, ‘con una intensidad de ‘.$certificate­>printhours.’ horas académicas.’); certificate_print_text($pdf, $x, $y + 302, ‘C’, ‘Times’, ”, 14, “Se expide en Bogotá D.C., el “.certificate_get_date($certificate, $certrecord, $course));certificate_print_text($pdf, $x, $y + 311, ‘C’, ‘Times’, ”, 10, certificate_get_outcome($certificate, $course));certificate_print_text($pdf, $x+598, $y­68, ‘C’, ‘Times’, ”, 8, “Código: “. certificate_get_code($certificate,$certrecord));?>

En el anterior código se quitaron las instrucciones del certificado original que no se utilizan: imágenes demarca de agua, sello y de firma, la opción de título, igual con opciones como el título y otras que no se

necesitan en nuestro caso.Para cumplir los criterios señalados en el primer paso, se incorporó el código necesario:1. nombre del estudiante: ya existía, sólo se desplazo un poco modificando el valor que se suma a lavariable $y, además se agregó la letra “B” para la negrita del texto y una función de PHP para que losmuestre en mayúsculas.

2. Número del documento de identidad: se agregó tomando el campos respectivo de la variable $USER y sele antepuso el texto “C.C. ” y se aplicó la ”B” para la negrita.

3. El nombre del diplomado: ya existía, sólo se desplazó un poco y se agregó una línea de texto que loantecedía.

4. Fecha de inicio y la de terminación: se tomó del campo de fecha de inicio del curso y se le aplicaronfunciones de cadenas y fechas para presentarlo adecuadamente. La fecha de terminación se calculó porel número de semanas del curso o de sesiones (se asume que duran una semana).

5. La intensidad horaria: es una campo que ya existía (es un parámetro en la opciones de configuración,cuando se usa módulo en un curso), sólo se desplazo un poco.

6. El lugar y fecha de expedición: se agregó con un texto fijo para el lugar y la fecha se tomó del parámetrode configuración que ya existía.

7. Finalmente el código de seguridad propio del módulo, se movió en la esquina superior derecha.Para terminar, se ingresó al curso respectivo y se agregó una actividad tipo “Certificado”. En las opcionesde configuración “Opciones de Diseño” – > Tipo de Certificado, se seleccionó ”Diplomados”, ya queaparece como opción de la lista al crear la carpeta con el archivo del punto anterior. También se agregó elnúmero de horas del certificado en el campo “Mostrar Horas de Crédito” y la imagen que previamentehabíamos ingresado en el campo “Imagen del Borde”. En “Fecha de impresión” se seleccionó la “Fecha deemisión” y en “Formato de Fecha” se dejo “Lenguaje de Fecha del Usuario”, los demás campos se dejaron enla opción “No”.El resultado final se muestra a continuación con otra plantilla y sin el nombre de la entidad, ni la firma

(espacios en blanco en la parte superior e inferior), que no se incluyen por cuestiones de reserva de lamisma. Vale comentar que la versión final (que no podemos mostrar aquí) quedo igual al certificado usadocomo modelo.

Cualquier duda, por favor dejen sus comentarios en el blog.

Like 0

Esta entrada fue publicada en moodle. Guarda el enlace permanente.

10 respuestas a ¿Cómo personalizar un certificado en moodle?

Luis dijo:23 enero, 2013 en 9:13 AM

Excelente, me sirvió muchisima para tomarlo como referencia, necesitaria agregar 2 firmas al certificado. Una imagen en laparte inferior izquierda y la otra en la derecha. Como podria hacerlo? Gracias

Responder

admin dijo:11 mayo, 2013 en 5:06 PM

Estimado Luis, como indiqué en el primer paso de esta entrada, la firma está incorporada en la imagen o plantilladel certificado, por lo tanto es fija, en ese orden de ideas una opción rápida para tu caso sería agregar las dosfirmas que necesitas a tu imagen (plantilla) y listo.

Una segunda opción sería utilizar la opción de firma que trae el módulo “Certificate”, en ese caso no deberíasborrar el código que genera esa imagen y que yo eliminé por no utilizarlo, lo copio a continuación:

certificate_print_image($pdf, $certificate, CERT_IMAGE_SIGNATURE, $sigx, $sigy, ”, ”);

Adicionalmente debes guardar la imagen de la firma en formato .png con fondo transparente en la carpeta../mod/certificate/pix/signatures/ y luego asignarla en los parámetros (Firma) de configuración de la “actividad”en el curso.

Ten en cuenta que esta opción está habilitada para una sola firma, por lo tanto la imagen de firma que utilices

deberá contener las dos o en su lugar puedes utilizar la opción de “Sello o logo” del módulo para generar la segundafirma. Si optas por esta opción deberás incluir el siguiente código y agregar la imagen en la carpeta../mod/certificate/pix/seals/ y luego asignarla en los parámetros (Sello o logo) de configuración de la “actividad”en el curso:

certificate_print_image($pdf, $certificate, CERT_IMAGE_SEAL, $sealx­60, $sealy+15, ”, ”);

Para ajustar la posición de la imagen les reste 60 y le sume 15 a las variables $sealx y $sealy respectivamente, perolo mejor es ajustar los valores donde se definen la variables, ya que cambian si utilizas la orientación vertical en elcertificado.

Finalmente una opción poco elegante pero que funciona es la de agregar el siguiente código para no usar la opcióndel “Sello”, donde Prueba.png es la imagen de la segunda firma ingresada previamente en la carpeta ../signatures/:

$pdf­>Image($CFG­>dirroot.”/mod/certificate/pix/signatures/Prueba.png”, $sigx+400, $sigy, ”, ”);

Espero te sea de utilidad!

Responder

Andres dijo:12 marzo, 2013 en 9:44 PM

Hola,

Gracias por tu publicación, me ha servido mucho, pero tengo una duda que espero me puedas ayudar a aclarar.

Por default Moodle versión 2.x te permite agregar una firma la cual se encuentra por defecto en la parte inferior izquierdadel certificado, mi pregunta es, ¿cómo le harías para agregar una segunda firma del lado derecho suponiendo que quisierasque firmaran dos personas?

Agradezco de antemano tu ayuda y te envío un saludo.

Responder

admin dijo:11 mayo, 2013 en 5:18 PM

Estimado Andrés, aplica la misma respuesta que acabo de dar a Luis.

Responder

Óscar Arcera López dijo:7 abril, 2013 en 3:08 PM

Muy bueno tu post.

Me ha servido de mucha utilidad para la configuración del certificado para nuestros cursos, pero tengo un pequeñoproblema con las fechas. Lo utilizo exactamente como tu para un curso que dura cuatro semanas, empezando el 12 de abril yacabando el 12 de mayo. Con las variables tal y como tu las has escrito, me pone bien en el certificado la fecha de inicio,pero en la fecha final me pone 12 de abril de 2013 (en vez 12 de mayo)

¿alguna sugerencia?Muchas gracias de antemano

Responder

Andres dijo:10 abril, 2013 en 11:47 AM

ya hice todo paso a paso…utilizo moodle 2.3 y cuando doy guardar cambios solo me aparece la pagina en blanco. leagradezco su ayuda…saludos

Pingback: ¿Cómo incluir dos firmas en un certificado generado con Moodle? | Dharma Digital

Pingback: Verificar certificados de moodle a través de un smartphone o una tablet | Dharma Digital

Responder

luz dijo:8 mayo, 2013 en 10:02 AM

Hola.. muy intereante la publicaciòn.. mi duda es o mejor dicho mi necesidad es, como condicionar la generaciòn delcertificado, no consigo como configurar la generaciòn del certificado cuando el estudiante haya cumplido determinadasactividades.

Gracias

Responder

José Antonio López dijo:3 junio, 2013 en 6:27 AM

Muchas gracias, justo lo que estaba buscando.

Me gustaría saber si al firmar el certificado sería posible hacerlo usando mi propia firma digital, y que se genere con sucódigo y fecha en que se firma, tal como ocurre al fimar un pdf

Gracias

Responder

Dharma DigitalFunciona con WordPress.