Esta página se está traducido el 2014-12-08.
Es posible que la versión inglés se actualizaba desde luego.

Configuración de Alaveteli

Puede controlar numerosos detalles sobre el aspecto y el comportamiento de Alaveteli con tan solo modificar los ajustes de configuración.

Archivo de configuración general

El código de Alaveteli incluye un ejemplo de archivo de configuración: config/general.yml-example.

Como parte del proceso de instalación, el archivo de ejemplo se copia en config/general.yml. Debe editar este archivo para adaptarlo a sus necesidades.

Los ajustes predeterminados para los ejemplos de páginas frontales están diseñados para trabajar con los datos de prueba incluidos en Alaveteli. Al disponer de datos reales debe editarlos.

También existen otros archivos de configuración para aspectos específicos de Alaveteli.

Ajustes de configuración por tema

Los siguientes ajustes de configuración pueden modificarse en config/general.yml. Al editar este archivo, recuerde que debe hacerlo con la sintaxis de YAML. No es complicado, pero (especialmente al editar un listado) debe prestar atención en mantener el sangrado de texto correcto. Si tiene dudas, consulte los ejemplos que se hallan en el archivo y no utilice tabulaciones.

Apariencia y comportamiento general del sitio:

SITE_NAME
DOMAIN
FORCE_SSL
FORCE_REGISTRATION_ON_NEW_REQUEST
THEME_URLS
THEME_BRANCH
FRONTPAGE_PUBLICBODY_EXAMPLES
PUBLIC_BODY_STATISTICS_PAGE
MINIMUM_REQUESTS_FOR_STATISTICS
RESPONSIVE_STYLING

Estado del sitio:

READ_ONLY
STAGING_SITE

Localización e internacionalización:

ISO_COUNTRY_CODE
TIME_ZONE
AVAILABLE_LOCALES
DEFAULT_LOCALE
USE_DEFAULT_BROWSER_LANGUAGE
INCLUDE_DEFAULT_LOCALE_IN_URLS

Definición de «late» (fuera de plazo):

REPLY_LATE_AFTER_DAYS
REPLY_VERY_LATE_AFTER_DAYS
WORKING_OR_CALENDAR_DAYS

Acceso a la interfaz de administración:

ADMIN_USERNAME
ADMIN_PASSWORD
DISABLE_EMERGENCY_USER
SKIP_ADMIN_AUTH

Gestión del correo electrónico:

INCOMING_EMAIL_DOMAIN
INCOMING_EMAIL_PREFIX
INCOMING_EMAIL_SECRET
BLACKHOLE_PREFIX
CONTACT_EMAIL
CONTACT_NAME
TRACK_SENDER_EMAIL
TRACK_SENDER_NAME
RAW_EMAILS_LOCATION
EXCEPTION_NOTIFICATIONS_FROM
EXCEPTION_NOTIFICATIONS_TO
FORWARD_NONBOUNCE_RESPONSES_TO
MTA_LOG_PATH
MTA_LOG_TYPE

Administración general (claves, rutas, servicios de soporte del sistema):

COOKIE_STORE_SESSION_SECRET
RECAPTCHA_PUBLIC_KEY
RECAPTCHA_PRIVATE_KEY
GAZE_URL
GA_CODE (GA=Google Analytics)
UTILITY_SEARCH_PATH
SHARED_FILES_PATH
SHARED_FILES
SHARED_DIRECTORIES

Disparadores y ajustes de comportamiento:

NEW_RESPONSE_REMINDER_AFTER_DAYS
MAX_REQUESTS_PER_USER_PER_DAY
OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS
ALLOW_BATCH_REQUESTS
PUBLIC_BODY_LIST_FALLBACK_TO_DEFAULT_LOCALE
CACHE_FRAGMENTS

Servicios públicos externos:

BLOG_FEED
TWITTER_USERNAME
TWITTER_WIDGET_ID
DONATION_URL

Casos especiales o trabajo de desarrollo:

