viernes, junio 14, 2013

Cómo instalar una instancia de prueba de la plataforma de edX paso a paso

El proyecto de edx-platform permite descargar e instalar una instancia de pruebas en una máquina virtual local. Este es el procedimiento recomendado para familiarizarse con la plataforma y sus requisitos de hardware y software antes de intentar una instalación real en un servidor de producción, lo cual puede ser una experiencia frustrante si se tropieza con errores cuya causa se desconoce.

  1. Verificar características de la máquina local
  2. Instalar cliente de Git
  3. Instalar virtualBox
  4. Instalar Vagrant
  5. Configurar instancia de edx-platform
  6. Usar edx-platform

1. Verificar características de la máquina local

Asegúrese de que la máquina local disponga de más de 1GB de espacio para descargar los instaladores, instalar las plataformas y desempaquetar la instancia de edX. Esta guía paso a paso se probó sobre Windows 7, pero el procedimiento general es el mismo para Mac OS y distribuciones populares de Linux para las cuales existan versiones de los instaladores.

2. Instalar cliente de Git

Como ya lo habíamos discutido en la entrega anterior, el código fuente de la plataforma de edX y las bibliotecas de funciones sobre las que está construido se pueden encontrar publicadas en GitHub. Para tener acceso al código fuente necesitamos instalar localmente un cliente de Git:
  • Descargar cliente de git-scm.com/downloads.
  • Abrir el instalador. Autorizar que haga cambios.
  • Usar las opciones predeterminadas, excepto en "Configuring the line ending conversions" (seleccionar la tercera opción: "Checkout as-is, commit as-is").


Una nota sobre la última opción. En Windows y en Linux los archivos de texto tienen diferentes formatos para representar <ENTER>. En Windows, se usan dos caracteres: CR (Carriage Return, para volver a la primera columna de la pantalla) y LF (Line Feed, para pasar a la siguiente línea). En Linux se usa únicamente  LF.

Dado que GitHub puede ser usado desde múltiples plataformas, se asume que se debe traducir el formato del <ENTER> al formato de la plataforma local del cliente de Git. En nuestro caso, como estamos usando Windows 7, la traducción está predeterminada. Sin embargo, como los archivos de configuración van a ser usados en linux, no vamos a usar la traducción y en su lugar usamos la tercera opción que es dejar el fin de línea como está.

Adicionalmente hay que agregar tres macros a la configuración de Git con el fin de implementar en el sistema de archivos de Windows los enlaces simbólicos de Linux (symlinks). Abrir una terminal del cliente Git (Git Bash) y allí pegar estos comandos:

git config --global alias.add-symlink '!__git_add_symlink(){
    dst=$(echo "$2")/../$(echo "$1")
    if [ -e "$dst" ]; then
        hash=$(echo "$1" | git hash-object -w --stdin)
        git update-index --add --cacheinfo 120000 "$hash" "$2"
        git checkout -- "$2"
    else
        echo "ERROR: Target $dst does not exist!"
        echo "       Not creating invalid symlink."
    fi
}; __git_add_symlink "$1" "$2"'

git config --global alias.rm-symlink '!__git_rm_symlink(){
    git checkout -- "$1"
    link=$(echo "$1")
    POS=$'\''/'\''
    DOS=$'\''\\\\'\''
    doslink=${link//$POS/$DOS}
    dest=$(dirname "$link")/$(cat "$link")
    dosdest=${dest//$POS/$DOS}
    if [ -f "$dest" ]; then
        rm -f "$link"
        cmd //C mklink //H "$doslink" "$dosdest"
    elif [ -d "$dest" ]; then
        rm -f "$link"
        cmd //C mklink //J "$doslink" "$dosdest"
    else
        echo "ERROR: Something went wrong when processing $1 . . ."
        echo "       $dest may not actually exist as a valid target."
    fi
}; __git_rm_symlink "$1"'

git config --global alias.rm-symlinks '!__git_rm_symlinks(){
    for symlink in `git ls-files -s | grep -E "^120000" | cut -f2`; do
        git rm-symlink "$symlink"
        git update-index --assume-unchanged "$symlink"
    done
}; __git_rm_symlinks'
Esos tres pequeños scripts quedan grabados en la configuración de Git y pueden ser usados más adelante para adaptar a Windows los archivos de Linux que vamos a descargar.

