Diferencia entre revisiones de «Proyecto:LibreLab»

De FdIwiki SC
Saltar a: navegación, buscar
 
Línea 141: Línea 141:
  
 
El resto de información y necesidades que tenía la asociación los hemos obtenido directamente a partir de comunicación directa con la asociación y siendo algunos miembros de ella.
 
El resto de información y necesidades que tenía la asociación los hemos obtenido directamente a partir de comunicación directa con la asociación y siendo algunos miembros de ella.
 +
 +
 +
[[Categoría:Prácticas]]
 +
[[Categoría:Curso 2016-2017]]

Última revisión de 14:07 5 feb 2017

                                      LibreLabLogoVersion.jpg 


"LibreLab"
     {{{LOGO_DESCRIPTION}}}
     

Grupo
proyecto:LibreLab
Miembros del grupo
  • Guillermo Monserrate Sánchez
  • Laura Sanz Garcia
  • Dominik
  • Jorge Alonso
  • Raúl Torrijos
Información general
Web name proyecto:LibreLab
Web url http://librelabucm.cf
Versión definitiva Yes


Descripción del proyecto

Elegimos este tema por varias razones.

Una de ellas es que LibreLab se ha convertido (en muy poco tiempo) en una de las "asociaciones con más actividad de la facultad", ayudando a los alumnos y realizando diferentes actividades (tanto talleres, como conferencias en la semana de la informática, o actividades como la CryptoParty). Como aún es una asociación relativamente nueva (aunque con mucha fuerza) aún tiene algunos aspectos que no están pulidos del todo. Por eso, nos ha parecido una idea fantástica aprovechar esta oportunidad de proyecto para poder crear una página de la que LibreLab pueda aprovecharse de forma beneficiosa.

Nuestro objetivo es realizar una página alternativa y mejorada con respecto a la actual página de librelab: http://www.librelabucm.org/.

Queremos mejorar algunos aspectos concretos entre ellos:

  • Hacer una página web que interactúe más con los usuario, sea estéticamente más llamativa y ofrezca toda la información al alcance de nuestra mano sobre librelab y todos los eventos que organiza.

Servicio de hosting

Hemos elegido usar un server de DigitalOcean, gracias al paquete de estudiantes de GitHub, que regala 50$ para uso de servidores web. Funciona perfectamente. Es un server muy eficaz y prácticamente no tenemos ninguna queja con él.

Index.jpeg

Imagen ficticia de los servers de Digital Ocean

Roles

  • Administrador: encargado de la administración global. Este rol pertenece a los diseñadores encargados de hacer la página.
  • Newer: usuario ya registrado. Puede publicar contenidos en el foro,participar en los retos, obtener puntos, comprar camisetas, acceder a la compatibilidad y ver las propuestas a proyectos de otras personas. Según vaya consiguiendo puntos (e insignias) se le irá asignando un nuevo rol que tenga acceso a las vistas en las que están los retos superiores. Este rol empieza con 10 LibreCoins.
  • AyudanteChief: usuario registrado. Aparte de tener todos privilegios en foro que tiene el Newer, el Ayudante Chief puede moderar el foro y tendrán un prestigio adicional a la hora de contestar preguntas y añadir contenidos. También tendrá acceso a todos los retos de la página.

Este rol se le asigna al usuario registrado que tenga un número de "x" LibreCoins y las insignias correspondientes por su colaboración yayuda a la asociación.

  • Presidencia: el rol presidencia tiene parte de los permisos de administrador, pero personalizados para él.
  • Tesorero: será el único con permiso para modificar la sección de gestión de fondos de la asociación, por tanto, será prácticamente el encargado de toda la gestión que se haga con commerce.
  • Secretario: ser el único con acceso a “modificación de actas” unasección donde el secretario sube, modifica o elimina las actas de las reuniones de libre lab.

Nuevos módulos

Hemos aprendido a manejar ciertos módulos (leyendo su documentación en la web y cacharreando con ellos) necesarios para la implementación de ciertas funcionalidades de nuestra página.

Módulo Descripción Uso en nuestro Drupal
Role theme switcher Permite asignar un tema específico a cada rol. Aunque sabemos que no te interesan los temas ni un poquito hemos instalado un este módulo que permite asignar a cada tipo de usuario un tema distinto, por lo que hemos considerado necesario mencionarlo.
Cart

Para implementar un sistema de cesta a las opciones de compra del usuario.