DEBUG_RECORD_MEMORY
VARNISH_HOST
USE_MAILCATCHER_IN_DEVELOPMENT
USE_GHOSTSCRIPT_COMPRESSION
HTML_TO_PDF_COMMAND


Todos los ajustes generales

SITE_NAME
SITE_NAME aparece en diversos lugares del sitio.

Ejemplos:

  • SITE_NAME: 'Alaveteli'
  • SITE_NAME: 'WhatDoTheyKnow'
DOMAIN
Dominio utilizado en direcciones URL generadas por scripts (por ejemplo, para incluirse en algunos correos).

Ejemplos:

  • DOMAIN: '127.0.0.1:3000'
  • DOMAIN: 'www.ejemplo.com'
FORCE_SSL
Si tiene asignado el valor «true», fuerza a todo el mundo (dentro del entorno de producción) a utilizar conexiones cifradas (https), redirigiendo las conexiones sin cifrado. Esta característia está altamente recomendada para que las credenciales no puedan ser interceptadas por personas malintencionadas.

Ejemplo:

  • FORCE_SSL: true
ISO_COUNTRY_CODE
Código ISO nacional del país donde se implementa su sitio basado en Alaveteli.

Ejemplo:

  • ISO_COUNTRY_CODE: GB
TIME_ZONE
Esta es la zona horaria que utiliza Alaveteli para mostrar la fecha y la hora. Si no se configura, utiliza UTC por defecto.

Ejemplo:

  • TIME_ZONE: Australia/Sydney
BLOG_FEED
Estas transmisiones se muestran consecuentemente en la página del blog de Alaveteli:

Ejemplo:

  • BLOG_FEED: 'https://www.mysociety.org/category/projects/whatdotheyknow/feed/'
TWITTER_USERNAME TWITTER_WIDGET_ID
Si desea mostrar las novedades de Twitter en la página del blog, introduzca el identificador y el código de usuario para el widget.

Ejemplos:

  • TWITTER_USERNAME: WhatDoTheyKnow
  • TWITTER_WIDGET_ID: '833549204689320031'
AVAILABLE_LOCALES y DEFAULT_LOCALE
AVAILABLE_LOCALES lista todas las localizaciones que desea soportar en su sitio. Si hay más de una, utilice espacios para separar las entradas. Defina una de las localizaciones como predeterminada con la variable DEFAULT_LOCALE.

Ejemplos:

  • AVAILABLE_LOCALES: 'en es'
  • DEFAULT_LOCALE: 'en'
USE_DEFAULT_BROWSER_LANGUAGE
¿Desea que Alaveteli intente utiliza el idioma predeterminado del navegador del usuario?

Ejemplo:

  • USE_DEFAULT_BROWSER_LANGUAGE: true
INCLUDE_DEFAULT_LOCALE_IN_URLS
Normalmente Alaveteli incluirá la localización en sus direcciones URL, de este modo: www.ejemplo.com/en/body/list/all. Si no desea este comportamiento cuando se trate de la localización por defecto, asigne a INCLUDE_DEFAULT_LOCALE_IN_URLS el valor «false».

Ejemplo:

  • INCLUDE_DEFAULT_LOCALE_IN_URLS: true
REPLY_LATE_AFTER_DAYS
REPLY_VERY_LATE_AFTER_DAYS
WORKING_OR_CALENDAR_DAYS
Las variables REPLY...AFTER_DAYS definen cuántos días deben pasar antes de que la respuesta a una solicitud se considere oficialmente late (fuera de plazo). La variable WORKING_OR_CALENDAR_DAYS puede contener los valores «working» (predeterminado) o «calendar», que determinan qué días se incluyen en el contador.

Ejemplos:

  • REPLY_LATE_AFTER_DAYS: 20
  • REPLY_VERY_LATE_AFTER_DAYS: 40
  • WORKING_OR_CALENDAR_DAYS: working
FRONTPAGE_PUBLICBODY_EXAMPLES
Especifique qué organismos públicos desea listar como ejemplo en la página de inicio utilizando su nombre corto, short_name. Si desea mostrar más de uno, sepárelos por punto y coma. Comente este apartado si desea que se genere de forma automática.