3. Instalar VirtualBox

Virtualbox permite simular localmente el funcionamiento de otro computador. Es útil cuando se necesita ejecutar en el mismo computador físico un sistema operativo diferente, o cuando se requiere una configuración especial que no queremos o de la que no podemos disponer en nuestra máquina local.

En este caso, se trata de usar localmente una máquina virtual con una configuración que ya ha sido totalmente probada por los desarrolladores de edX. Una ventaja adicional es que tenemos la libertad de hacer ajustes dentro de la máquina virtual o instalar software adicional sin correr el riesgo de que se afecte nuestra máquina local. Todos los cambios quedan contenidos dentro de la máquina virtual.
  • Descargar el instalador de www.virtualbox.org/wiki/Downloads
  • Abrir el instalador. Autorizar que haga cambios.
  • Usar las opciones predeterminadas. Puede omitirse "USB Support" porque no es necesaria para ejecutar la instancia de edX y además evitamos cambios en la configuración local que pueden tener efectos secundarios inesperados en los controladores USB, especialmente en máquinas que no son físicas sino virtualizadas. Tampoco se necesita instalar la opción "VirtualBox Python 2.x Support", pero si se desea se puede incluir como en este ejemplo.

El proceso de instalación del soporte para red requerirá que se reinicie el servicio de red. Hay que tener eso en cuenta porque si se está usando la máquina local a través de escritorio remoto o de un servicio de virtualización como el de Cytrix se perderá el control sobre la máquina. Si este es el caso:
  • Suministre al administrador de infraestructura el nombre de la máquina y la IP fija.
  • Ejecute el instalador con las opciones seleccionadas. 
  • Cuando pierda comunicación con la máquina, pida al administrador de infraestructura que ingrese a ella por la consola del servidor de virtualización.
  • Use su usuario y contraseña habituales para desbloquear la sesión.
  • Vaya al Centro de Redes y Recursos Compartidos y deshabilite la Conexión de área local.
  • Vuelva a habilitar la Conexión de área local.
  • Cierre la consola del servidor de virtualización y vuelva a conectarse normalmente a la máquina.
En caso de ya estuviera instalado VirtualBox localmente, hay que asegurarse de que no exista ya una máquina virtual llamada "precise32". Este es el nombre predeterminado de la máquina virtual Ubuntu que creará Vagrant.

4. Instalar Vagrant

Vagrant es una herramienta que permite disponer de entornos de trabajo fáciles de configurar, reproducir y transportar, construidos sobre tecnología estardar de la industria y controlada por un procedimiento consistente. Esto garantiza que nuestra máquina virtual en VirtualBox va a tener exactamente la misma configuración y el mismo software instalado que la máquina donde los desarrolladores de edX la probaron.
  • Descargar el instalador desde downloads.vagrantup.com/
  • Abrir el instalador. Autorizar los cambios en el computador.
  • Instalar con las opciones predeterminadas y reiniciar la máquina local.

Aunque Vagrant no necesita Python 2.7 para configurar la instancia de edX, si se desea se puede instalar:
  • Descargar el instalador de la versión 2.7.x desde www.python.org/download/
  • Instalar.
  • Configurar las variables de entorno:
    • Crear PYTHONPATH = C:\Python27
    • Editar Path y agregar ";%PYTHONPATH%"

5. Configurar instancia de edx-platform

Como las intrucciones para que Vagrant configure la máquina virtual no están en el repositorio oficial del proyecto edx-platform, primero se descargan los archivos desde el repositorio del instalador.
  • Abrir una terminal del cliente Git (Git Bash) como administrador.
  • Descargar el código fuente con las instrucciones para Vagrant: $ git clone git://github.com/antoviaque/edx-platform.git
  • Bajar a la carpeta del repositorio local: $ cd edx-platform
  • Ejecutar la macro: $ git rm-symlinks
  • Iniciar Vagrant: $ vagrant up.
