Se que entrando alumno por alumno puedo ir viendo el historial con cada uno de ellos, pero me gustaría saber si existe la posibilidad de ver todos los mensajes que he enviado y recibido de cualquier usuario, sin falta de ir uno por uno.
Muchas gracias.
Re: Como ver el historial de mensajes con todos los alumnos
¿Me podrías comentar cómo ves el historial de mensajes con un usuario? Gracias!
Re: Como ver el historial de mensajes con todos los alumnos
Historia de mensajes.
Pues le das ahi y se te abre otra ventana con todos los mensajes enviados y recibidos entre esa persona y tu ordenados cronológicamente.
Re: Como ver el historial de mensajes con todos los alumnos
Lamentablemente, me parece que no hay ninguna opción para recuperar TODOS los mensajes que has intercambiado con TODOS los usuarios.
No obstante me parece una opción interesante que podría incluirse en el propio perfil del usuario (igual que sí están los mensajes de los foros en los que ha participado el usuario)
A ver si encuentro un hueco y me pongo, a ver si consigo que funcione.
Hasta pronto,
Salu2
J. Raul (juagarc4)
Re: Como ver el historial de mensajes con todos los alumnos
Creo que lo tengo
Lo he estado probando y parece que funciona pero mejor que alguien más lo compruebe.
Versión de Moodle:'1.9.5+ (Build: 20091014)'
Dejo el parche para que se pueda aplicar directamente.
y los ficheros modificados para los que quieran sólo sustituir los ficheros
Los ficheros afectados son:
/moodle/user/tabs.php (añadir la pestaña en el perfil del usuario)
/moodle/message/lib.hp (la funcion para recuperar todos los mensajes)
Y un fichero nuevo creado:
/moodle/message/historyall.php (visualización de los mensajes)
Espero que vaya bien.
Hasta pronto,
Salu2
J. Raul (juagarc4)
Re: Como ver el historial de mensajes con todos los alumnos
Saludos,
Mariano
Re: Como ver el historial de mensajes con todos los alumnos
Bueno, es un poco largo, pero nada complejo.
Si no te manejas bien con las herramientas mezclado(merge) de código, lo más sencillo (aunque un poco tedioso) es modificar el código a mano.
Vamos allá, arremángate que empezamos :
Te recomiendo que todos los pasos los hagas en una instalación local de moodle y luego (cuando hayas verificado que funciona) hacer los mismos pasos en el servidor.
NOTA IMPORTANTE: haz una copia de tus ficheros /moodle/user/tabs.php y /moodle/message/lib.php
El fichero "historyall.php" es nuevo y no lo tendrás, así que no puedes hacer copia de él.
Paso 1: Copia el fichero historyall.php en la carpeta moodle/message/
Este era el paso más fácil.
Ahora vamos a realizar las modificaciones en los ficheros tabs.php que está en la carpeta moodle/user/ y lib.php que está en la carpeta moodle/message
Para editar los ficheros asegurate de usar un editor que no se al bloc de notas de windows, ni el word. Yo uso el Notepad++ (en Windows) y el Vim(en Linux), per puedes usar cualesquieras. También puedes usar el phpedit (antes era gratuito, pero ya no lo es) o cualquier otro editor de páginas web (pero no te lo recomiendo)
Paso 2: Edita el fichero lib.php que está en la carpeta /moodle/message/
Busca la función:
function message_get_history($user1, $user2) {
....
return $message
}
Justo después de la llave de cierre y antes de la línea:
function message_format_message(&$message, &$user, $format='', $keywords='', $class='other') {
pega este código:
function message_get_all_messages($user1){
$messages = get_records_select('message_read', "(useridfrom = '$user1->id')",'timecreated');
return $messages;
}
Esta función recuperará todos los mensajes del usuario actual.
Guarda el fichero.
Paso 3: Edita el fichero tabs.php que está en /moodle/user/
Busca estas líneas:
$secondrow = $reportsecondrow;
}
}
(Aquí pega el código)
} //close last bracket (individual tags)
Pega el siguiente código, en el lugar que te indico con el texto en rojo (Aquí pega el código) es decir, antes de la llave "} //close last bracket"
//Add tab to see instant messages
$toprow[] = new tabobject('messagin', $CFG->wwwroot.'/message/historyall.php?id='.$user->id.'&course='.$course->id ,get_string('messagehistory','message'));
Guarda el fichero.
Este código añadirá una pestaña en el perfil del usuario que se llama "Historia de Mensajes"
Ahora entra en el perfil de tu usuario y comprueba que todo funciona correctamente.
Si no tienes mensajes, te informará de ello. Prueba a mandar un mensaje a algunos usario y a responderte desde esos usuarios.
Si todo ha ido bien, podrás ver el historial de mensajes con todos los usuarios.
Si tines algun problema no dudes en postear
Hasta pronto,
Salu2
J. Raul (juagarc4)
Re: Como ver el historial de mensajes con todos los alumnos
Muchas gracias de nuevo...
Re: Como ver el historial de mensajes con todos los alumnos
Esto e muy dificil de solucionar? hacer qeu solo el administrador o porfesor pueda ver este historial?
Saludos,
Re: Como ver el historial de mensajes con todos los alumnos
Lo más fácil es coultar la pestaña en el perfil, así que en el fichero:
/moodle/user/tabs.php
Cambia la línea
$toprow[] = new tabobject('messagin', $CFG->wwwroot.'/message/historyall.php?id='.$user->id.'&course='.$course->id ,get_string('messagehistory','message'));
Por:
//Esto comprueba que es administrador o que tiene la capacidad de manejar los archivos (normalmente los roles por encima del alumno pueden) y entonces muestra el tab, sino no lo muestra.
If (is_siteadmin($user->id) || has_capability('moodle/course:managefiles', $coursecontext)){
$toprow[] = new tabobject('messagin', $CFG->wwwroot.'/message/historyall.php?id='.$user->id.'&course='.$course->id ,get_string('messagehistory','message'));
}
Lo siento, pero ahora no puedo probarlo porque estoy en plena actualización de mi sistema, pero debe de funcionar bien.
Hasta pronto,
Salu2
J. Raul (juagarc4)
Re: Como ver el historial de mensajes con todos los alumnos
Ya lo tengo. He probado en otra instalación de moodle y me ha salido correcto. Muchas gracias por tu ayuda.
Sin embargo el problema es que todos ven los mensajes de todos, y aunque en el foro plantea ocultar la pestaña a algunos usuarios, lo que yo necesito es que cada profesor vea sólo los mensajes suyos, no los de otros profesores.
¿Tú tienes idea de cómo modificar el código fuente para conseguir esto?.
De nuevo. Muchas gracias de antemano.
Saludos
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
En principio solo debería mostrar el historial de mensajes con aquellos usuarios con los cuales hayas intercambiado mensajes. Esta es la parte del código de historyall.php que parece que se encarga de ello:
$my_messages=message_get_all_messages($user);
Básicamente recolecta todos los mensajes del usuario, y va desgranando por destinatario.
Re: Como ver el historial de mensajes con todos los alumnos
Ya lo tengo. tenías razón en que cada uno sólo ve sus conversaciones pero el caso es que las mismas conversaciones me salen repetidas varias veces. Intuyo que se repiten tantas veces como cursos en los que está matriculado el alumno. ¿Cómo hacer que sólo se vean una sola vez los mensajes y no se repitan? Gracias de antemano y espero que esta sea la última petición de ayuda. Gracias Amparo
Re: Como ver el historial de mensajes con todos los alumnos
Hola ¿Cómo lo conseguiste? A mi me sale la pestaña nueva de historiald e mensajes pero me sale vacio después de haber enviado y recibido mensajes.
Gracias
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
Estoy muy interesado en esto que se está planteando pero no sé dónde está el fichero historyall.php que debo copiar en la carpeta moodle/message/.
También deciros que estoy en pleno desarrollo de curso. ¿Sabéis si este cambio puede afectar y/o bloquear alguna otra función?.
Gracias como siempre.
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
He visto que estaba colgado el parche pero además de que dice que tiene un error y no lo descarga bien, yo sólo necesito el archivo historyall.php ya que voy a hacer la modificación a mano.
Saludos de nuevo y muchas gracias.
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
Con permiso de Juan Raúl, vuelvo a subir el archivo en formato zip.
Re: Como ver el historial de mensajes con todos los alumnos
Muchísmias gracias Xavier. Ahora lo he descargado bien.Voy a probarlo y ya os dirá algo.
Re: Como ver el historial de mensajes con todos los alumnos
Hola Xavier:
Lo he probado y la pestaña de mensajes me sale bien pero al hacer clic en ella no me sale ningún historial. Me sale vacía la ventana. Por otro lado he visto que en el archivo comprimido hay 4 archivos cuando en el foro se habla sólo de 3. Este 4º archivo es el archivo messagehistory.diff no sé para qué es y si el problema puede tener que ver con esto.
De nuevo muchas gracias de antemano.
Saludos
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
El archivo diff es un parche que contiene las modificaciones aplicadas al fichero original (messagehistory.php supongo) y que se debe aplicar sobre este. Para ello puedes usar varias herramientas como el comando diff en Linux o winmerge en windows.
Re: Como ver el historial de mensajes con todos los alumnos
Perdóname pero no entiendo ni sé còmo tengo que hacer xon ese arvhivo.
Gracias de nuevo
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
Tienes todos los detalles en http://docs.moodle.org/es/Como_aplicar_un_parche
Re: Como ver el historial de mensajes con todos los alumnos
Muchas gracias por todo.
He intentado hacerlo como dice en el foro original, modificando los archivos en lugar de con el parche y sigue saliendo lo mismo: el historial vacío. Tiene que haber otro problema ya que he seguido los pasos uno a uno como indican y hay otra persona que lo ha hecho así y le funciona bien según dice en el foro. ¿Sabes tú qué puede estar pasando?
Re: Como ver el historial de mensajes con todos los alumnos
Puede ser por varios motivos. Es posible que sea un error de sintaxis, porque hayas olvidado algún paréntesis, punto y coma,llave o similar. Otra opción es que no existan mensajes entre esos usuarios..
Re: Como ver el historial de mensajes con todos los alumnos
Ya lo tengo. He probado en otra instalación de moodle y me ha salido correcto. Muchas gracias por tu ayuda.
Sin embargo el problema es que todos ven los mensajes de todos, y aunque en el foro plantea ocultar la pestaña a algunos usuarios, lo que yo necesito es que cada profesor vea sólo los mensajes suyos, no los de otros profesores.
¿Tú tienes idea de cómo modificar el código fuente para conseguir esto?.
De nuevo. Muchas gracias de antemano.
Saludos
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
Por fin. Ya lo tengo. tenías razón en que cada uno sólo ve sus conversaciones pero el caso es que las mismas conversaciones me salen repetidas varias veces. Intuyo que se repiten tantas veces como cursos en los que está matriculado el alumno.
¿Cómo hacer que sólo se vean una sola vez los mensajes y no se repitan?
Gracias de antemano y espero que esta sea la última petición de ayuda.
Gracias
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
Por fin. Ya lo tengo. tenías razón en que cada uno sólo ve sus conversaciones pero el caso es que las mismas conversaciones me salen repetidas varias veces. Intuyo que se repiten tantas veces como cursos en los que está matriculado el alumno.
¿Cómo hacer que sólo se vean una sola vez los mensajes y no se repitan?
Gracias de antemano y espero que esta sea la última petición de ayuda.
Gracias
Amparo
Re: Como ver el historial de mensajes con todos los alumnos
Hola Xavier o Juan Raúl:
Necesito tu ayuda de nuevo. es muy urgente. En este archivo que subiste de nuevo al copiarlo, me va todo de lujo pero me salen las mismas conversaciones repetidas tantas veces como cursos hace el alumno. ¿Cómo lo arreglo? Necesito ayuda.
Gracias