Advertencia: esta opción es lenta, ¡no la utilice en producción!

Ejemplos:

  • FRONTPAGE_PUBLICBODY_EXAMPLES: 'tgq'
  • FRONTPAGE_PUBLICBODY_EXAMPLES: 'tgq;foo;bar'
  • # FRONTPAGE_PUBLICBODY_EXAMPLES:
THEME_URLS
Direcciones URL de temas para descargar y utilizar (al ejecutar el script rails-post-deploy). Las primeras plantillas de la lista tienen mayor prioridad que las siguientes.

Ejemplo:

  • THEME_URLS:
     - 'git://github.com/mysociety/alavetelitheme.git'
    
THEME_BRANCH
Cuando el script rails-post-deploy instale los temas, probará primero la rama de temas, pero solo si ha asignado a THEME_BRANCH el valor «true». Si la rama no existe, retornará al uso de una versión etiquetada específica en su versión instalada de Alaveteli y, en caso de que no exista ninguna, retornará a la maestra, master.

El tema por defecto es el denominado «Alaveteli». Se instala automáticamente cuando se ejecuta rails-post-deploy.

Ejemplo:

  • THEME_BRANCH: false
FORCE_REGISTRATION_ON_NEW_REQUEST
¿Necesitan los usuarios iniciar sesión para comenzar un nuevo proceso de solicitud?

Ejemplo:

  • FORCE_REGISTRATION_ON_NEW_REQUEST: false
INCOMING_EMAIL_DOMAIN
Su dominio de correo electrónico para recibir correo entrante. Consulte también la gestión de correo de Alaveteli.

Ejemplo:

  • INCOMING_EMAIL_DOMAIN: 'localhost'
  • INCOMING_EMAIL_DOMAIN: 'foifa.com'
INCOMING_EMAIL_PREFIX
Un prefijo opcional para ayudarle a distinguir las solicitudes de información pública. Consulte también la gestión de correo de Alaveteli.

Ejemplo:

  • INCOMING_EMAIL_PREFIX: ''
  • INCOMING_EMAIL_PREFIX: 'foi+'
INCOMING_EMAIL_SECRET
Utilizada para almacenar el código hash en la dirección de correo de la solicitud.

Ejemplo:

  • INCOMING_EMAIL_SECRET: '11ae 4e3b 70ff c001 3682 4a51 e86d ef5f'
BLACKHOLE_PREFIX
Utilizada como campo remitente «from» en el dominio de correo entrante para casos en que no se tienen en cuenta los posibles errores.

Ejemplo:

  • BLACKHOLE_PREFIX: 'do-not-reply-to-this-address'
ADMIN_USERNAME y ADMIN_PASSWORD
DISABLE_EMERGENCY_USER
Detalles sobre el usuario de emergencia.

Estas opciones resultan útiles para crear los usuarios administradores iniciales de su sitio:

  • Cree un nuevo usuario (mediante el registro común del sitio).
  • Inicie sesión con el usuario de emergencia.
  • Ascienda la nueva cuenta a administrador.
  • Deshabilite el usuario de emergencia.

Para obtener detalles sobre este proceso, consulte la creación de cuentas de administrador.

Ejemplos:

  • ADMIN_USERNAME: 'adminxxxx'
  • ADMIN_PASSWORD: 'passwordx'
  • DISABLE_EMERGENCY_USER: false
SKIP_ADMIN_AUTH
Asigne a esta variable el valor «true» para que la interfaz de administración sea accesible para usuarios anónimos. Evidentemente, esta opción no debe activarse en entornos de producción.

Ejemplo:

  • SKIP_ADMIN_AUTH: false
CONTACT_EMAIL y CONTACT_NAME
Detalles del campo del remitente «from» en el correo electrónico. Consulte también la gestión de correo de Alaveteli.

Ejemplos:

  • CONTACT_EMAIL: 'team@example.com'
  • CONTACT_NAME: 'Alaveteli Webmaster'