Una vez ha concluido la creación y configuración de la máquina virtual (en este ejemplo tomó tres horas, pero el tiempo depende del alcho de banda y de la capacidad del procesador de la máquina física local).

Para apagar la máquina virtual cuando no vamos a usarla:

$ vagrant halt

Para volver a encenderla (sin pasar otra vez por todo el proceso de instalación):

$vagrant up --no-provision

6. Usar edx-platform


Se accede a la consola de la misma con el usuario y contraseña "vagrant":

$ ssh vagrant@127.0.0.1 -p 2222

Una vez dentro de la máquina virtualPara arrancar el LMS (plataforma de cursos como tal): $ rake lms[cms.dev,0.0.0.0:8000]

Desde la máquina física local se puede usar con un navegador en: http://localhost:9000/

Para arrancar Studio (herramienta de creación de cursos): $ rake cms[dev,0.0.0.0:8001]

Desde la máquina física local se puede usar con un navegador en: http://localhost:9001/

Esto es posible gracias a la redirección de puertos que fue configurada en la máquina virtual, la cual convierte las peticiones que se hagan a la máquina física por los puertos 9000/9001 en peticiones a la máquina virtual por los puertos 8000/8001.

martes, junio 11, 2013

Cómo colaborar con la plataforma MOOC de edX

¿Por qué edX?


edX es una iniciativa de prestigiosas universidades de NorteAmérica, Europa y Asia que han unido sus esfuerzos para poner a disposición del mundo una vasta biblioteca de cursos en línea usando su propia plataforma para MOOC (Massive Open Online Courses). Aunque es muy interesante su oferta de contenido (después de todo estamos hablando de clases que dan en Berkeley, Queensland, MIT, Harvard, entre otras), lo que llama especialmente la atención sobre edX frente a su competencia (por ejemplo Coursera o Udacity) es que han sido los primeros en abrir las entrañas de su plataforma a la comunidad del código abierto (open source).

¿Cómo funciona el proyecto? 

El proyecto edx-platform comprende dos componentes principales: la plataforma de gestión del aprendizaje (edX) y la herramienta de edición de contenidos (Studio).

El código fuente está escrito primordialmente en Python, aunque también hay partes escritas en Ruby y NodeJS. Los diferentes proyectos que integran la arquitectura están accesibles en repositorios alojados en GitHub, una especie de red social donde los participantes aportan al desarrollo de proyectos de software de código abierto. Este esquema fue favorecido por el consorcio detrás de edX para no limitarse a los recursos que ellos puedan aportar sino más bien aprovechar la iniciativa y creatividad de gente alrededor del mundo, siguiendo el ejemplo de iniciativas exitosas como la de Wikipedia.

La arquitectura de edX-platform

La plataforma está compuesta basicamente por:

  • un repositorio de Cursos
  • una interfaz con sistemas externos de calificación
  • bibliotecas de código y módulos para calificación
  • un entorno para ejecución de programas

Repositorio de cursos

Actualmente la plataforma del LMS (Learning Managenent sistema de gestión de aprendizaje) está basada en XModules (componentes de cursos), pero está siendo migrada a XBlock (arquitectura de componentes para construir cursos).

Configuration suministra una forma simple pero flexible de levantar una instancia de la plataforma edX completamente configurada y lista para usarse.

Interfaz con sistemas externos de calificación

XQueue define una interfaz entre el LMS y sistemas externos que provean la calificación de exámenes y trabajos enviados por los estudiantes. Esto permite que se usen los módulos de calificación que ya trae edX o que uno desarrolle o adapte su propio mecanismo personalizado de calificación y lo conecte con el LMS.

Calificación

Como la idea es que los cursos que se publiquen en esta plataforma estén abiertos para una comunidad enorme (alrededor de 100.000 participantes simultáneos) es necesario contar con mecanismos para calificar que no dependen de la intervención manual de uno o varios profesores. De esta manera, no solo se evalúan los típicos cuestionarios de selección única o múltiple, sino también respuestas abiertas. Para eso se cuenta con módulos como:

edx-ora (Open Response Assessor) recibe trabajos enviados desde el LMS a través de la interfaz XQueue, los pasa ya sea por un motor de calificación basado en aprendizaje automático, un sistema de calificación manual por pares o por profesores, según corresponda y devuelve el resultado al LMS.

