Creando una red social en Drupal
Drupal: los límites de lo posible
Drupal es uno de los mejores sistemas de gestión de contenido (CMS). De hecho, ganó (dos veces) el premio a la Mejor CMS de Código Abierto en 2008 y el premio al Mejor CMS PHP de Código Abierto. Después de unos 8 años de evolución, Drupal se presenta como uno de los frameworks más potentes y versátiles. Su excepcional versatilidad es, sin duda, su mayor fortaleza... y al mismo tiempo, su debilidad. Cualquier funcionalidad es posible, pero ¿por dónde empezar? He pasado muchos días explorando distintos módulos, sus posibilidades de uso y compatibilidad, errores y características, para poder recomendarte los mejores. Cada vez más personas me preguntan cómo implementé ciertas funciones comunitarias, así que decidí reunir todo esto en una serie de artículos. El lector recorrerá varios módulos y configuraciones necesarias para crear un sitio comunitario. Esto será una exploración de módulos y sus particularidades dentro del sistema de gestión de contenidos (CMS).
Camino hacia una red social
Las comunidades en línea están surgiendo como hongos por toda la red. Cada una tiene sus particularidades, así que asegurémonos de que nuestro sitio será una red social. Propongo los siguientes criterios para definir un sitio como una red social:
- Unidad de los visitantes en cuanto al propósito de visitar el sitio.
- Visitantes con intereses comunes que viven en una región específica.
- Interacción entre los visitantes de diversas formas en un espacio público.
- Grupo de personas con características comunes o que conviven en la sociedad.
- Grupos unidos por políticas comunes.
- Asociación de personas o países con historia común o intereses sociales, económicos y políticos (comunidad internacional).
- Asociación de personas con intereses comunes, especialmente profesionales o científicos (comunidades académicas).
Podemos descomponer esta definición en algunas palabras clave: interés común, grupos de personas, ubicación compartida y política común. En el caso de comunidades virtuales, podemos aplicar esta definición de la siguiente forma:
1. Interés común: las personas en tu sitio tienen algo en común. ¿Se trata de un sitio sobre Drupal, salud o bolos? Sea cual sea el “tema” de tu sitio, asegúrate de destacarlo, porque es lo que buscan los usuarios.
2. Grupo de personas: toda persona que se registre forma parte de la comunidad. El objetivo es atraer a tantos usuarios como sea posible.
3. Espacio público: Internet, tu sitio web.
4. Política común: tu sitio debe tener algunas normas básicas. ¿Qué se permite hacer a los visitantes en tu sitio? ¿Cuál es el comportamiento aceptable? Uno de los principales objetivos de crear una comunidad es facilitar el contacto entre los usuarios. Tus usuarios deben sentir que están en un lugar compartido con otras personas, generando así un sentido de comunidad.
Drupal es grandioso, pero creo que sus posibilidades no son evidentes en una instalación estándar de Drupal. Y eso está bien, porque Drupal es extensible y nos brinda las herramientas para construir un sitio a medida utilizando módulos adicionales.
¡Una red social en Drupal es fácil!
¿Pero qué pasa si no sabes nada de programación en PHP? No te preocupes: no es indispensable para hacer un gran sitio. Propongo utilizar módulos que implementan funcionalidades listas para usar. ¡Eso es fantástico! Drupal nos ofrece esta posibilidad, y debemos aprovecharla con entusiasmo. Esta es mi filosofía principal en esta serie de artículos. Utilizaré únicamente módulos existentes y no escribiré módulos personalizados. En algunos casos, será necesario insertar fragmentos de código que se completan dentro del sitio y se almacenan en la base de datos. Este código será explicado en mis artículos de forma accesible. Así, cualquiera podrá construir un sitio increíble.
Esta estrategia bien pensada nos ofrece las siguientes ventajas:
1. Cualquiera puede hacerlo. Usamos solo módulos ya disponibles.
2. Escalabilidad: en cualquier momento puedes instalar un módulo adicional de forma segura para extender la funcionalidad del sitio.
3. Pequeños fragmentos de código permiten ajustar detalles específicos.