TRACK_SENDER_EMAIL y TRACK_SENDER_NAME
Detalles del campo del remitente «from» para mensajes de seguimiento. Consulte también la gestión de correo de Alaveteli.

Ejemplos:

  • TRACK_SENDER_EMAIL: 'alaveteli@ejemplo.com'
  • TRACK_SENDER_NAME: 'Alaveteli Webmaster'
RAW_EMAILS_LOCATION
Lugar donde se almacenan los datos de tipo raw del correo entrante. ¡Asegúrese de hacer copias de seguridad de estos datos!

Ejemplo:

  • RAW_EMAILS_LOCATION: 'files/raw_emails'
COOKIE_STORE_SESSION_SECRET
Clave secreta para firmar sesiones cookie_store. Debe ser larga y aleatoria.

Ejemplo:

  • COOKIE_STORE_SESSION_SECRET: 'uIngVC238Jn9NsaQizMNf89pliYmDBFugPjHS2JJmzOp8'
READ_ONLY
Si está presente, READ_ONLY aplica el modo de solo lectura al sitio y utiliza el texto como razón (el párrafo completo). Utilice un usuario de solo lectura también en la base de datos, pues solo se verifica en unos pocos lugares evidentes.

Ejemplos:

  • Normalmente no deseará que su sitio funcione en modo de solo lectura, por lo que deberá dejar READ_ONLY en blanco.
    READ_ONLY: ''
  • READ_ONLY: 'Actualmente el sitio no acepta solicitudes porque estamos trasladando el servidor.'
STAGING_SITE
¿Es este un servidor de pruebas o de desarrollo? Si no es así, se trata de un servidor real de producción. Esta opción controla si el script rails-post-deploy debe o no crear el archivo config/rails_env.rb para forzar Rails en el entorno de producción.

Ejemplos:

  • Para servidores de pruebas o de desarrollo:

    STAGING_SITE: 1

  • Para producción:

    STAGING_SITE: 0

RECAPTCHA_PUBLIC_KEY y RECAPTCHA_PRIVATE_KEY
Recaptcha, para la detección de humanos. Obtenga aquí las claves: http://recaptcha.net/whyrecaptcha.html

Ejemplos:

  • RECAPTCHA_PUBLIC_KEY: '7HoPjGBBBBBBBBBkmj78HF9PjjaisQ893'
  • RECAPTCHA_PRIVATE_KEY: '7HjPjGBBBBBCBBBpuTy8a33sgnGG7A'
NEW_RESPONSE_REMINDER_AFTER_DAYS
Número de días tras los cuales se enviará un recordatorio de respuesta «new response reminder».

Ejemplo:

  • NEW_RESPONSE_REMINDER_AFTER_DAYS: [3, 10, 24]
DEBUG_RECORD_MEMORY
Para depurar problemas de memoria. Si se le asigna el valor «true», Alaveteli registra los aumentos de uso de memoria del proceso de Ruby debido a la solicitud (solamente en Linux). Como Ruby nunca devuelve memoria al sistema operativo, si el proceso existente había dado servicio previamente a una solicitud de mayor tamaño, no se mostrará ningún consumo para la siguiente.

Ejemplo:

  • DEBUG_RECORD_MEMORY: false
USE_GHOSTSCRIPT_COMPRESSION
Actualmente predeterminamos el uso de pdftk para comprimir archivos en formato PDF. Opcionalmente, puede probar Ghostscript, que debería llevar a cabo un mejor trabajo de compresión. Algunas versiones de pdftk generan errores respecto a la compresión, en cuyo caso Alaveteli no recomprime los archivos PDF y registra un mensaje de advertencia, «Unable to compress PDF», un motivo más para probar esta opción.

Ejemplo:

  • USE_GHOSTSCRIPT_COMPRESSION: true
GAZE_URL
Alaveteli utiliza el servicio geográfico de mySociety para determinar el país de la dirección IP recibida (así podemos sugerir un sitio basado en Alaveteli del país correspondiente, si existe alguno). Normalmente no es necesario modificar esta opción.