Discern es un API que permite el uso de un motor de clasificación de textos basado en aprendizaje automático. Si uno quiere desarrollar su propio motor de calificación, debe implementarlo dentro de estar interfaz para comunicarse con el LMS. Una forma de hacerlo es basándose en bibliotecas de funciones como EASE.

EASE (Enhanced AI Scoring Engine) no es un módulo sino una biblioteca de funciones que permite alimentar mecanismos de clasificación de contenido textual basado en aprendizaje automático. Es útil para calificar exámenes que no se ajustan a un formulario de selección múltiple, como ensayos o preguntas de respuesta abierta. Suministra funciones que asignar una nota a texto arbitrario y predictores numéricos, buscando predecir objetivos a partir de valores arbitrarios de forma escalable y con alto desempeño.

Entorno para ejecución de programas

CodeJail gestiona la ejecución de programas en entornos seguros de prueba. Está diseñado en principio para ejecución de código Python, pero también se puede usar para otros lenguajes.

XServer recibe código fuente de programas enviados por los estudiantes desde el LMS y lo ejecuta usando sistemas de calificación, los cuales deben ser desarrollados aparte.

sábado, marzo 02, 2013

Cómo construir un módulo en Drupal 7 paso a paso

Descripción paso a paso de cómo construir y activar un módulo en un sitio Drupal 7. Se requiere que ya haya sido instalado el núcleo del nuevo sitio Drupal 7 (Drupal Core) en una plataforma como DAMP (Drupal + Apache + MySQL + PHP).

Contenido

  1. Crear archivos básicos del módulo
  2. Definir los metadatos del módulo
  3. Implementar un enganche de Drupal 7
  4. Activar el módulo
  5. Visualizar la ejecución del módulo

1. Crear archivos básicos del módulo

Para crear un módulo se necesitan básicamente dos archivos: la declaración del módulo (.info) y la implementación de su funcionalidad (.module). Estos archivos deben estar ubicados en una carpeta que debe llamarse igual que los archivos. Paso a paso:
  • Ir a la carpeta de instalación de nuestro sitio Drupal (por ejemplo "/Users/usuario/Documents/DrupalSites/drupal-example").
  • Ubicar la carpeta donde se deben ubicar los módulos que desarrollemos: "/sites/all/modules/custom/".
  • En dicha ubicación crear una nueva carpeta con el nombre del nuevo módulo. Por ejemplo "drupal_example". Este nombre nada tiene que ver con el nombre del sitio ("drupal-example").
  • Allí creamos dos archivos de texto nuevos con el nombre del módulo ("drupal_example") y las dos extensiones que mencionamos al principio: "drupal_example.info" y "drupal_example.module". 


2. Definir los metadatos del módulo

El Archivo de metadatos (drupal_example.info) debe contener como mínimo las tres líneas siguientes: nombre, descripción y la versión del núcleo de Drupal con la que es compatible. 



Por su parte, el archivo de implementación del módulo (drupal_example.module) consiste en un archivo  que comienza con el marcador de apertura de PHP (<%php), el cual NO SE CIERRA. La razón es que Drupal podría interpretar cualquier carácter después del cierre del bloque PHP como parte del contenido a mostrar en la página, incluso algo tan aparentemente inocuo como un salto de línea. Para evitar este tipo de problemas, se considera TODO el contenido del archivo como un bloque PHP.

3. Implementar un enganche de Drupal 7

Lo que hacemos típicamente en un archivo de implementación de un módulo es extender o reemplazar la funcionalidad nativa de Drupal con nuestro propio código. Para hacerlo usamos un recurso llamado "enganche" (hook) que es invocado por el núcleo de Drupal en muchos puntos clave para para su funcionamiento interno. La lista de los enganches del sistema de módulos de Drupal 7 está en api.drupal.org.

Si un módulo habilitado implementa un enganche que sea relevante en la operación que se está ejecutando en ese momento, Drupal ejecuta el código del enganche definido en el módulo en lugar de su implementación nativa. Para nuestro ejemplo, vamos a implementar el enganche "hook_init", que es lo primero que se ejecuta cuando se va a construir el contenido de cualquier página de un sitio Drupal.

