Publi

La web a mi gusto: Descargar contenidos de Moodle rápidamente

Actualización (22/08/2012) : Este script es algo antiguo y puede que en versiones modernas de Greasemonkey no funcione, ya que Chickenfoot ha dejado de mantenerse y no tenemos versiones nuevas de este complemento.

Quiero continuar con una serie de posts que llevarán una temática parecida: muchas páginas web funcionan de una forma fija, pero a mí me incomoda bastante esa forma de funcionar, pero como necesito cubrir mis necesidades, intento que funcionen como yo quiero.
Tras esa gran descripción, quiero introducir mi problema:
Moodle es un sistema ampliamente aceptado como solución web académica, tiene muchas opciones y está muy bien, personalmente, en la Universidad, los profesores cuelgan apuntes, ejercicios y más material a la web, lo malo es que cuando llego a una página, me gusta descargar a mi disco duro todos los contenidos (pdfs, documentos, etc), y para ello invierto mucho tiempo.
Para ello viene bien una extensión para Firefox: Chickenfoot, también podemos utilizar Greasemonkey (también hay extensiones para IE y Safari).

Sin más preámbulos, el script utilizado para que Moodle descargue los contenidos más rápido es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var alltags = new Array();

function detecta_pdf(cont)
{
  var url_match = /https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?/;
  var contenido=cont.match(url_match);
  document.location=contenido[0];
}

function pdfplay(que)
{
  var cont=que.innerHTML;
  que.innerHTML='';
  detecta_pdf(cont);  
}

function CogeElementoPorClase(tipo, clase, quehacer)
{
  var alltags=document.getElementsByTagName(tipo);

  for (i=0; i<alltags.length; i++)
  {
    if (alltags[i].className==clase)
    {
    quehacer(alltags[i]);
    }
  }
}

CogeElementoPorClase('div', 'resourcepdf', pdfplay);

La función CogeElementoPorClase() es la misma que utilicé en este post anterior para modificar la web de mi proveedor de hosting.

Tras ello debemos crear un trigger, es decir será el evento con el que se disparará automáticamente el script que acabamos de hacer; por ejemplo, para la Universidad de Málaga podemos decir que el script se dispare cuando la página a la que accedemos sea: http://*.cv.uma.es/mod/resource/view.php?id=*.

En principio el script fue pensado para los PDFs (el acrobat reader tarda bastante en abrirse cuando tienes que abrir más de 10 PDFs), pero puede servir para cualquier contenido. Por otra parte, aunque no está muy optimizado (la necesidad me llevó a hacer el script rápidamente) espero que os sea útil.

También podría interesarte...

There are 2 comments left Ir a comentario

  1. Javier Ferrer /
    Usando Mozilla Firefox Mozilla Firefox 13.0.1 en Windows Windows 7

    Buenas!
    He intentado utilizar este script, pero no sé como funciona. Es decir, desde el greasemonkey puedo ver como aparece el nombre del script cuando visito la página de moodle, pero no sé como hacer que se descargue todos los pdfs (no sé cómo hacerlo “funcionar”)

    Muchas gracias por tu ayuda y enhorabuena por el blog.

    Un saludo.

    Javier.

    1. Gaspar Fernández / Post Author
      Usando Mozilla Firefox Mozilla Firefox 13.0.1 en Ubuntu Linux Ubuntu Linux

      Gracias por tu comentario, me temo que tendré que revisar el script ya que en versiones modernas no funciona, y por ejemplo, Chickenfoot ya no se mantiene, por lo que podemos considerarlo desaparecido. Si quieres darle un par de vueltas a ver si lo echas a andar, te agradecería que me lo pasaras de nuevo, para tenerlo y si no te importa actualizar el artículo.

Leave a Reply