Ejemplo:

  • GAZE_URL: http://gaze.mysociety.org
FORWARD_NONBOUNCE_RESPONSES_TO
Dirección de correo electrónico a la que se dirigen las respuestas no rebotadas. Consulte también la gestión de correo de Alaveteli.

Ejemplo:

  • FORWARD_NONBOUNCE_RESPONSES_TO: soporte-usuario@ejemplo.com
HTML_TO_PDF_COMMAND
Ruta hacia un programa que convierte una página HTML de un archivo a PDF. Debería recibir dos parámetros: la dirección URL y la ruta del archivo de salida. Se recomienda una version binaria estática de wkhtmltopdf. Si el comando no está presente, se generará en su lugar una versión de texto.

Ejemplo:

  • HTML_TO_PDF_COMMAND: /usr/local/bin/wkhtmltopdf-amd64
EXCEPTION_NOTIFICATIONS_FROM y EXCEPTION_NOTIFICATIONS_TO
Direcciones de correo utilizadas para enviar notificaciones de excepciones.

Ejemplos:

  • EXCEPTION_NOTIFICATIONS_FROM: no-responda-a-esta-direccion@ejemplo.com
    
    EXCEPTION_NOTIFICATIONS_TO:
     - robin@ejemplo.com
     - seb@ejemplo.com
    
MAX_REQUESTS_PER_USER_PER_DAY
Este límite puede desactivarse por usuario a través de la interfaz de administración.

Ejemplo:

  • MAX_REQUESTS_PER_USER_PER_DAY: 6
VARNISH_HOST
Si su sitio funciona con Varnish, puede activar esta opción para averiguar dónde enviar las solicitudes de purga. En caso contrario, no la configure.

Ejemplos:

  • VARNISH_HOST: null
  • VARNISH_HOST: localhost
GA_CODE (GA=Google Analytics)
Añadir aquí un valor activará Google Analytics en todas las páginas que no pertenezcan a la administración para todos los usuarios que no sean administradores.

Ejemplos:

  • GA_CODE: ''
  • GA_CODE: 'AB-8222142-14'
OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS
Utilice esta opción si desea sobrescribir todas las direcciones de correo de solicitudes para organismos públicos con su propia dirección de correo, para que los mensajes de solicitudes que normalmente se dirigirían a los organismos públicos se dirijan a usted en su lugar. Esta opción resulta práctica en el servidor de pruebas para poder reproducir el proceso completo de envío de solicitudes si remitir correos a ninguna autoridad real.

Ejemplos:

  • OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS: test-email@foo.com
  • Si no le interesa este comportamiento, comente la opción:
    # OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS:
UTILITY_SEARCH_PATH
Ruta de búsqueda para utilidades externas de línea de comando (como pdftohtml, pdftk y unrtf).

Ejemplo:

  • UTILITY_SEARCH_PATH: ["/usr/bin", "/usr/local/bin"]
MTA_LOG_PATH
Ruta hacia sus archivos de registro de exim o postfix que serán absorbidos por script/load-mail-server-logs.

Ejemplo:

  • MTA_LOG_PATH: '/var/log/exim4/exim-mainlog-*'
MTA_LOG_TYPE
¿Utiliza «exim» o «postfix» para su servidor de correo (MTA)?

Ejemplo:

  • MTA_LOG_TYPE: "exim"
DONATION_URL
URL donde las personas pueden donar dinero a la organización que gestiona el sitio. Si se configura, se incluirá en el mensaje que ven los usuarios cuando su solicitud tiene resultados satisfactorios.

Ejemplo:

  • DONATION_URL: "https://www.mysociety.org/donate/"
PUBLIC_BODY_STATISTICS_PAGE y MINIMUM_REQUESTS_FOR_STATISTICS
Si a PUBLIC_BODY_STATISTICS_PAGE se le asigna el valor «true», Alaveteli creará una página de estadísticas sobre el comportamiento de los organismos públicos (que puede consultar en /body_statistics). La página solo considerará los organismos públicos que hayan recibido al menos el número de solicitudes definido en MINIMUM_REQUESTS_FOR_STATISTICS.

