Recursos Educativos

20 de diciembre de 2012

Importar un calendario desde “Google Calendar” en un portal Joomla 2.5.

De lo que trata este artículo es de que en nuestro portal de 'joomla' aparezca un módulo donde se muestre un calendario con eventos que se importará de "Google Calendar", suponiendo que ya estamos utilizando un calendario de este tipo para registrar nuestros eventos públicos, de forma que no tengamos que volver a introducirlos. Por tanto, no se trata de incrustar el código html del calendario que tengamos en "Google Calendar"  dentro de un artículo del portal o de forma similar a como se puede hacer en un blog, sino de que nos aparezca en un módulo que podremos colocar en la posición que queramos.
Para empezar lo que tenemos que hacer es irnos a la “configuración” de nuestro calendario en “Google Calendar
Una vez dentro de la configuración, de entre las opciones del menú superior, seleccionamos “Calendarios”, y acontinuación se nos visulizan los calendarios disponibles que tenemos, pinchando en el calendario que queremos importar.
Una vez que se ha hecho esto, aparecerá una nueva ventana con los “Detalles del calendario seleccionado”, y de nuevo, en el menú de la parte superior, seleccionamos la opción “Compartir este calendario”. En la ventana que nos aparecerá ahora, tendremos que marcar la casilla, si es que no lo está ya, de “Hacer público este calendario” (Nota: sólo es necesario ésta, así que si al marcarla se marca automática la otra casilla que está justo debajo: “Compartir únicamente mi información de libre/ocupado (ocultar detalles)”, la desmacaremos) y a continuación haremos clic en “Guardar”.
Al hacer esto nos saldrá un mensaje de advertencia diciéndonos que todo el mundo podrá ver nuestro eventos, pero de eso es de lo que se trata, que todo el mundo pueda verlos o consultarlos en nuestro portal. Le decimos que “SI”, volvemos al calendario y nos salimos de la sesión de “Google Calendar”, ya no la necesitaremos abierta.
Ahora lo que tenemos que hacer es instalar una nueva extensión para mostrar el calendario como un módulo y poder importarlo desde “Google Calendar”en nuestro portal Joomla 2.5, para ello, lo primero que tenemos que hacer es bajarnos dicha extensión, en concreto la “gcalendar” (lo podemos hacer desde aquí).
Para instalar la extensión, entramos como administrador en nuestro portal, desde el 'backend' y nos vamos a "Extensiones->Gestor de Extensiones" y ahora selecconamos el paquete con la extensión que no hemos bajado antes y pulsamos sobre “Subir e instalar”.
Si todo ha ido bien y no se ha producido ningún error, se nos habrán instalados varios módulos y algún que otro plugin, aunque por defecto aparecerán todos desactivados/despublicados. Para lo que queremos conseguir sólo necesitaremos publicar el módulo de “GCalendar - Información general” , y esto lo conseguimos hacer desde "Extensiones->Gestor de Módulos", buscamos el que necesitamos y lo activamos/publicamos.
Para poder ver el módulo en nuestro portal (aunque de momento sin ningún calendario importado), necesitamos hacer clic sobre el nombre de este módulo que acabamos de publicar, para poder acceder a su configuración, donde tendremos que cambiar la posición y el lugar donde queremos que aparezca en nuestra plantilla, así como si queremos que aparezca en todas las páginas o en algunas en concreto (“Asignación de menú”); en mi caso, la opción “Mostrar Título”, la pongo como “Oculta”. Podemos modificar si queremos, el día en que queremos que empiece la semana. Un posible ejemplo de como quedaría la configuración es:
Bien, hasta aquí ya tenemos nuestro módulo de Gcalendar instalado y situado en la posición que nos interesa de nuestro portal, ahora sólo hay que importar y añadirle nuestro calendario de “Google Calendar”, porque el que aparece ahora sólo es un calendario sin contenido, sin eventos.
Para importar el calendario tendremos que ir a "Componentes->GCalendar-> Panel de Control" y pinchamos sobre el botón de “Importar Calendario”. En la nueva ventana que nos aparece, tan sólo tendremos que introducir el usuario que tiene los permisos adecuados del calendario y la contraseña (o dicho de otra forma, los datos que introducimos para acceder el “Google Calendar”) y una vez introducidos hacemos clic el botón de “Login”.
Si los datos introducidos son correctos, nos aparecerá el nombre del calendiaro “sombreado”, es decir, nos lo ha “importado” y ahora tendremos que “añadirlo”, para ello simplemente marcamos su casilla y pulsamos sobre el botón “Añadir”, y ahora ya nos aparecerá como activo.
Si hacemos clic sobre el calendario importado y añadido, accederemos a la sección de “Detalles”, en la que en principio no tenemos que hacer nada, puesto que nuestro calendario está puesto como público (las opciones de “Magic Cookie” o “Usuario/Contraseña” es para cuando el calendario no está puesto como “Público”, así que no tenemos que modicar nada). Si desea se puede modificar el color (este color es para indicar en el calendario, los dias en los que hay eventos, y es útil cuando se importan más de un calendaro, ya que al hacer clic sobre un día del calendario, por ejemplo, nos aparecerían todos los eventos de los calendarios importados y añadidos, pero con distinto color los eventos de cada calendario; si sólo tenemos un calendario nos daría igual).
Pues con esto en principio ya podríamos ver nuestro calendario de Google Calendar importado en nuestro módulo del portal, e incluso podemos hacer clic en un día determinado para ampliar el calendiario (aparecería ahora en la parte central de nuestro portal) y poder ver además, los eventos por día, semana o meses...
Si tenemos algún problema, es decir, no se visualizan los eventos de nuestro calendario, podremos hacer un chequeo para ver que error se está produciendo, para ello, desde el 'backend' y como administrador, nos iremos a "Componentes-> GCalendar-Panel de Control-> Herramientas-> Comprobación del Sistema".
Si todo está OK, nos debería salir algo como esto:
Otra cosa que puede sucedernos, es que modifiquemos nuestro 'Google Calendar', y los cambios no se reflejen automáticamente en nuestro portal, pero esto puede ser debido a que el calendario en nuestro portal estaría en caché, así que para asegurarnos de que es esto, podemos limpiar la caché, pero me refiero a LA DEL PORTAL, no a la del navegador. Para limpiar la caché de nuestro portal, nos vamos a “Sitio->Mantenimiento-Limpiar la Caché” y ahí limpiar lo que nos aparezca...