<?php
/**
 * Implements hook_init()
 *
 * Runs on every page
 */

function drupal_example_init()
{
  global $user; // Use the global variable $user
  $greeting = "$user->name, ";

  // Greets the user according to the current time
  if (date('A') == "PM")
    $greeting .= "Good afternoon!";
  else
    $greeting .= "Good morning!";

  print_r($greeting);
}



  • La convención es reemplazar la palabra "hook" en el nombre de la función por el nombre del módulo. Así, si el enganche se llama "hook_init", lo implementamos como "drupal_example_init".
  • Si el enganche recibe parámetros, nuestra función también debe recibir los mismos parámetros. En este caso no recibe ninguno.
  • Si el enganche devuelve contenido, también debe hacerlo nuestra función y, obviamente, con el mismo formato. Tampoco es el caso en este ejemplo.
  • Para mostrar un sencillo texto dinámico, usamos la variable global "$user", la cual se inicializa con los datos del usuario autenticado. Evidentemente si el visitante todavía no ha ingresado al sitio Drupal pues no va a existir la variable "$user".
  • Inicializamos la variable en la que vamos a construir un saludo sencillo con el nombre del usuario, que corresponde al atributo "name" de la variable "$user".
  • Usamos la función nativa de PHP "date()" para obtener la fecha y hora actuales. Le pasamos como parámetro el formato "A" para que retorne únicamente "AM" o "PM" dependiendo de la hora.
  • Dependiendo de la hora, se anexa a la variable de saludo el texto correspondiente.
  • Como el enganche no devuelve ningún contenido, simplemente usamos la función nativa de PHP "print_r()" para mostrar el texto en la salida estándar, que en este caso sería la parte de la página donde se invocó al enganche. 

4. Activar el módulo

  • Asegurarse de que el sitio Drupal esté ejecutándose. 
  • Abrir el sitio e ingresar como administrador.
  • En el menú administrativo click en "Modules".
  • En la lista que se despliega, bajar hasta la sección "OTHER" y habilitar el nuevo módulo marcando la casilla "ENABLED" correspondiente.
  • Click en "Save configuration".
  • En caso que no se viera el módulo, limpiar cache y recargar la página de módulos:
    • En el menú administrativo click en "Configuration".
    • En la sección "DEVELOPMENT" de la página que se despliega, click en "Performance".
    • En la página que se despliega click en "Clear all caches".


5. Visualizar la ejecución del módulo

Abrir cualquier página como usuario autenticado. Lo primero que debería mostrarse inmediatamente después del menú administrativo es el texto de nuestro saludo construido dinámicamente por nuestro módulo:


Como el texto no se devolvió como un contenido estructurado, no hace parte de ningún bloque de la diagramación que Drupal calcula para el sitio web. Se trata vilmente de un texto puesto como caiga en el código HTML de la página, como lo podemos evidenciar inspeccionando el elemento BODY:







jueves, febrero 14, 2013

Cómo instalar el módulo de desarrollo en un nuevo sitio Drupal 7 paso a paso

Descripción paso a paso de cómo instalar el módulo Devel de Drupal. Se requiere que ya haya sido instalado el núcleo del nuevo sitio Drupal 7 (Drupal Core) en una plataforma como DAMP (Drupal + Apache + MySQL + PHP).

Contenido


1. Verificar los módulos instalados

  • Abrir el panel de control de DAMP. Por Finder, ir a "/Applications/acquia-drupal/" y doble click en la aplicación "Acquia Dev Desktop Control Panel". 
  • Asegurarse de que la plataforma esté arriba, es decir que tanto el indicador de Apache como el de  MySQL estén en verde.
  • Abrir el sitio Drupal 7 en el navegador (por ejemplo "http://drupal-example:8092") e ingresar como el usuario administrador.
  • En la barra de menú superior, click en la opción "Modules".