Ejemplo:

  • PUBLIC_BODY_STATISTICS_PAGE: false
  • MINIMUM_REQUESTS_FOR_STATISTICS: 50
PUBLIC_BODY_LIST_FALLBACK_TO_DEFAULT_LOCALE
Si desea que la página del listado de organismos públicos incluya autoridades que no disponen de traducción para la localización actual (pero que sí disponen de traducción para la localización predeterminada), asigne el valor «true» a esta variable.

Ejemplo:

  • PUBLIC_BODY_LIST_FALLBACK_TO_DEFAULT_LOCALE: false
USE_MAILCATCHER_IN_DEVELOPMENT
Si se el asigna el valor «true», durante la fase de desarrollo, intente enviar correo por SMTP al puerto 1025 (puerto predeterminado de escucha de mailcatcher):

Ejemplo:

  • USE_MAILCATCHER_IN_DEVELOPMENT: true
CACHE_FRAGMENTS
Utilice memcached para almacenar en caché fragmentos de HTML con la finalidad. de obtener un mejor rendimiento. Solo tendrá efecto en entornos en los que se asigne a config.action_controller.perform_caching el valor «true».

Ejemplo:

  • CACHE_FRAGMENTS: true
SHARED_FILES_PATH
En algunas implementaciones de Alaveteli tal vez desee instalar cada nueva versión implementada junto con las anteriores, en cuyo caso ciertos archivos y recursos se compartirán entre las diferentes instalaciones. Por ejemplo, el directorio de archivos, files, el directorio cache y los gráficos generados, tales como public/foi-live-creation.png. Si instala Alaveteli con este tipo de configuración, asigne a SHARED_FILES_PATH el directorio en el que almacena estos archivos. En caso contrario, déjela en blanco.

Ejemplo:

  • SHARED_FILES_PATH: ''
SHARED_FILES y SHARED_DIRECTORIES
Si tiene configurada la variable SHARED_FILES_PATH, estas opciones listan los archivos y directorios que se comparten, por ejemplo, aquellos hacia los que los scripts de despliegue crean enlaces simbólicos desde el repositorio.

Ejemplos:

  • SHARED_FILES:
     - config/database.yml
     - config/general.yml
     - config/rails_env.rb
     - config/httpd.conf
     - public/foi-live-creation.png
     - public/foi-user-use.png
     - config/aliases
                
  • SHARED_DIRECTORIES:
     - files/
     - cache/
     - lib/acts_as_xapian/xapiandbs/
     - vendor/bundle
     - public/assets
                
ALLOW_BATCH_REQUESTS
Permita que algunos usuarios realicen solicitudes en bloque a múltiples autoridades. Una vez asignado el valor «true» a esta variable, puede activar las solicitudes en bloque para usuarios individuales a través de la página de administración de cada usuario.

Ejemplo:

  • ALLOW_BATCH_REQUESTS: false
RESPONSIVE_STYLING
Utilice las plantillas y hojas de estilo de diseño web adaptable en lugar de aquellas que solo muestran el sitio con una anchura determinada. Estas hojas de estilo son experimentales actualmente, pero se predeterminarán en el futuro. Permiten que el sitio se muestre correctamente en dispositivos móviles, así como en pantallas de mayor tamaño. Actualmente las hojas de estilos de anchura fija se utilizan por defecto.

Ejemplo:

  • RESPONSIVE_STYLING: true

Otros archivos de configuración

Existen otros archivos de configuración para Alaveteli, que puede encontrar en el directorio config. Se presentan en el repositorio de git como archivos *-example, que puede copiar en su correspondiente ubicación.

database.yml
ajustes de base de datos (para Rails)
deploy.yml
especificaciones de implementación utilizadas por Capistrano
httpd.conf, nginx.conf
sugerencias de configuración de Apache y Nginx