Preferencias Opcionales
From LimeSurvey Manual
La siguiente sección está dirigida a quienes deseen editar aquellos ajustes de configuración que no se pueden modificar mediante la GUI (interfaz gráfica de usuario) de la instalación de LimeSurvey. Tenga en cuenta que todos los cambios realizados desde el directorio raíz de LimeSurvey son bajo su propia responsabilidad. No obstante, si tiene problemas o necesita más orientación, únase a los foros de discusión para obtener ayuda de la comunidad de LimeSurvey.
Introducción
Para modificar los ajustes de configuración de la instalación, hay que editar los ajustes opcionales. Se pueden encontrar en /application/config/config-defaults.php, que se encuentra en el directorio raíz de LimeSurvey. La configuración predeterminada de la instalación estándar se puede encontrar en config-defaults.php. Algunos de ellos se pueden anular utilizando el cuadro de diálogo configuración global, mientras que otros deberán editarse manualmente.
Todas los ajustes en config.php sobreescriben los valores por defecto de config-defaults.php y algunos de esos ajustes se sobre escriben en la Configuración global (New in 1.87 ) . Esta forma es mucho mas facil para actualizar su instalación tiempo despues!
Cuando se produce una actualización, solo se cambia la configuración de config-defaults.php. Por lo tanto, editar el archivo config.php guardará su configuración personalizada.
Para actualizar/agregar la configuración de LimeSurvey en /application/config/config.php, debe actualizar la matriz de configuración:
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'Nuevo valor', // ¡Actualiza la configuración predeterminada de LimeSurvey aquí
)
Configuración de Yii
LimeSurvey utiliza el marco Yii, que tiene sus propios parámetros de configuración en los archivos application/config/internal.php y application/config/config.php. También puede acceder a algunos ajustes de configuración específicos de LimeSurvey a través de la configuración de Yii.
Dado que la matriz config.php se fusiona con toda la configuración, puede reemplazar cualquier parámetro de Yii en el archivo config.php.
Las configuraciones específicas de Yii se establecen en la matriz de componentes:
'componentes' => array(
'db' => array(
....
),
'Configuraciones específicas'=>array(
....
),
),
Configuración de la base de datos
La configuración de la base de datos se escribe en config.php mediante el archivo de instalación cuando instala LimeSurvey por primera vez. Si es necesario, puede actualizar esta parte del archivo config.php. ¡¡Recuerde que hace esto bajo su propio riesgo! Consulte también la documentación de Yii y por favor Recuerde que LimeSurvey solo admite los siguientes tipos de bases de datos: mysql, pgsql, dblib, mssql y sqlsrv.
Configuración de la sesión
Puede configurar algunos parámetros de sesión en config.php (consulte los dos ejemplos a continuación). Puede descomentar/agregar la parte necesaria en config.php. Consulte la Yii Documentation para conocer otras configuraciones.
Usar sesiones basadas en tablas
LimeSurvey puede usar sesiones basadas en tablas; encontrará una parte comentada en el archivo generado config.php predeterminado. Para utilizar una sesión basada en tablas, elimine // antes de cada línea.
!¡NORTE! 'sesión' => matriz (
'clase' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sesiones} }',
),
Actualización de otras sesiones
Si utiliza SSL ("https") para su instalación Limesurvey añadiendo las siguientes líneas a su config.php aumentará la seguridad de sesión:
// Establece la cookie via SSL
'session' => array (
'cookieParams' => array(
'secure' => true, // usar SSL para las cookies
'httponly' => true // Cookies puede no ser usadas por otros protocolos - experimental
),
),
Si desea corregir el dominio para una cookie utilizar esto en config.php:
// Establecer el dominio para la cookie
'session' => array (
'cookieParams' => array(
'domain' => '.ejemplo.org',
),
),
Cada instancia de LimeSurvey en el mismo dominio necesita su propio nombre de sesión. De lo contrario, al iniciar sesión en una instancia se cierra la sesión en la otra. El instalador establece un nombre de sesión aleatorio en config.php. Si copió config.php de otra instancia, o su config.php procede de una versión anterior a LimeSurvey 4.0, añada o cambie la línea sessionName en la sección session existente y utilice un valor distinto para cada instancia:
// Set the name of the session
'session' => array (
'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
),
Configuración de solicitud
La configuración de solicitud es importante, pero la configuración predeterminada ya está optimizada para el uso de LimeSurvey. Para leer más sobre ellos, consulte la Yii Documentation.
Por ejemplo, la configuración de solicitud de LimeSurvey puede modificarse de la siguiente manera (bajo su propio riesgo):
// Disable CSRF protection
'request' => array(
'enableCsrfValidation'=>false,
),
// Enforce a certain URL base
'request' => array(
'hostInfo' => 'http://www.example.org/'
),
// Set the cookie domain name and path for CSRF protection
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Si necesita actualizar solo la URL de los correos electrónicos simbólicos, configure su publicurl en su archivo config.php.
Permitir el uso de sesión y validación CSRF en iFrame
Después de permitir la Incrustación de Iframe, debe actualizar alguna parte de la configuración. Atención, incluso con todas las configuraciones: permitir el formulario en iframe puede fallar en algún navegador. Esta configuración se probó con Firefox 81.0.2 y Chromium 85.0.4183.121.
Permitir inicio de sesión en iframe
La cookie de sesión debe ser segura (requiere una conexión HTTPS válida) y httponly, y samesite debe establecerse en None. Las claves de cookieParams deben escribirse todas en minúsculas.
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// Descomente las siguientes líneas si necesita sesiones basadas en tablas.
// Nota: Las sesiones basadas en tablas son actualmente no es compatible con el servidor MSSQL.
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' = > '{{sesiones}}',
'cookieParams' => array(
'secure' => verdadero,
'httponly' => verdadero,
'samesite' => 'Ninguno' ,
),
),
Permitir cookie csrf en iframe
Al igual que con la cookie de sesión, la cookie CSRF debe ser segura y sameSite debe establecerse en None. Tenga en cuenta que aquí la clave se escribe sameSite. Añada la matriz request completa al mismo nivel que session.
'solicitud' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'Ninguno',
'secure' => true,! N! ),
),
Configuración de URL
Para cambiar la configuración de URL predeterminada, actualice urlManager:
// ¡Usa URL corta
'urlManager' => array(
'urlFormat' => 'ruta',
'showScriptName' => false,
),
También puedes agregar .html después de la identificación de la encuesta de la siguiente manera:
// ¡Usa URL corta
'urlManager' => array(
'urlFormat' => 'ruta',
'reglas' => matriz (
'<sid:\d+> ' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),!¡NORTE! 'showScriptName' => falso,
),!¡NORTE!
Para obtener más información, consulte la Documentación de Yii.
Configuración de registro
Yii ofrece diferentes soluciones para generar registros. Para obtener más información sobre ellos, consulte el tema especial de registro. LimeSurvey utiliza '1' o '2' de forma predeterminada, lo que permite a todos los usuarios web ver los registros. Puedes crear tus propias configuraciones usando Yii directamente.
Por ejemplo, una solución rápida para registrar errores y advertencias en archivos es:
return array(
'components' => array(
/* Otro componente aquí 'db', por ejemplo */
'log' => array(
'routes' => array(
'fileError' => array(
'class' => 'CFileLogRoute',
'levels' => 'advertencia, error',
'except' => 'exception.CHttpException .404',
),
),
),
/* Otra parte del componente aquí 'urlManager' por ejemplo */
),
/* Parte final (con ' runtimePath' 'config' por ejemplo) */
);
application.controller.customInit.max_execution_time y application.controller.customInit.memory_limit se utilizan para registrar los intentos de cambiar la configuración de PHP.
Si conoce estos mensajes de registro y desea excluirlos de los registros, puede añadir estas categorías a la opción except en la configuración de su ruta de registro, como se muestra a continuación:
'except' => [
'exception.CHttpException.404',
'application.controller.customInit.max_execution_time',
'application.controller.customInit.memory_limit',
],
limesurvey/tmp/runtime/application.log, que se encuentra en la carpeta raíz de LimeSurvey. Puede establecer otro nombre de archivo mediante logFile..
Ruta de ejecución
The runtime path debe ser un directorio legible y grabable para el “usuario web”. Sin embargo, la ruta del tiempo de ejecución contiene archivos con posible información de seguridad que se encuentran en el área de acceso web público. LimeSurvey recopila estos archivos en el directorio temporal del directorio raíz de LimeSurvey. Para eliminar el acceso a datos tan importantes, puede configurar la ruta de ejecución fuera del acceso web público editando las líneas respectivas en el archivo /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Configuración General
- nombre del sitio: le da un nombre a su sitio de encuesta. Este nombre aparecerá en la descripción general de la lista de encuestas y en el encabezado de administración. El valor predeterminado es 'LimeSurvey' y puede anularse en el cuadro de diálogo configuración global o editarse en config.php.
- siteadminemail: Esta es la dirección de correo electrónico predeterminada de el administrador del sitio y se utiliza para mensajes del sistema y opciones de contacto. Esta configuración se utiliza sólo como valor predeterminado y se puede anular en el cuadro de diálogo configuración global.
- siteadminbounce: Esta es la dirección de correo electrónico a la que se enviarán los correos electrónicos devueltos. Esta configuración se utiliza sólo como valor predeterminado y puede anularse mediante el cuadro de diálogo configuración global.
- siteadminname: El nombre real del administrador del sitio. Esta configuración se utiliza sólo como valor predeterminado y se puede anular en el cuadro de diálogo configuración global.
- proxy_host_name: Este es el nombre de host de su servidor proxy (tiene debe mencionarse si está detrás de un proxy y desea actualizar LimeSurvey usando ComfortUpdate).
- proxy_host_port: Este es el puerto de su servidor proxy (tiene que ser mencionado si está detrás de un proxy y desea actualizar LimeSurvey usando ComfortUpdate).
Seguridad
- maxLoginAttempt: Este es el número de intentos que un usuario tiene para ingresar la contraseña correcta antes de que bloqueen o bloqueen su dirección IP. El valor predeterminado es 3 y se puede modificar desde config.php.
- timeOutTime: Si el usuario ingresa la contraseña incorrectamente para<maxLoginAttempt> , él o ella queda excluido por<timeOutTime> segundos. El valor predeterminado es 10 minutos y se puede modificar desde config.php.
- maxLoginAttemptParticipants: Este es el número de intentos que un participante tiene para ingresar un token válido antes de obtener su Dirección IP bloqueada/bloqueada. El valor predeterminado es 3 y se puede modificar desde config.php.
- timeOutParticipants: Si el participante ingresa el token incorrectamente para<maxLoginAttemptParticipants> , él o ella queda excluido por<timeOutParticipants> segundos. El valor predeterminado es 10 minutos y se puede modificar desde config.php.
- surveyPreview_require_Auth: establecido en verdadero de forma predeterminada. Si configura esto en "falso", cualquier persona puede probar su encuesta usando la URL de la encuesta, sin iniciar sesión en el panel de administración y sin tener que activar la encuesta primero. Esta configuración es un valor predeterminado y puede anularse en el cuadro de diálogo configuración global o editarse en config.php.
- usercontrolSameGroupPolicy: establecido en verdadero de forma predeterminada. De forma predeterminada, los usuarios no administradores definidos en la interfaz de administración de LimeSurvey solo podrán ver los usuarios que ellos creen o los usuarios que pertenezcan al menos a un mismo grupo. El valor predeterminado se puede anular en el cuadro de diálogo configuración global o editarse en config.php.
- filterxsshtml: Esta configuración permite filtrar etiquetas html sospechosas ubicadas dentro de las encuestas. grupos, y textos de preguntas y respuestas en la interfaz de administración. Deje esto en 'falso' sólo si confía absolutamente en los usuarios que creó para la administración de LimeSurvey y si desea permitir que estos usuarios puedan usar Javascript, Películas Flash, etc. Los superadministradores nunca tienen su HTML filtrado . El valor predeterminado se puede anular en el cuadro de diálogo configuración global o editarse en config.php.
- demoMode: Si esta opción está configurada en 'true' en config.php , entonces LimeSurvey entrará en modo de demostración. El modo de demostración cambia las siguientes cosas:
- Desactiva los detalles del usuario administrador y el cambio de contraseña;
- Desactiva la carga de archivos en el editor de plantillas;
- Desactiva el envío de invitaciones y recordatorios por correo electrónico;!N !** Desactiva la creación de un volcado de base de datos;
- Desactiva la capacidad de modificar las siguientes configuraciones globales: nombre del sitio, idioma predeterminado, modo de edición HTML predeterminado, filtro XSS.
- 'forcedsuperadmin:' Matriz de identificación de usuario con todos los derechos en todo LimeSurvey. Esta configuración solo se puede actualizar en el archivo config.php. Los derechos de este usuario no se pueden editar en permisos globales para un usuario ni siquiera por otro superadministrador forzado. Por defecto: el usuario con estos derechos es el usuario con ID: 1. El primer usuario creado justo después de la instalación.
- force_ssl: fuerza a LimeSurvey a ejecutarse a través de HTTPS o a bloquear HTTPS. Consulte Force HTTPS en la GUI del administrador de configuración global.
- ssl_emergency_override: Esta configuración fuerza la desactivación de SSL. Si ha activado HTTPS/SSL en la configuración global pero su servidor no tiene HTTPS habilitado, la única forma de desactivarlo es cambiando un valor en la base de datos directamente. Esto le permite forzar la desactivación de HTTPS mientras cambia la configuración global de Force Secure. Esto siempre debe ser falso, excepto en emergencias en las que lo cambia a verdadero hasta que solucione el problema. Esta configuración sólo se puede configurar a través del archivo config.php.
- ssl_disable_alert: Desactive la alerta para el superadministrador sobre SSL no forzado, si realmente no puede o no quiere forzar SSL. Esta configuración sólo se puede establecer mediante el archivo config.php.
Protección contra cross-site scripting (XSS)
LimeSurvey no permite ningún script de usuario en la página de administración. Si encuentra la forma de que un usuario añada un script XSS en la página de administración, consulte nuestra Política de seguridad.
Los scripts de las páginas públicas se gestionan mediante la configuración del filtro XSS.
- filterxsshtml: Esta configuración activa el filtrado de etiquetas HTML sospechosas ubicadas en los formularios, grupos y textos de preguntas y respuestas en la interfaz de administración. Déjela en 'false' solo si confía plenamente en los usuarios que creó para la administración de LimeSurvey y desea permitirles usar Javascript, películas Flash, etc. El HTML de los superadministradores nunca se filtra. El valor predeterminado se puede anular en el cuadro de diálogo de configuración global.
- filterxsshtml_forcedall: Fuerza
filterxsshtmla true para todos los usuarios y desactiva las modificaciones en la GUI de administración. También activa el filtrado de etiquetas HTML sospechosas para el superadministrador. - filterxsshtml_allowforcedsuperadmin: Solo se usa si
filterxsshtml_forcedalles true. Permite añadir cualquier script y HTML aforcedsuperadmin(por defecto, el usuario administrador n.º 1). - disablescriptwithxss: Permite modificar el script en una pregunta: por defecto es true, es decir, se siguen las reglas XSS; configúrelo en false para permitirlo a todos los usuarios. El valor predeterminado se puede anular en el cuadro de diálogo de configuración global.
- filterxsshtml_enablescript: Solo se usa si filterxsshtml_forcedall es true. Activa el script de pregunta para un usuario específico:
gui: permite modificar la configuración mediante la GUI;superadmin: solo el superadministrador;forcedsuperadmin: solo el superadministrador forzado; por defecto: ningún usuario y no se permite la modificación mediante la GUI.
Subida de archivos permitida
- allowedthemeimageformats : Tipos de archivo de imagen que se pueden subir en la sección de temas. Por defecto, los archivos SVG están desactivados debido a posibles ataques XSS.
- allowedthemeuploads : Otros tipos de archivo que se pueden subir en la sección de temas (archivo zip).
- allowedresourcesuploads : Tipos de archivo que se pueden subir en la sección de recursos y con el editor HTML.
- allowedpluginuploads : Tipos de archivo permitidos al subir el archivo zip de un plugin.
Simplemente introduzca una cadena de extensiones separadas por comas. Por ejemplo:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Advertencia: tenga siempre cuidado al permitir la subida de archivos. Podrían producirse actividades maliciosas.
Plugins
- usePluginWhitelist : Si es true, los plugins que no estén en la lista de permitidos (véase 'pluginWhitelist') no se pueden instalar ni cargar. Esto puede desactivar plugins ya instalados.
- pluginWhitelist : Lista de nombres de plugins que se pueden instalar y cargar cuando 'usePluginWhitelist' es true. Los plugins del núcleo están permitidos implícitamente.
- corePluginBlacklist : Lista de nombres de plugins del núcleo prohibidos cuando 'usePluginWhitelist' es true.
- disablePluginUpload : Cuando este ajuste es true, la función "Plugin Upload" está desactivada.
Control de hosts
- allowedHosts : Para evitar la inyección de cabeceras Host, puede establecer los hosts permitidos para todas las acciones. Si utiliza hosts distintos para la página pública y la página de administración, debe establecer ambos como hosts permitidos.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Recursos
- iSessionExpirationTime: Define el tiempo en segundos tras el cual caduca una sesión del formulario. Solo se aplica si utiliza sesiones de base de datos. Si las utiliza, cambie el parámetro en config.php o anule el valor predeterminado desde el cuadro de diálogo de configuración global.
- memory_limit: Determina la cantidad de memoria, en megabytes, a la que puede acceder LimeSurvey. El valor predeterminado es '256'. Si recibe errores de tiempo de espera o tiene problemas al generar estadísticas o exportar archivos, aumente este límite a '512' o más. Si su servidor web tiene establecido un límite superior en php.ini, este ajuste se ignorará.
Para aumentar el límite de memoria a 128 M, también puede intentar agregar:
- memory_limit = 128M al archivo php.ini principal de su servidor (recomendado, si tiene acceso)
- memory_limit = 128M a un archivo php.ini en la raíz de LimeSurvey
- php_value límite de memoria 128M en un archivo .htaccess en la raíz de LimeSurvey
- max_execution_time: Establece el número de segundos que se permite ejecutar un script. Si se alcanza este valor, el script devuelve un error fatal. Para poder exportar estadísticas y datos de encuestas grandes, LimeSurvey intenta configurarlo de forma predeterminada en 1200 segundos. Puede establecer un tiempo mayor o menor si es necesario. Solo se puede acceder a través del archivo de configuración php.
Apariencia
- dropdownthreshold (Obsolete since 2.50): Cuando se selecciona "R" para
$dropdowns, el administrador puede establecer un número máximo de opciones que se mostrarán como botones de opción , antes de volver a convertirla en una lista desplegable. Si hay una pregunta que tiene una gran cantidad de opciones, mostrarlas todas a la vez como botones de opción puede parecer difícil de manejar y puede resultar contrario a la intuición para los usuarios. Establecer esto en un máximo de, digamos, 25 (que es el valor predeterminado) significa que los administradores pueden usar listas grandes más fácilmente para el participante de la encuesta. - repeatheadings: Con el tipo de pregunta Matriz, A menudo tendrás muchas subpreguntas que, cuando se muestran en la pantalla, ocupan más de una página. Esta configuración le permite decidir cuántas subpreguntas deben mostrarse antes de repetir la información del encabezado de la pregunta. Una buena configuración para esto es alrededor de 15. Si no desea que los encabezados se repitan en absoluto, configúrelo en 0. Esta configuración se anula en el cuadro de diálogo configuración global (New in 2.05 ) .
- minrepeatheadings: El número mínimo de subpreguntas restantes que se requieren antes de repetir los títulos en las preguntas de matriz. El valor predeterminado es 3 y se puede editar en config.php.
- defaulttemplate: Esta configuración especifica el tema predeterminado utilizado para la 'lista pública' de encuestas. Esta configuración se puede anular en el cuadro de diálogo configuración global o editarse en config.php.
- defaulthtmleditormode: Establece el modo predeterminado para el editor HTML integrado. Esta configuración se puede anular en el cuadro de diálogo configuración global o editarse en config.php. Las configuraciones válidas son:
- 'inline': reemplazo en línea de campos mediante un editor HTML. Lento pero conveniente y fácil de usar;
- 'popup': agrega un ícono que ejecuta el editor HTML en una ventana emergente si es necesario. Más rápido, pero el código HTML se muestra en el formulario;
- 'none'- Sin editor HTML;
- column_style: Define cómo se representan las columnas para las respuestas de la encuesta cuando se usa display_columns. Se puede editar en el archivo config.php. Las configuraciones válidas son:
- 'css' - utiliza uno de los diversos métodos CSS para crear columnas (consulte la hoja de estilo de la plantilla para obtener más detalles);
- 'ul' - las columnas se representan como múltiples listas flotantes desordenadas (predeterminado);
- 'table': utiliza un diseño basado en tablas convencionales;
- NULL: deshabilita el uso de columnas.
Idioma y hora
- defaultlang: Esto debe configurarse en el idioma predeterminado que se usará en sus scripts de administración, y también en la configuración predeterminada para el idioma en la lista de encuestas públicas. Esta configuración se puede anular en el cuadro de diálogo configuración global o editarse en config.php.
- timeadjust: Si su servidor web se encuentra en una zona horaria diferente a la ubicación donde se basarán tus encuestas, pon aquí la diferencia entre tu servidor y la zona horaria de tu casa. Por ejemplo, vivo en Australia, pero uso un servidor web de EE. UU. El servidor web tiene un retraso de 14 horas con respecto a mi zona horaria local. Entonces mi configuración aquí es "14". En otras palabras, añade 14 horas al tiempo del servidor web. Esta configuración es particularmente importante cuando las encuestas marcan la hora de las respuestas. Esta configuración se puede anular en el cuadro de diálogo configuración global o editarse en config.php.
Comportamiento de la encuesta
- deletenonvalues: Utilice esta función con precaución. De forma predeterminada (un valor de 1), las preguntas irrelevantes se anulan en la base de datos. Esto garantiza que los datos de su base de datos sean coherentes internamente. Sin embargo, hay casos raros en los que es posible que desee conservar valores irrelevantes, en cuyo caso puede establecer el valor en 0. Por ejemplo, le pregunta a un hombre su género y accidentalmente dice "mujer" y luego responde algo femenino - preguntas específicas (preguntas que están condicionadas al hecho de ser mujer, por lo que sólo son relevantes para las mujeres). Luego, se da cuenta de su error, retrocede, establece el género en "masculino" y continúa con la encuesta. Ahora bien, las cuestiones específicas de las mujeres son irrelevantes. Si
$deletenonvalues==1, esos valores irrelevantes se borrarán (se anularán) en la base de datos. Si$deletenonvalues==0, sus respuestas erróneas no se eliminarán, por lo que seguirán presentes en la base de datos cuando la analice. - shownoanswer: Cuando un botón de opción/pregunta de tipo de selección que contiene respuestas editables (es decir, preguntas de lista o de matriz) no es obligatorio y 'shownoanswer' está establecido en 1, se agrega un 'Sin respuesta' adicional Se muestra la entrada, para que los participantes puedan optar por no responder la pregunta. Algunas personas prefieren que esto no esté disponible. Esta configuración puede anularse desde el cuadro de diálogo configuración global o editarse en config.php. Los valores válidos son:
- '0': No;
- '1': Sí;
- '2': El administrador de la encuesta puede elegir.
- printanswershonorsconditions: Esta configuración determina si la función de impresión de respuestas mostrará entradas de preguntas que estaban ocultas por condiciones de ramificación (predeterminado: 1 = ocultar respuestas de preguntas ocultas por condiciones).
- ' hide_groupdescr_allinone:' Esta configuración es relevante para encuestas todo en uno que utilizan condiciones. Cuando se establece en "verdadero", el nombre y la descripción del grupo se ocultan si todas las preguntas del grupo están ocultas. El valor predeterminado es "verdadero": oculta el nombre y la descripción del grupo cuando todas las preguntas del grupo están ocultas por condiciones. Se puede editar en config.php.
- showpopups: Mostrar mensajes emergentes si las preguntas obligatorias o condicionales no se han respondido correctamente:
- '2' = definido por la opción Tema (predeterminado)
- '1'= mostrar mensaje emergente;
- '0'= mostrar mensaje en la página;
- '-1'= no mostrar el mensaje en absoluto (en este caso, los usuarios seguirán viendo los consejos específicos de las preguntas que indican qué preguntas deben responderse).
Comportamiento de tipo pregunta numérica
- bFixNumAuto: Los campos numéricos se pueden filtrar automáticamente para eliminar todos los valores no numéricos. De forma predeterminada, esto está habilitado, puede deshabilitarlo globalmente. Esta configuración está relacionada con Corregir valor numérico automáticamente en las opciones principales del tema. Se habilitó para Sí, se deshabilitó para Sólo para expresión y No.
- bNumRealValue: Los campos numéricos utilizados en el administrador de expresiones pueden ser fijos o no. Está arreglado por defecto. Si NUMERIC es una pregunta numérica: deshabilitar o 0: {NUMERIC} con caracteres incorrectos enviar '' , habilitar o 1: {NUMÉRICO} envía todos los caracteres ingresados. Esta configuración está relacionada con Corregir valor numérico automáticamente en las opciones principales del tema. Se habilitó para Sí y Sólo para expresión y se deshabilitó para No.
Desarrollo y depuración
- debug: Con esta configuración, se establece el informe de errores de PHP en E_ALL. Esto significa que se muestra cada pequeño aviso, advertencia o error relacionado con el script. Esta configuración solo debe cambiarse a '1' si está intentando depurar la aplicación por algún motivo. Si es desarrollador, cámbiela a '2'. No la cambie a '1' o '2' en producción, ya que podría revelar la ruta. El valor predeterminado es '0' y se puede editar en config.php.
- debugsql: Active esta configuración si desea mostrar todas las consultas SQL ejecutadas para el script en la parte inferior de cada página. Es muy útil para optimizar el número de consultas. Para activarla, cambie el valor predeterminado a '1' en el archivo config.php.
- use_asset_manager: De forma predeterminada, el modo de depuración desactiva el administrador de activos (asset manager). Puede permitir su uso con el modo de depuración activado.
- rpc_log: (New in 7.9.0 ) Establézcalo en
truepara registrar cada llamada a RemoteControl entmp/runtime/remotecontrol.log. Cada línea contiene el método llamado, sus parámetros, la dirección IP del cliente, la duración y el inicio de la respuesta. Las contraseñas se eliminan, las claves de sesión se sustituyen por un hash corto y los valores largos se acortan. El registro sigue conteniendo los datos de la encuesta, de los participantes y de las respuestas que se enviaron y recibieron, por lo que solo debe activarlo mientras busca un problema. El valor predeterminado esfalse.
En el caso de que experimente un error en la aplicación, le recomendamos encarecidamente activar la configuración de depuración para obtener un error más detallado que pueda enviar con el informe de error:
!¡NORTE! 'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Si trabaja con un complemento y necesita una forma rápida de volcar variables en la pantalla: puede usar la función traceVar. Si se establece la depuración: esta función utiliza CWebLogRoute para mostrarse en la página HTML. Uso traceVar($MyVariable)
Opciones de correo electrónico
Todas las configuraciones siguientes se pueden anular en el cuadro de diálogo de configuración global.
- 'emailmethod: Esto determina cómo se envían los mensajes de correo electrónico. Están disponibles las siguientes opciones:
- 'mail:' usa el programa de correo interno de PHP;
- 'sendmail:' usa el programa de correo sendmail;
- 'smtp:' usa retransmisión SMTP. Utilice esta configuración cuando ejecute LimeSurvey en un host que no sea su servidor de correo.
- 'emailsmtphost: Si usa 'smtp' como
$emailmethod, debe indicar aquí su servidor SMTP. Si utiliza el correo de Google, es posible que deba añadir el número de puerto, por ejemplo $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Si su servidor SMTP necesita autenticación, establezca aquí su nombre de usuario; de lo contrario, debe estar en blanco.
- emailsmtppassword: Si su servidor SMTP necesita autenticación, establezca aquí su contraseña; de lo contrario, debe estar en blanco.
- emailsmtpssl: Establézcalo en 'ssl' o 'tls' para usar SSL/TLS en la conexión SMTP.
- maxemails: Al enviar invitaciones o recordatorios a los participantes de la encuesta, esta configuración se usa para determinar cuántos correos electrónicos se pueden enviar en un mismo lote. Los distintos servidores web tienen diferentes capacidades de envío de correo y, si su script tarda demasiado en enviar un lote de correos, el script podría agotar el tiempo de espera y causar errores. La mayoría de los servidores web pueden enviar 100 correos electrónicos a la vez dentro del tiempo límite predeterminado de 30 segundos para un script PHP. Si recibe errores de tiempo de espera del script al enviar un gran número de correos electrónicos, reduzca el número en esta configuración. Al hacer clic en el botón 'Enviar invitación' de la barra de herramientas de control de tokens (no en el botón situado a la derecha de cada token) se envía el número <maxemails> de invitaciones; después se muestra una lista de las direcciones de los destinatarios y una advertencia que indica que hay más correos electrónicos pendientes de los que se pueden enviar en un lote. Continúe enviando correos electrónicos haciendo clic a continuación. Aún quedan ### correos electrónicos por enviar., junto con un «botón de continuar» para pasar al siguiente lote. Es decir, el usuario determina cuándo enviar el siguiente lote después de enviar cada uno. No es necesario esperar con esta pantalla activa. El administrador puede cerrar sesión y volver más tarde para enviar el siguiente lote de invitaciones.
- send_error_saving_results_email: (New in 7.8.0 ) Si no se puede guardar una respuesta, LimeSurvey envía las respuestas al administrador de la encuesta en un correo electrónico con el asunto «Error al guardar las respuestas». Establézcalo en
falsepara dejar de enviar estos correos. Los participantes seguirán viendo el mensaje de error. El valor predeterminado estrue. Esta configuración solo se puede cambiar en config.php.
Estadísticas y exploración de respuestas
- filterout_incomplete_answers: Controla el comportamiento predeterminado del filtrado de respuestas incompletas al explorar o analizar respuestas. Para obtener información sobre las respuestas incompletas, consulte nuestra wiki sobre la exploración de resultados del formulario. Dado que estos registros pueden distorsionar las estadísticas, se ofrece una opción para activar o desactivar este filtro en varios formularios de la GUI. El parámetro se puede editar en config.php. Están disponibles las siguientes opciones:
- 'all': Le permite visualizar tanto las respuestas completas como las incompletas;
- 'complete': Muestra solo las respuestas completas;
- 'incomplete': Muestra solo las respuestas incompletas.
- strip_query_from_referer_url: Esta configuración determina si la URL de referencia guarda el parámetro o no. El valor predeterminado es 'false' (en este caso, la URL de referencia guarda todos los parámetros). Como alternativa, este valor se puede establecer en 'true' y se eliminará la parte de parámetros de la URL de referencia.
- showaggregateddata: Cuando se activa, se muestran valores estadísticos adicionales, como la media aritmética y la desviación estándar. Además, los datos se agregan para obtener una vista general más rápida. Por ejemplo, los resultados de las escalas 1+2 y 4+5 se suman para obtener un ranking general como "bueno" (1/2), "promedio" (3) y "malo" (4/5). Esto solo afecta a los tipos de pregunta "A" (matriz de 5 puntos) y "5" (elección de 5 puntos).
- Configuración de exportación a PDF: Esta función activa la exportación a PDF para los formularios imprimibles y para Imprimir respuestas. La función de exportación a PDF es totalmente experimental y el resultado dista mucho de ser perfecto. Lamentablemente, por el momento no podemos ofrecer soporte; si desea ayudar a mejorarla, póngase en contacto con nosotros.
- 'pdfdefaultfont': Representa la fuente predeterminada que utilizará la función de exportación a PDF. El valor predeterminado es 'auto'. Para cambiarla, debe establecerla en una de las fuentes básicas de PDF.
- 'alternatepdffontfile': Es una matriz con claves de idioma y su fuente correspondiente. La fuente predeterminada de cada idioma se puede sustituir en el archivo config.php;
- 'pdffontsize': Indica el tamaño de fuente de los textos normales; para el título del formulario es <pdffontsize>+4, mientras que para el título del grupo es <pdffontsize>+2. Se puede editar en el archivo config.php o desde el cuadro de diálogo de configuración global.
- Configuración de gráficos
- 'chartfontfile': Establece el nombre del archivo de fuente que se utiliza para crear los gráficos estadísticos. El archivo debe estar ubicado en el directorio de fuentes, situado en la carpeta raíz de LimeSurvey. Se puede editar en el archivo config.php;
- 'alternatechartfontfile': Es una matriz con claves de idioma y su fuente correspondiente. Se puede editar en el archivo config.php.
- showsgqacode: Esta configuración se utiliza en la función de formulario imprimible y su valor predeterminado es 'false'. Si establece showsgqacode = 'true';, se mostrarán los ID de cada pregunta y, si procede, de cada respuesta. Estos ID coinciden con el encabezado de columna de la tabla Lime_survey_12345, que contiene los datos de respuesta de un determinado formulario. Estos ID se pueden utilizar como libro de códigos para consultas manuales a la base de datos.
Configuración LDAP
Ya que es un tema bastante largo, movimos LDAP settings/es a otra página.
Autenticación
A partir de LimeSurvey 2.05, la autenticación será manejada por complementos. Como resultado, la información siguiente podría estar desactualizada. Consulte la wiki de complementos para obtener la información más actualizada.
Delegar Autenticación al servidor web
Es posible que los administradores de sistemas quieran que los administradores de formularios se autentiquen en un sistema de autenticación central (Active Directory, openLdap, Radius, ...) en lugar de usar la base de datos interna de LimeSurvey. Una forma sencilla de hacerlo es configurar el software de su servidor web para que utilice este sistema de autenticación externo y, después, indicar a LimeSurvey que confíe en la identidad de usuario comunicada por el servidor web. Para activar esta función, debe:
- activar el plugin Webserver en Configuración > Extensiones y establecer, en la configuración del plugin, la clave del servidor que contiene el nombre de usuario (por defecto: REMOTE_USER);
- habilitar la autenticación en el lado del servidor web.
Por favor note que:
- LimeSurvey se saltará su propio proceso de autenticación (usando el nombre de usuario reportado por el servidor web sin pedir contraseña)
- Esto sólo puede reemplazar el sistema gráfico de autenticación de LimeSurvey, no el sistema de invitaciones de encuestas (interfaz del participante)
Delegación de la Autenticación sin importación automática de usuarios
Por favor note que por defecto la delegación de autenticación no anula el sistema de autorización de LimeSurvey: esto significa que incluso si no quieres administrar contraseñas usando LimeSurvey, tienes que definir los usuarios en la base de datos de LimeSurvey y asignar los permisos pertinentes para dejar que usen los recursos de la encuesta.
Se concede acceso a LimeSurvey a un usuario si y solo si:
- ha sido autenticado en el servidor web;
- su nombre de inicio de sesión está definido como usuario en la base de datos de usuarios de LimeSurvey (al usuario se le conceden entonces los privilegios del usuario definido en dicha base de datos);
- tiene el permiso global Utilizar la autenticación del servidor web.
Delegación de Autenticación con importación automática de usuario
Cuando se gestiona una base de datos de usuarios muy grande, a veces es más fácil importar automáticamente los usuarios a la base de datos de LimeSurvey:
- auth_webserver_autocreate_user: Si se establece en 'true', LimeSurvey intentará importar automáticamente los usuarios autenticados por el servidor web que aún no estén en su base de datos de usuarios.
- auth_webserver_autocreate_profile: Una matriz que describe el perfil predeterminado que se asignará al usuario: el nombre completo (ficticio), el correo electrónico y el idioma.
- auth_webserver_autocreate_permissions: Una matriz con los permisos globales que se asignarán al usuario.
Si desea personalizar el perfil de usuario para que coincida con el usuario que ha iniciado sesión, deberá desarrollar en config.php una función sencilla llamada hook_get_auth_webserver_profile. Con esta función puede obtener de una base de datos central de cuentas de usuario (por ejemplo, un directorio LDAP) el nombre completo, el correo electrónico y el idioma reales de un usuario concreto.
La función hook_get_auth_webserver_profile recibe el nombre de inicio de sesión del usuario como único argumento y puede devolver:
- False o una matriz vacía: en este caso, se deniega al usuario el acceso a LimeSurvey;
- una matriz que contenga las mismas entradas que
auth_webserver_autocreate_profile.
function hook_get_auth_webserver_profile($user_name)
{
// Retrieve user's data from your database backend (for instance LDAP) here
// ... get $user_name_from_backend
// ... get $user_email_from_backend
// ... get $user_lang_from_backend
return array(
'full_name' => $user_name_from_backend,
'email' => $user_email_from_backend,
'lang' => $user_lang_from_backend,
);
}
// If user should be denied access, return an empty array
// return array();
Mapeo de nombres de usuario
Algunos usuarios tienen un nombre de usuario externo diferente al de LimeSurvey; te puede ser útil usar el mapeo de nombres de usuario. Esto se hace con el parámetro $userArrayMap. Por ejemplo, imagina que no tienes un nombre de usuario 'admin' en tu base de datos de autenticación externa. Para poder accesar a LimeSurvey, deberás mapear tu nombre de usuario externo al nombre de usuario en LimeSurvey. Se hace así:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Después de una autenticación exitosa con el nombre de usuario 'myname' y contraseña con el servidor web, serás autorizado a LimeSurvey como el usuario 'admin'.
Esto tiene obviamente implicaciones de seguridad bastante serias, así que úsalo con cuidado, y por favor protege tu archivo config.php contra escritura por parte del servidor web.
Uso de contraseñas de sólo un uso
Un usuario puede abrir la página de inicio de sesión de LimeSurvey en default.com/limesurvey/admin y escribir el nombre de usuario y la contraseña de un solo uso que una aplicación externa escribió previamente en la tabla de usuarios (columna one_time_pw).
Esta configuración debe activarse en el archivo config.php para permitir el uso de contraseñas de un solo uso (predeterminado = falso).
!¡NORTE! 'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Puede encontrar más información en la sección "Administrar usuarios".
Configuración de cifrado
Consulte cifrado de datos para obtener detalles sobre esta función.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Configuración avanzada de URL
- publicurl: Debe establecerse en la ubicación URL de sus 'scripts públicos'. Los scripts públicos son los ubicados en la carpeta "limesurvey" (o el nombre que haya dado al directorio en el que se guardan todos los demás scripts y directorios). Este ajuste está disponible en config.php y se utiliza cuando LimeSurvey necesita una URL absoluta (por ejemplo, cuando se envían los correos electrónicos con tokens).
- tempurl: Debe establecerse en la ubicación URL de su directorio "/limesurvey/tmp", o en un directorio que quiera que LimeSurvey utilice para servir archivos temporales.
- uploadurl: Debe establecerse en la ubicación URL de su directorio "/limesurvey/upload", o en un directorio que quiera que LimeSurvey utilice para servir los archivos subidos. Esto le permite situar los archivos subidos en otro dominio.
Configuraciones avanzadas de rutas
- homedir: Debe establecerse en la ubicación física en disco de sus scripts de administración, por ejemplo "/home/usr/htdocs/limesurvey/admin". No añada una barra diagonal final a esta entrada. La configuración predeterminada en config.php intenta detectar la ruta raíz predeterminada de todos sus documentos mediante la variable de PHP
{$_SERVER['DOCUMENT_ROOT']}. En la mayoría de los casos puede dejarla tal cual y modificar solo el resto de esta cadena para que coincida con el nombre del directorio en el que ha colocado los scripts de LimeSurvey. - publicdir: Debe establecerse en la ubicación física en disco de sus 'scripts públicos'.
- tempdir: Debe establecerse en la ubicación física en disco de su directorio /limesurvey/tmp para que el script pueda leer y escribir archivos.
- uploaddir: Debe establecerse en la ubicación física en disco de su directorio /limesurvey/upload para que el script pueda leer y escribir archivos.
- sCKEditorURL: URL del script de CKEditor.
Otras configuraciones avanzadas
Subir archivos
- magic_database: Permite usar una base de datos MIME diferente para finfo_open. Solo se puede actualizar en el archivo config.php. Ejemplo:
/usr/share/misc/magic.mgcpara Linux basado en Red Hat. - magic_file: Permite usar un archivo diferente para obtener la matriz de extensiones por tipo MIME en lugar del archivo incluido. Debe ser un archivo PHP que devuelva una matriz. Solo se puede actualizar en el archivo config.php.
Actualización
- actualizable: Esta configuración está en version.php. Puede ser verdadero o falso. Si lo configura en verdadero: cuando un usuario superadministrador inicia sesión: LimeSurvey verifica si hay una actualización disponible y le muestra una advertencia. Si se establece en falso: no se realiza ninguna verificación y no se puede utilizar ComfortUpdate.
Tokens
- allowedcharacters_pattern_token : Esta configuración permite establecer el patrón de expresión regular al filtrar los tokens.