2. Descargar el módulo Devel

  • En la ventana que se abre aparece la lista de módulos instalados, con una casilla de verificación que indica cuáles están habilitados. El grupo "DEVELOPMENT" no aparece cuando el núcleo de Drupal está recién instalado (nuestro caso). 
  • Click en el enlace "+ Install new module".

  • Se abre la sección donde se indica la ubicación del archivo. Si ya se ha descargado previamente, se puede seleccionar la ubicación del mismo. Vamos a asumir que no tenemos todavía el archivo y lo vamos a buscar manualmente en la página de Drupal.
  • Dar click derecho en el enlace "modules" (resaltado en la imagen de abajo) y abrir el enlace en una nueva pestaña ("Open Link in New Tab") para conservar abierta esta ventana y volver a ella después de encontrar el archivo.


  • Ir a la nueva pestaña y en el filtro especificar la categoría (Modules categories: Developer) y la versión de Drupal con la que debe ser compatible el módulo (Filter by compatibility: 7.x). Podemos también especificar el nombre del módulo (Search Modules: Devel), pero para el ejemplo queda en blanco para ver qué otros módulos populares arroja la búsqueda.
  • Click en "Search". 


  • Desplazarse hacia abajo en la página para encontrar los módulos resultantes. Click en "Devel".
  • En la página del módulo (drupal.org/project/devel), bajar hasta la sección de descargas ("Downloads") y buscar las versiones publicadas recomendas ("Recommended releases", resaltadas en fondo verde).
  • Ir a la versión más reciente (7.x) y dar click derecho sobre el enlace "tar.gz" (que es el usual para Mac OS X, pero en teoría da exactamente lo mismo descargar la versión ".zip"). Seleccionar la opción copiar dirección del enlace para usarla en la otra pantalla ("Copy Link Address").


  • Con la dirección copiada (en este caso "http://ftp.drupal.org/files/projects/devel-7.x-1.3.tar.gz") ir a la pestaña de nuestro sitio Drupal y pegarla en el campo de la dirección de origen ("Install from URL").
  • Click en "Install".



  • Al terminar la descarga del archivo, Drupal automáticamente desempaqueta y ejecuta el contenido del archivo. Si todo funciona correctamente, debe aparecer una pantalla como esta:


3. Habilitar y verificar la instalación del módulo


  • Click en el enlace "Enable newly added modules" o ir a la página inicial y dar click en la opción "Modules" del menú administrativo en la esquina superior de la pantalla.
  • Bajar hasta la nueva sección "DEVELOPMENT" y allí marcar en la casilla de "Devel" para habilitarlo.
  • Click en "Save configuration". 


  • El módulo Devel consiste en una variedad de herramientas útiles para desarrolladores, pero que no tienen una utilidad directa en la presentación para usuarios finales. Por esta razón, la página inicial de nuestro sitio Drupal refleja ningún cambio en la superficie después de la instalación del módulo. Para ver las secciones que implementa Devel, debemos ir a una página de contenido.
  • Como el sitio está vacío, en lugar de un nodo de contenido podemos ver la página de nuestro usuario administrador. Click en "My account" en la esquina superior derecha.
  • En la página que se abre, podemos visualizar la información del usuario administrador con el que ingresamos. A diferencia de antes, ahora encontramos una pestaña "Devel" junto a las demás pestañas que clasifican el contenido de la página ("View", "Edit" y "Shortcuts").  


  • Click en la pestaña "Devel".
  • Se abre una sección con dos botones ("Load" y "Render") y una subsección anaranjada de contenido.
  • El módulo Devel usa un componente llamado Krumo para desplegar la información del objeto relevante en la subsección anaranjada.
  • Predeterminadamente, Devel muestra el contenido del objeto al ser cargado en memoria ("Load"). Al dar click en el objeto se despliegan el nombre, tipo de datos y valor de cada uno de sus atributos. Al dar click en "Render" se muestran los objetos (y su estado) involucrados en el despliegue del objeto en pantalla. 