Usado en cierto modo porque queríamos un icono de cesta para nuestros usuarios.
Date Hace que los campos fecha/hora estén disponibles, y permite más funcionalidades para crear funcionalidades. Sobretodo nos ha sido muy útil a la hora de crear un calendario con los eventos de LibreLab.
Fivestar Éste módulo permite evaluar los contenidos de la página a los usuarios: un evento, una entrada en el blog, etc Lo hemos incluido en nuestro drupal puesto que en LibreLab se busca el feedback de los miembros, ya que una de la grandes funciones de LibreLab es ayudar a los estudiantes.
Schema Éste módulo permite coger los resultados de las encuestas hechas por webform y relacionarlos en una tabla en la que se muestra la cantidad de respuestas en común que tienen los usuarios. Éste módulo que hemos creado nos ha servido para poder implementar la funcionalidad de nuestro apartado ¡Encuentra a tu compañero!, permitiendo mostrar las compatibilidades de intereses entre usuarios.
Userpoints Permite asignar puntos a los usuarios de la página. Hemos incluido este módulo para poder usar la funcionalidad de las “LibreCoins”. Los puntos son asignados mediante reglas.
Webform Permite crear formularios con diferentes opciones de respuesta. Lo hemos usado principalmente a la hora de preguntar a los usuarios por sus gustos en “¡Encuentra a tu compañero!”, y lo hemos enlazado con el módulo find_your_friend.
Drag & Drop Permite crear un campo en tipo de contenido que deja subir tipos de archivo (según como lo configures: pdf, txt, etc.) directamente al servidor y mostrarlos en tu drupal Lo usamos principalmente para subir las actas en formato pdf, pero al final lo acabamos usando para muchas más cosas en los diferentes tipos de contenido.
Video Embed Field

Para poder mostrar el vídeo de introducción de LibreLab antes de iniciar sesión.

Lo utilizamos para incrustar un video en un pop-up al iniciar la página.
Gtranslate Módulo que permite usar google translate para traducir la página a diferentes idiomas. Hemos usado este módulo añadiendo un bloque en la página en forma de banderas.
Privatemsg Permite enviar mensajes privados entre usuarios. Usamos este módulo para permitir a los usuarios que, una vez hayan terminado el test de compatibilidad, puedan hablar con su compañero afín.
Twitter Bootstrap Modal

Para la poder implementar un bloque que muestre los tweets de LibreLab.

Seleccionaremos la cuenta de Twitter de LibreLab para que se muestre en un lado el contenido que se publique ahí.
Pop-up announcement Permite abrir desplegables del tipo Pop-up en la página. Lo utilizamos para abrir un pop-up donde introducimos un video.

Creación del módulo "find_your_friend"

Primero creamos un formulario con el módulo webform, con las preguntas que queremos que nuestros usuarios rellenen para mostrar sus gustos.

Después creamos un tipo de contenido “Emparejamiento”, con los campos que se rellenaran con la información que recoja el módulo.

El código del módulo consiste en dos funciones:

 La primera función del módulo hace que drupal reconozca un nuevo bloque inicialmente vacío

Find.png

 La segunda función recoge de la base de datos las respuestas al formulario de los usuarios y, la compara entre ellos generando un código 
html, que se redirigirá a drupal para que este muestre en la tabla exáctamente la información que le ha venido de esa comparación 
(ese sería el output). De esta forma, los campos del contenido “Emparejamiento” se rellenan, y el bloque que muestra la tabla con las 
relaciones muestra la información (justo debajo del formulario).

My block view.png Next.png

Referencias

Como principal referencia hemos usado la actual página de LibreLab (http://www.librelabucm.org), teniendo así una cierta plantilla para contenidos indispensables y un cierto estilo visual del agrado de toda la asociación.

También nos hemos inspirado para hacer los retos en esta página (http://web.archive.org/web/20000229044735/http://portal.cyberarmy.com/) cuya referencia nos ha dado el profesor José Luis Vázquez Poletti, en la que él mismo participó hace tiempo y de la que se inspiró para hacer los retos en su asignatura Redes y Seguridad (asignatura en la que nos hemos inspirado nosotros para hacer los retos de LibreLab).

Finalmente hemos hecho una amplia búsqueda en la página oficial de drupal (https://www.drupal.org/project/project_module) para encontrar los módulos más adecuados para el tipo de funcionalidades y contenidos que queremos tener en nuestro portal.

El resto de información y necesidades que tenía la asociación los hemos obtenido directamente a partir de comunicación directa con la asociación y siendo algunos miembros de ella.