Fijar ubicación de bloques para todos los cursos

Fijar ubicación de bloques para todos los cursos

de Raul Urzua de la Sotta -
Número de respuestas: 8
Administradores:

Tengo un problema que supongo debe ser fácil de solucionar, pero recorrí todo el menú, busqué en google y foros... y no encontré nada triste

Les cuento... administro un sitio de aula virtual para uno 400 usuarios y ya van más de 40 cursos. La instalación la hice yo y no tuve mayor problema, ya que tengo algunos conocimientos sobre linux/servidores/mysql/php etc... pero conocimientos sobre el uso de moodle no tengo más allá de un par de veces que tuve que usarlo como estudiante universitario años atrás.

En fin... tengo la necesidad de generar una especie de plantilla para la ubicación de los bloques que se desea mostrar, tanto en los cursos actuales como en los que sean creados.

En este momento, para que los cursos muestren los mismos bloques y en las mismas ubicaciones, debo ir uno a uno mostrando/ocultando y posicionando... y supongo que hay posibilidad de facilitar esto.

Espero sepan como ayudarme.

Gracias a todos sonrisa
Promedio de valoraciones: -
En respuesta a Raul Urzua de la Sotta

Re: Fijar ubicación de bloques para todos los cursos

de Wenceslao Fernández -
Hola Raúl sonrisa

Pues salvo que algún mago de las bases de datos tenga una varita para hacerlo fácil, me temo que la cosa está complicada.

Ahora mismo entiendo que la única forma de hacerlo con los cursos ya creados es manualmente. A partir de este punto en adelante se me ocurren varias posibilidades.

1. Crear un curso "modelo" vacío, darle la forma y bloques que consideres y hacer una copia de seguridad del mismo. Después basta con restaurar ese curso de modo que todos los cursos nuevos se basen en ese modelo (en vez de crear nuevos cursos, restaurar el "modelo" como curso nuevo).

2. Utilizar los bloques "sticky" (Administración > Módulos > Bloques > Bloques Sticky) y seleccionar configurar página de cursos. Los bloques que crees de esta forma aparecerán en TODOS los cursos del sitio. Problema, si el curso ya tiene ese bloque, se duplicarán. Además los bloques sticky NO pueden modificarse por el profesor.

En fin, creo que dependiendo de tus necesidades puedes combinar ambas estrategias para obtener un resultado "aceptable". Adicionalmente puedes modificar la configuración de los roles de modo que los profesores NO puedan modificar estos bloques.

Un saludo.

W
En respuesta a Wenceslao Fernández

Re: Fijar ubicación de bloques para todos los cursos

de Raul Urzua de la Sotta -
Wenceslao:

Agradezco tu respuesta y como no es posible crear una "plantilla" y asignarla a los cursos ya creados y también a los nuevos, creo que manualmente borraré los bloques asignados a cada curso e intentaré con los bloques sticky.

Una consulta sobre este tipo de bloques... a que te refieres con que los profesores no pueden modificarlos?

Supongo que significa que, a pesar de que el profesor active la edición del curso, no podrá agregar/eliminar bloques, ni re-posicionarlos. Entendí bien?

Si es así, ideal !!!!!

Gracias.
En respuesta a Raul Urzua de la Sotta

Re: Fijar ubicación de bloques para todos los cursos

de Wenceslao Fernández -
Hola Raúl sonrisa

Puede no ser tan genial, ya que si es un bloque HTML por ejemplo, no podrán modificarlo. Aparte de eso, ese es su comportamiento.

Sin embargo, el profesor si que podrá agregar nuevos bloques, editarlos y moverlos, pero NO con los sticky. Si quieres evitar que puedan agregar nuevos bloques, has de modificarlo en el perfil del usuario a nivel plataforma.

Salu2

W
En respuesta a Raul Urzua de la Sotta

Re: Fijar ubicación de bloques para todos los cursos

de Raul Garcia Canet -
Hola Raul,

Como dice Wenceslao, para los cursos que ya están creados, hay que hacerlo a mano.
Para los cursos nuevos, se puede hacer, además de lo mencionado por Wenceslao,
utilizando el fichero config.php

Existe en ese fichero las variables siguientes:

1.- Esta variable define los bloques por defecto que se mostraran en todos los cursos nuevos y sobreescribe a todas las demás.

// $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';

2.- Esta configura los bloques de la Portada del sitio.

// $CFG->defaultblocks_site = 'site_main_menu,admin,course_list:course_summary,calendar_month';

3.- Cada una de estas variables definr los bloques para cada formato de curso y
sobreescribe los bloques por defecto definidos en cada formato de curso.

// $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,admin,course_list';
// $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
// $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';

4.- Si no se encuentra ninguna otra configuración se usará la definida en esta varable.

// $CFG->defaultblocks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';


Sólo descomenta las variables que desees usar y añade los bloques que se mostrarán.

Yo lo suelo usar porque mis cursos también tienen un formato de bloques determinado.
Esto unido a los bloques "Sticky" debería ser suficiente para que tus cursos muestren los bloques que te interesen.

Hasta pronto,
Salu2
J. Raul (juagarc4) guay
En respuesta a Raul Garcia Canet

Re: Fijar ubicación de bloques para todos los cursos

de Raul Urzua de la Sotta -
Juan Raúl:

Muchas gracias por tu respuesta y creo que me quedaré con los bloques sticky que mencionó Wenceslao, ya que según lo que entendí, no pueden ser modificados por el profesor.

En caso de que este tipo de bloques no cumpla las expectativas, utilizaré lo que tu indicas, ya que se vé simple y practico... o sea, genial !!!

Sea cual sea la solución... ¿Qué hago con los bloques de los cursos ya creados?... estuve investigando y recorriendo la base de datos para saber como puedo modificar los bloques asignados a cada uno de los cursos creados, aquí dicen que mdl_block_instance es la tabla que relaciona bloques con cursos/páginas. Hice cambios en los bloques de un curso y es correcto lo que allí dicen.

Ahora... para "resetar" los bloques de todos los cursos ya creados... crees tu que serí tan simple como vaciar la tabla, es decir, borrar todos los registros?!?!?!?!

Si es así... y no genera problemas adicionales, sería perfecto!!!

Gracias nuevamente.

En respuesta a Raul Garcia Canet

Re: Fijar ubicación de bloques para todos los cursos

de J P -
Hola Raúl,  porque si mi archivo config.php no tiene esas variables habilitadas, aun así pone ciertos bloques por default al crear un curso???
En respuesta a Raul Urzua de la Sotta

Re: Fijar ubicación de bloques para todos los cursos

de Sergio Alfaro -
Hay una forma de dejar por defecto los bloques para los nuevos cursos esto es descomentando y/o modificando los $CFG de las lineas del config.php de acuerdo tus preferencias.

// These variables define DEFAULT block variables for new courses
// If this one is set it overrides all others and is the only one used.
// $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
//
// These variables define the specific settings for defined course formats.
// They override any settings defined in the formats own config file.
// $CFG->defaultblocks_site = 'site_main_menu,admin,course_list:course_summary,calendar_month';
// $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,admin,course_list';
// $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
// $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
//
// These blocks are used when no other default setting is found.
// $CFG->defaultblocks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
//