7 comentarios:

  1. muy bien explicado, gracias! para gente como yo estos blogs son una panacea.

    ResponderEliminar
    Respuestas
    1. Pues nada, me alegro que te haya servido de algo, y gracias a ti por leer este blog, que lo que intenta es compartir experiencias y conocimientos o divulgar estos de un modo u otro. Un saludo.

      Eliminar
  2. Estimado amigo,
    Felicitarlo por tan clara explicación. Tengo algunas consultas a ver si me puedes ayudar:

    - Desde joomla, puedo agregar eventos al calendario y/o modificar los ya ingresados. O solo puedo ver solamente.
    - Como hago para que solo algunos usuarios de mo web joomla puedan ver el calendario y no todo el mundo.

    Gracias

    ResponderEliminar
    Respuestas
    1. Gracias a ti por leer este blog. En cuanto a tus consultas te respondo.

      - Con el componente "GCalendar" desde joomla me temo que no vas a poder agregar/modificar eventos y que estos te aparezcan en google calendar, tan sólo te permite importarlos y visualizarlos. Para lo que tu buscas tendrías que instalar el paquete "GCalendar Action Pack", aunque yo no lo he probado porque para las necesidades que tenemos con nuestra web nos viene bien simplemente con el "GCalendar". Este paquete de "GCalendar Action Pack", añade funciones extras al GCalendar que ya tengas instalado, tales como crear y editar eventos directamente desde tu página "GCalendar" y propagarlos directamente a Google calendar. Te dejo aquí un enlace si quieres más información sobre este paquete: https://g4j.digital-peak.com/extensions/gcalendar-action-pack
      ¿Cuál es la única pega? pues que no sé exactamente si para poder bajártelo tienes que pasar por caja o hacer una pequeña contribución/donación, pero esto lo puedes mirar en el enlace que te he puesto.

      - En cuanto a tu segunda pregunta, y referida siempre al "GCalendar" (al básico, para que nos entendamos), así a bote pronto y sin hacer nada más, lo que puedes hacer por ejemplo, si NO quieres que todo el mundo cuando acceda a tu web vea el calendario, es hacerlo visible sólo para lo usuario registrados, o por los administrados que tienen un permiso especial. Para esto tendrías que ir a Extensiones->Gestor de módulos, pinchar en seleccionar GCalendar, y el apartado de "Detalles", hay una casilla que es "Acceso", ahí por defecto tendrás: Public (Público, para todo el mundo), Registered (sólo para usuarios registrados en el portal) o Special (para administradores del portal, además del superadminitrador). Esto sin hacer nada, porque también puedes instalar algún complemento para poder ampliar esta lista (Public, Registered, Special), siempre que tampoco quieras que todos los usuarios registrados puedan verlo y sólo algunos de ellos con lo que tendrías que crear tu propia ACL (Lista de control de acceso)....

      Eliminar
  3. me sale este error al querer logearme... ha que se debe, o que tengo q hacer para poder solucionarlo y acceder a google


    Unable to Connect to ssl://www.google.com:443. Error #63850704: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?

    ResponderEliminar
    Respuestas
    1. Pues así sin más pistas de en qué tipo de servidor estás trabajando, que éstas utilizando, etc.. lo único que puedo decirte es lo que te dice el error, o sea, que parece un tema de configuración de tu PHP, donde igual no está habilitado el protocolo de transporte "ssl". En algunos sitios he visto que este error se ha resuelto tocando un fichero de configuración el "php.ini", y buscando la línea que contiene:
      ;extension=php_openssl.dll
      En esta línea, lo que habría que hacer es quitar el "punto y coma" inicial, o sea, descomentar la línea para que tenga efecto y no la tome como un comentario. Una vez salvados los cambios, habría que reiniciar el Apache, porque sino, aunque se haya cambiado el fichero no se tendrían en cuenta los cambios en el servidor.

      Eliminar