4. Configurar el módulo


  • Además de la pestaña "Devel" en cada página de contenido, el módulo ofrece otras herramientas que haremos visibles para poderlas usar como administradores del sitio Drupal. Para configurar este comportamiento, click en la opción "Structure" del menú administrativo.
  • Click en la opción "Blocks".



  • Bajar hasta la sección donde están los bloques inhabilitados.
  • En los bloques deseados, habilitarlos seleccionando una región para que sean visibles. Por ejemplo, habilitar los bloques "Development", "Execute PHP" y "Switch User" y ubicarlos en la región "Sidebar Second" para que sean desplegados a la derecha del área de contenido.


  • Verificar que los bloques deseados quedaron clasificados en la región deseada.


  • Bajar hasa el final de la página. Click en el botón "Save blocks" para guardar los cambios en la configuración.
  • Recargar la página para ver los bloques del módulo en la región configurada.

martes, febrero 12, 2013

Cómo instalar Drupal 7 en Mac OS X paso a paso

Contenido


1. Descargar Drupal

  • Descargar del sitio oficial de Drupal la última versión estable: http://drupal.org/project/drupal
  • Para Mac, preferible el paquete en formato ".tar.gz" que el formato ".zip".

2. Desempaquetar Drupal

  • Copiar el archivo descargado de la carpeta de descargas (por ejemplo "/Users/usuario/Downloads") a la carpeta de sitios de DAMP (por ejemplo "/Users/usuario/Documents/DrupalSites")
  • Abrir el archivo con "click derecho / Open" o simplemente doble click.
  • Cambiar el nombre de la carpeta (por ejemplo "drupal-7.19") por uno más amigable cuando se vea en el URL del sitio web (por ejemplo "drupal-example").
  • Evitar el uso de "_" (por ejemplo "drupal_example") para no tener sorpresas con la forma como los buscadores encuentran el sitio con base en el URL. 

3. Importar el nuevo sitio en DAMP

  • Abrir el panel de control de DAMP. Por Finder, ir a "/Applications/acquia-drupal/" y doble click en la aplicación "Acquia Dev Desktop Control Panel". 
  • Asegurarse de que la plataforma esté arriba, es decir que tanto el indicador de Apache como el de  MySQL estén en verde.
  • Click en el botón "Settings". En la ventana que se abre, ir a la última pestaña "Sites".
  • Click en el botón "Import". En la ventana que se abre, seleccionar la ubicación de la carpeta (por ejemplo la terminada en "/DrupalSites/drupal-example").
  • En la sección de base de datos, seleccionar "Create new database". En el nombre, tener en cuenta que los servicios de alojamiento ponen a los nombres de bases de datos el dominio como prefijo (por ejemplo, si el dominio es "VerdeDigital.co", el prefijo de las bases de datos que se usen bajo ese dominio será "verdedig_"). Esto obviamente no importa al hacer una instalación local como esta pero, previendo que se quiere montar el sitio en un servicio de alojamiento, es mejor que el nombre de la base de datos local sea el mismo que tendrá en el servidor final. 


  • Click en el botón "Import". 
  • Mac OS X pedirá la contraseña del administrador para autorizar cambios en el sistema.
  • Si el proceso es exitoso, el nuevo sitio debe salir en la lista del panel de control de DAMP.




4. Configurar el nuevo sitio

  • Se abre una ventana del navegador con la primera pantalla del proceso de configuración (por ejemplo "drupal-example:8092/install.php").
  • Seleccionar la opción "Starndard".
  • Click en el botón "Save and continue".


  • Seleccionar el idioma. Predeterminadamente el núcleo de Drupal sólo viene en inglés así que basta con dar click en el botón "Save and continue".
  • Esperar unos segundos a que proceso pueble la base de datos y genere los archivos correspondientes al perfil. 
  • En la pantalla de configuración, definir el título del sitio. Se recomienda que sea lo más parecido posible al nombre de la carpeta del sitio, pero no es necesario usar "-" en lugar de espacios.
  • Definir su cuenta de correo electrónico como remitente (site e-mail address) y destinatario de las notificaciones (E-mail address).
  • Definir el usuario y contraseña del administrador del sitio.
  • Seleccionar el país y zona horaria predeterminada. Esto tiene implicaciones en la forma como el sitio web presentará información relacionada con fechas y horas.
  • Click en el botón "Save and continue". 


  • Eso es todo. El sitio web ya está listo para ser manipulado y usado.