Actions

Preferencias Opcionales

From LimeSurvey Manual

Revision as of 21:47, 17 November 2021 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

The following section is addressed to those of you who would like to edit those configuration settings that could not be modified with the help of the GUI (Graphical User Interface) of the LimeSurvey installation. Please bear in mind that all the changes from the LimeSurvey root directory are done at your own risk. Nevertheless, in the case in which you are experiencing problems/need further guidance, join the discussion forums or the IRC channel for help from the LimeSurvey community.

Cómo modificar la configuración opcional

Las ajustes opcionales solamente pueden ser encontradas dentro del archivo /application/config/config-defaults.php en un standard de instalación - algunas de estos solamente usados cuando se instala por primera vez, algunas de ellas sobrescritas en Global settings.

  Si usted desea cambiar esos ajustes porfavor no los cambie en config-defaults.php pero copie el particula en setting/line sobre /application/config/config.php en 'config'=>array() hacer el cambio allí.


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!

When an upgrade occurs, only the config-defaults.php settings are changed. Therefore, editing the config.php file will save your customized settings.

Para Actualizar/Agregar ajustes para LimeSurvey en /application/config/config.php usted dentra que actualizar el arreglo:

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'LimeSurveySetting'=>'Nuevo Valor',
    )

Ajustes Yii

LimeSurvey usa Yii framework y Yii tiene sus propios parámetros de configuración en el archivo application/config/config.php. Usted puede acceder a algunos ajustes de configuraciones especificas de LimeSurvey también via por medio de la configuración Yii.

LimeSurvey uses the Yii framework, which has its own configuration parameters in application/config/internal.php and application/config/config.php file. You can also access some specific configuration settings of LimeSurvey via the Yii configuration.

Since config.php array is merged to the whole config, you can replace any Yii params in the config.php file.

Las specificaciones de ajustes Yii estan colocadas en los componentes del arreglo:

    'components' => array(
        'db' => array(
            ....
        ),
        'Specific settings'=>array(
            ....
        ),
    ),
For more information about the Yii framework, please access the following link.

Ajustes de base de Datos

La configuración de la base de datos son escritos por el instalador en el fichero config.php al instalar LimeSurvey por primera vez. Si es necesario, puede actualizar esta parte de la configuración. Por favor, recuerde que lo hace a su propio riesgo. Véase también el [documentación Yii], y por favor recuerde que Limesurvey sólo admite los tipos de bases de datos MySQL, pgsql , dblib, mssql, y sqlsrv.

Configuraciones de la sesión

Puede configurar algunos parámetros de la sesión en config.php, el primer ejemplo es la sesión en la base de datos. Puede eliminar el comentario o añadir la parte que sea necesaria en config.php. Véase [Documentación Yii] para otros ajustes.

You can set some session parameters in config.php (check the two examples from below). You can uncomment/add the part needed in config.php. See the Yii Documentation for other settings.

  If you need to update session settings to have multiple LimeSurvey instances running on the same server, check if you don't have to update request settings for crsf cookie.


Use table-based sessions

LimeSurvey can use table-based sessions, you find a commented part on the default config.php generated file. To use table-based session, remove the // before each line.

        'session' => array (
            'class' => 'application.core.web.DbHttpSession',
            'connectionID' => 'db',
            'sessionTableName' => '{{sessions}}',
        ),
  Table-based sessions are currently not supported on MSSQL server.


Other sessions update

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',
                ),
            ),

If you have mutiples installation on the same server, it can be more quick and easy to set different session name for each LimeSurvey instance. This can be need for IE11 in some condition (see issue 12083)

        // Set the name of the session
        'session' => array (
            'sessionName' => "LimeSurveyN1",
            ),

configuración de Peticiones

Las configuración de peticiones son importantes, pero los valores predeterminados ya están optimizados para el uso Limesurvey. Ver Documentación Yii para más información.

Algunos ejemplos se pueden modificar en la configuración de Limesurvey:Bajo su propio riesgo :

        // Deshabilitar la protección CSRF 
        'request' => array(
            'enableCsrfValidation'=>false,    
            ),
        // Hacer valer una determinada URL base 
        'request' => array(
            'hostInfo' => 'http://www.example.org/'  
            ),
        // Establecer el nombre de dominio de la cookie para la protección CSRF
        'request' => array(
            'csrfCookie' => array( 'domain' => '.ejemplo.com' )
        ),

If you need to update only the url for token emails, set your publicurl in your config.php file.


Allow usage of session and Csrf Validation in iFrame (New in 3.24.3 )

After allow Iframe embedding you need to update some configuration part. Attention, even with all settings : allow form in iframe can broke on some browser. This settings was tested with Firefox 81.0.2 and Chromium 85.0.4183.121.

Allow session start in iframe

The session need to be secure (valid https) , httponly and samesite to None. All settings must be sent all lowercase.

 		 'session' => array (
			'sessionName'=>'LS-VBXZZORFJZCAKGYI',
			// Uncomment the following lines if you need table-based sessions.
			// Note: Table-based sessions are currently not supported on MSSQL server.
			// 'class' => 'application.core.web.DbHttpSession',
			// 'connectionID' => 'db',
			// 'sessionTableName' => '{{sessions}}',
			'cookieParams' => array(
				'secure' => true,
				'httponly' => true,
				'samesite' => 'None',
			),
		 ),

Allow csrf cookie in iframe

Same than session: must be secure and samesite to None. Whole array must be added at same level than session

		'request' => array(
			'enableCsrfValidation'=>true,
			'csrfCookie' => array(
				'sameSite' => 'None',
				'secure' => true,
			),
		),

Configuracion URL

Para tener el mismo comportamiento como la anitgua función 'Fancy URL', puede actualizar el administrador de ULR's

       // Usar URL corta
		'urlManager' => array(
			'urlFormat' => 'path',
			'showScriptName' => false,
		),

Adding .html after the survey id

       // Usar URL corta
		'urlManager' => array(
			'urlFormat' => 'path',
			'rules' => array (
			    '<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
			 ),
			'showScriptName' => false,
		),

Mas informacion en documentación Yii .

  If you need to update only the url for token and other emails, set your publicurl in your config.php file.


To change the default URL settings, update the urlManager:

       // Use short URL
		'urlManager' => array(
			'urlFormat' => 'path',
			'showScriptName' => false,
		),


You can also add .html after the survey id in the following way:

       // Use short URL
		'urlManager' => array(
			'urlFormat' => 'path',
			'rules' => array (
			    '<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
			 ),
			'showScriptName' => false,
		),

For more information, check the Yii documentation.

Logging settings

Yii provides different solutions to generate logs. To find out more about them, check the logging special topic. LimeSurvey uses '1' or '2' by default, which allows every web user to see the logs. You can create your own settings using Yii directly.

For example, a quick solution to log errors and warnings in files is:

return array(
	'components' => array(
		/* Other component part here 'db' for example */
		'log' => array(
			'routes' => array(
				'fileError' => array(
					'class' => 'CFileLogRoute',
					'levels' => 'warning, error',
					'except' => 'exception.CHttpException.404',
				),
			),
		),
		/* Other component part here 'urlManager' for example */
	),
	/* Final part (with 'runtimePath' 'config' for example) */
);
 Hint: The file is saved by default to limesurvey/tmp/runtime/application.log, which is located in the LimeSurvey root folder.
  Yii uses runtime path. By default, the logs are web accessible. They may contain a lot of information from your server. It is better to use a directory that cannot be accessed via the web. You can set it in routes or by updating the Runtime path.

.

Runtime path

The runtime path must be a readable and writable directory for the “web user”. However, the runtime path contains files with potential security information that are located in the public web access area. LimeSurvey collects these files in the temp directory of the LimeSurvey root directory. In order to eliminate the access to such important data, you can set the runtime path outside the public web access by editing the respective lines in the /application/config/config.php file:

 
return array(
  'components' => array(
    []
    'runtimePath'=>'/var/limesurvey/runtime/',
    'config'=>array(
    []
    )
  )
)

Configuración General

  • $sitename: Le da un nombre al sitio de la encuesta. Este nombre aparecerá en el resumen de la lista de la encuesta y en el encabezado de administración. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $siteadminemail: Esta es la dirección por defecto del administrador del sitio, y se usa para mensajes del sistema y opciones de contacto. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $siteadminbounce: Esta es la dirección por defecto a donde se mandarán correos rebotados. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $siteadminname: El nombre real del administrador del sitio. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • proxy_host_name: Este es el nombre de host del servidor proxy (si está detrás de un proxy y desea actualizar Limesurvey usando ComfortUpdate) (New in 2.05 ).
  • proxy_host_port: Este es el puerto del servidor proxy (si está detrás de un proxy y desea actualizar Limesurvey usando ComfortUpdate) (New in 2.05 ).

Seguridad

  • maxLoginAttempt: Si el usuario introduce una contraseña incorrecta este es el número de intentos antes de que los usuarios se bloquea mediante la dirección IP.
  • timeOutTime: Si el usuario introduce una contraseña incorrecta para <maxLoginAttempt> establecer el bloqueo fuera de tiempo (en segundos).
  • $surveyPreview_require_Auth: true por defecto. Si colocas esto a falso, cualquier persona puede tomar tu encuesta usando el URL de la misma - sin tener que acceder a la administración, y sin tener que activar la encuesta primero. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • usercontrolSameGroupPolicy :  es true por defecto. Por defecto, los usuarios no administradores definidos en la interfaz de administración de LimeSurvey sólo pueden ver a otros usuarios si pertenecen a por lo menos un grupo al que pertenece el usuario. Esto es establecido por el siguiente parámetro:
  • $filterxsshtml: Esta preferencia habilita el filtro de tags sosperchosos de html en los textos de encuesta, grupos, preguntas y respuestas en la interfaz de administración. Sólo cambia esto a 'false' si confias absolutamente en los usuarios que creaste para la administración de LimeSurvey y si quieres permitirle a los usuarios que usen Javascript, Flash, etc. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $demoModeOnly: Si esta opción es true, LimeSurvey entrará al modo de demostración. Este modo cambia las siguientes cosas:
    • Deshabilita el cambio de la información y contraseñas de los administradores
    • Deshabilita la carga de archivos en el editor de plantillas
    • Deshabilita el envío de invitaciones de correo y recondatorios
    • Deshabilita el volcado de base de datos doing a database dump
    • Deshabilita el guardado de las siguientes configuraciones: Nombre del sitio, idioma por defecto, modo de editor de HTML por defecto, filtro de XSS

Recursos

  • sessionlifetime: Define el tiempo en segundos después del cual caduca una sesión de encuesta. Sólo se aplica si está utilizando sesiones de base de datos. Esta opción no prevalece en el cuadro de diálogo.
  • memorylimit: Esto establece la cantidad de memoria Limesurvey puede acceder. '128 M' es el mínimo (M = Megabyte) recomendada. Si recibe errores de tiempo de espera o tiene problemas para generar estadísticas o exportación de archivos elevar este límite a "256M" o superior. Si su servidor web ha establecido un límite más alto entonces se ignorará este ajuste.
Por favor, tener en cuenta que dichos ajustes locales por una aplicación siempre pueden ser anuladas por la configuración global del servidor

To increase the memory limit to 128M you could also try adding:

  • memory_limit = 128M to your server's main php.ini file (recommended, if you have access)
  • memory_limit = 128M to a php.ini file in the LimeSurvey root
  • php_value memory_limit 128M in a .htaccess file in the LimeSurvey root
  • max_execution_time: Set the number of seconds a script is allowed to run. If this is reached, the script returns a fatal error. To be allowed to export big survey data and statistics, LimeSurvey try to set it by default to 1200 seconds. You can set a bigger time or a lower time if needed. Only accessible via php config file.

Apariencia

  • $lwcdropdowns: Esto puede ser "L" o "R". Si es "R", las preguntas de tipo 'Lista con Comentario' serán desplegadas como botones de opción, mientras que "L" hará que se desplieguen como una lista desplegable. (Obsoleto desde la versión 2.0)
  • $dropdownthreshold: Cuando tienes seleccionado "R" para los $dropdowns, esto te permite elegir el número máximo de opciones que se desplegarán como botones de opción antes de volverse una lista desplegable. Si tienes una pregunta que tiene un gran número de opciones, se puede ver abultado si las muestras todas como botones de opción, y puede ser confuso para los usuarios. Un máximo de 25 (que es el valor por defecto) hace las listas grandes más fáciles de usar para el participante de la encuesta.
  • $repeatheadings: Con el tipo de pregunta de arreglo (flexible), usualmente tendrás un gran número de respuestas, que al desplegarse en pantalla ocupan más de una página. Ésta configuración te deja decidir cuántas respuestas desplegar antes de repetir el encabezado de la pregunta. Una buena cantidad es 15. Si no quieres que se repitan los encabezados, ajusta esto a 0 (que es el valor por defecto).
  • $minrepeatheadings: El mínimo de preguntas que se necesitan para repetir los encabezados en preguntas de arreglo (flexible).
  • $addTitleToLinks: Si esta opción es true, LimeSurvey le agregará el elemento 'title' de html a todos los vínculos usados en menús. Esto ayuda a los lectores de pantalla a analizar los menús. Sólo ajusta esto a true si estás usando un lector de pantalla y se enciman las herramientas.
  • $defaulttemplate: Esta opción especifica el tema por defecto usado para la 'lista pública' de encuestas. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $defaulthtmleditormode: Ajusta el modo por defecto del editor integrado de HTML (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales) . Las opciones válidas son: inline (por defecto), popup and none:
    • inline: Se reemplazan los campos en línea por el editor de HTML. Lento, pero conveniente y fácil de usar.
    • popup: Agrega un ícono que abre una ventana emergente con el editor de HTML. Es más rápido, pero el código html se despliega en la forma.
    • none: Sin editor de HTML

Idioma y Hora

  • $defaultlang: Esto debe ser idioma por defecto usado en los scripts de administración, así como el idioma por defecto en las encuestas públicas. Puedes cambiar esta opción para cada una de las encuestas desde los scripts de administración. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $timeadjust: Si tu servidor web está en un huso horario diferente del lugar donde se basarán tus encuestas, pon la diferencia entre los dos aquí. Por ejemplo, yo vivo en Australia, pero uso un servidor en los Estados Unidos. El servidor web está 14 horas detrás de mi huso horario. Por lo tanto, está ajustado a "14!. En otras palabras, le agrega 14 horas a la hora del servidor web. Esta opción es particularmente importante si la encuesta guarda la hora de la respuesta. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $modrewrite: Si es 1, activa la función de URL elegante. (Ejemplo: http://survey.example.com/123456/lang-fr/tk-sdlfkjozeiru en vez de http://survey.example.com/index.php?sid=123456⟨=fr&token;=sdlfkjozeiru). Antes de activar esto, debes renombrar el archivo "htaccess.txt" a ".htaccess". Necesitas ejecutar un servidor web Apache con el módulo mod_rewrite correctamente instalado.

Comportamiento de la Encuesta

  • $allowmandbackwards: Un valor de 1 para esta variable le permitirá a los participantes de la encuesta moverse a una pregunta anterior, aún si no han contestado una pregunta obligatoria. Si es 0, los participantes deberán contestar la pregunta antes de poder volver a una anterior.
  • $deletenonvalues: Esta es una opción un poco difícil de explicar. Si es 0, si una pregunta (digámosle pregunta "b") sólo se muestra bajo una condición (es decir, basada en la respuesta de una pregunta anterior - digámosle "a"), y el usuario contesta la pregunta "b" pero se regresa y cambia la respuesta de la pregunta "a" de tal modo que la pregunta "b" ya no aparece, la encuesta recordará y guardará la respuesta de la pregunta que ya no se desplegó (la pregunta "b"). Usualmente prefiero que este sea el caso, teniendo en cuenta que puede ser interesante saber esta información de todos modos. Pero, si prefieres que el script sea consistente y se rehuse a guardar información que no aplica, puedes cambiar el valor a 1, y el script no guardará esta información redundante.
  • $shownoanswer: Cuando una pregunta del tipo de selección o botón de opción que tiene respuestas editables (por ejemplo listas o arreglos) no es obligatoria y $shownoanswer vale 1, se muestra la opción "N/A", para permitirle a los participantes no contestar la pregunta. Algunas personas prefieren que no suceda esto. Ajusta ésta opción a 0 para deshabilitarlo. (a partir de la versión 1.87 esta configuración se puede anular en el diálogo de Configuraciones globales)
  • $printanswershonorsconditions: Esta opción determina si la función printaswers mostrará entradas de preguntas que se escondieron por ramificación condicional. Por defecto es 1, que significa esconder éstas preguntas.
  • $hide_groupdescr_allinone: Esta opcion es relevante las encuestas todo en uno que usan condiciones, y se introdujo en LimeSurvey 1.85RC3. Cuando es true, el nombre del grupo y la descripción se esconden si todas las preguntas del grupo están escondidas. Por defecto es true.
  • $showpopups:  Muestra ventanas emergentes si no se han contestado preguntas obligatorias o condicionales correctamente. 1=Mostrar ventanas emergentes (por defecto), 0=Mostrar el error en la página.

Numerical question type behavior

  • bFixNumAuto: Numeric fields can be automatically filtered to remove all non numeric values. By default this is enable, you can disable it globally. This settings is related to Fix automatically numeric value in core theme options. It was enable for Yes, disable for Only for expression and No.
  • bNumRealValue: Numeric fields used in expression manager can be fixed or not. It's fixed by default. If NUMERIC is a numerical question : disable or 0 : {NUMERIC} with bad caracters send '', enable or 1 : {NUMERIC} send all character entered. This settings is related to Fix automatically numeric value in core theme options. It was enable for Yes and Only for expression and disable for No.

Desarrollo

  • $debug: Con esta opción puedes ajustar el reporte de errores de PHP a E_ALL. Esto significa que cada pequeño aviso, alerta o error del script se mostrará. Esta opción sólo debe ser 1 si estás intentando depurar la aplicación por alguna razón, si eres un desarrollador, debe ser 2. No lo cambies a 1 ni a 2 en la producción, ya que tal vez pueda causar la revelación de rutas. (Por defecto es 0)

In the case in which you experience an error in the application, we strongly recommend to activate the debug setting in order to get a more detailed error that you can submit with the bug report:

    'config'=>array(
        'debug'=>2,
        'debugsql'=>0,
    )

If you work on plugin and need a quick way to dump variables on screen : you can use traceVar function. If debug is set : this function use CWebLogRoute to be shown on HTML page. Usage traceVar($MyVariable)

Opciones de correo electrónico

Nota: A partir de la versión 1.87 estas configuraciónes se pueden anular en el diálogo de Configuraciones globales

  • $emailmethod:  Determina cómo se mandan los correos electrónicos. Las siguientes opciones están disponibles:
    • mail: usar el mensajero interno de PHP
    • sendmail: usar el mensajero de sendmail
    • smtp: usar relevo de SMTP. Usa esta opción cuando estás ejecutando LimeSurvey en un host que no es el servidor de correo.
  • $emailsmtphost: Si usas 'smtp' como $emailmethod debes poner tu servidor SMTP aquí. Si usas Google mail, tal vez necesites agregar el número de puerto así $emailsmtphost = 'smtp.gmail.com:465';
  • $emailsmtpuser: Si tu servidor SMTP necesita autenticación, esto debe ser el usuario. De lo contrario, debe estar vacío.
  • $emailsmtppassword: Si tu servidor SMTP necesita autenticación, esto debe ser la contraseña. De lo contrario, debe estar vacío.
  • $emailsmtpssl: Ajusta esto a  'ssl' o 'tls' para usar SSL/TLS en la conexión SMTP
  • $maxemails: Cuando se mandan invitaciones o recordatorios a los participantes de las encuestas, esta opción se usa para determinar cuántos correos se pueden enviar en conjunto. Algunos servidores web tienen diferentes capacidades de correo, y si a tu script le toma mucho tiempo enviar los correos, puede tener errores. La mayoría de los servidores web pueden enviar hasta 100 correos a la vez en el tiempo límite de 30 segundos de un script de PHP. Si tienes errores de tiempo de script, reduce este número. El botón de 'send email invitation' en la barra de herramientas de fichas, (no el botón de cada ficha), envía maxemails invitaciones, y muestra la lista de las direcciones a donde se mandaron, y un aviso que dice "Hay más correos pendientes que se pueden mandar en conjunto. Continúa mandando correos haciendo click debajo. Hay ### emails por enviarse." y muestra un "botón de continuar" para proceder con el siguiente conjunto. No es necesario esperar con esta ventana abierta, El administrador puede cerrarla y volver después para mandar el siguiente conjunto de invitaciones.

Estadísticas y Respuesta de Navegación

  • $usejpgraph: (< 1.8) La biblioteca JPGraph te permite mostrar los resultados de tu encuesta en la parte de estadísticas de LimeSurvey como gráficas circulares o de barras. Si tienes una clase jpgraph correctamente configurada en tu servidor web, puedes encender o apagar esta función (1=encendido, 0=apagado). Por favor dale un vistazo, ¡toda versión de PHP necesita otra versión de JPGraph! Esta función está en desarrollo, así que puedes esperar algunos resultados extraños.
  • $jpgraphdir: (< 1.8) La localización física de los scripts de clases de jpgraph. Esta opción sólo se necesita si $usejpgraph es igual a 1.
  • $jpgraphfont: (< 1.8) La fuente que se usará en las gráficas. Una opción a prueba de fallas es "FF_FONT1"
  • $embedded: Si quieres integrar LimeSurvey a otra página, puedes apagar el envío de encabezados de HTML usando esta opción, y mostrándole el método de encabezado de una función personalizada. Es una solución rápida aunque poco estable, pero funciona bien para integraciones rápidas.
  • $filterout_incomplete_answers: Controla el comportamiento predeterminado de filtrar respuestas incompletas al navegar o analizar las respuestas. Para una discusión acerca de respuestas incompletas, véase Browsing survey results. Ya que estos datos pueden sesgar las estadísticas, usualmente hay una opción para encender y apagar este filtro en las interfaces gráficas. Éste parámetro es sólo el estado por defecto del filtro de respuestas incompletas. Las siguientes opciones están disponibles:
    • show: Muestra todas las respuestas
    • filter: Muestra sólo las respuestas completas
    • incomplete: Muestra sólo las respuestas incompletas
  • $stripQueryFromRefurl: Esta opción determina si el URL referidor guarda el parámetro o no. El valor por defecto es "false" (en este caso, el URL referidor guarda todo el parámetro). Por otra parte, puede ser "true", y la parte de los parámetros del URL referidor será removida.
  • $showaggregateddata: (>=1.8) Cuando está activada, hay valores adicionales, como la media aritmética y la desviación estándar en las estadísticas. Se juntan datos para dar un resumen más rápido, por ejemplo, los resultados de la escala 1+2 y 4+5 se juntan para tener una calificación general como "bueno" (1/2), "regular" (3) y "malo" (4/5). Esto sólo afecta a los tipos de pregunta "A" (arreglo de 5 puntos) y "5" (elección de 5 puntos).
  • PDF Export Settings: (>1.85) Esta función activa la exportación a PDF de la encuesta, y la impresión de respuestas. Es completamente experimental. Los resultados pueden ser completamente horrorosos. En este punto no se puede dar soporte - si quieres ayudar a arreglarlo, por favor comunícate con nosotros.
    • $usepdfexport: 0 para deshabilitar; 1 para habilitar
    • $pdfdefaultfont: Fuente por defecto para la exportación a PDF
    • $pdffontsize: Tamaño de letra para texto normal; Surveytitle is +4; grouptitle is +2
    • $notsupportlanguages = array('zh-Hant-TW','zh-Hant-HK','zh-Hans','ja','th');
    • $pdforientation: L es Formato panorámico y P es Formato de Portaretrato.
  • $showsgqacode: (>1.91) Esta opción se usa en la función de impresión de encuesta {IMG(attId="78",height="16",width="16")} y es false por defecto. Si la ajustas a $showsgqacode = true; los IDs de cada pregunta - y respuesta, si aplican - serán mostrados; estos IDs concuerdan con el encabezado de columna en la tabla Lime_survey_12345, que contiene los datos de las respuestas de una encuesta dada. Estos IDs se pueden usar para un libro de códigos para hacer consultas manuales a la base de datos.
  • {IMG(attId="79",height="200",width="400")}

LDAP settings

Ya que es un tema bastante largo, movimos LDAP settings a otra página.

Autenticación

Starting with LimeSurvey 2.05, authentication will be handled by plugins. As a result, the information below might be outdated. See the plugins wiki for most up to date information.

Delegar Autenticación al servidor web

A los administradores de sistema les puede interesar que sus administradores de encuesta sean autenticados usando un sistema de autenticación central (Active Directory, openLdap, Radius, ...) en vez de usar la base de datos interna de LimeSurvey. Una manera fácil de hacer esto es configurar tu servidor web para que use este sistema de autenticación externa, y después decirle a LimeSurvey que confíe en la identidad suplida por el servidor web. Para activar esta función necesitas:

  • ajustar $useWebserverAuth a true en config.php
  • habilitar la autenticación del 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.

Un usuario tiene acceso a LimeSurvey si y sólo si:

  • ya fue autenticado por el servidor web
  • su nombre de usuario está definido la base de datos de LimeSurvey (se le han otorgado los privilegios definidos en la base de datos de LimeSurvey)

Delegación de Autenticación con importación automática de usuario

Cuando se administra una base de datos muy grande, es más fácil auto-importar los usuarios a la base de datos de LimeSurvey.

  • $WebserverAuth_autocreateUser: si es true, LimeSurvey intentará auto-importar a los usuarios autenticados por el servidor web pero que no estén en su base de datos.
  • $WebserverAuth_autouserprofile: un arreglo describiendo el perfil por defecto que se le asignará al usuario (incluyendo nombre y apellidos falsos, correo electrónico y privilegios)

Si quieres personalizar el perfil del usuario para que se acople al usuario, deberás desarrollar una función simple llamada hook_get_autouserprofile: con esta función puedes conseguir de la base de datos central (por ejemplo, un directorio LDAP), los nombres, apellidos y correo electrónico del usuario. Incluso puedes personalizar sus privilegios del sistema basado en su grupo y la base de datos externa.

La función hook_get_autouserprofile toma el nombre de usuario como su único argumento, y puede regresar:

  • False o un arreglo vacío: en este caso, al usuario se le deniega el acceso a LimeSurvey.
  • un arreglo que contiene todas las entradas comunes del perfil del usuario, definidas en $WebserverAuth_autouserprofile
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
     ... from groups defined in your backend set $user_admin_status_frombackend_0_or_1
     return Array(
                     'full_name' => "$user_name_from_backend",
                     'email' => "$user_email_from_backend",
                     'lang' => '$user_lang_from_backend',
                     'htmleditormode' => 'inline',
                     'templatelist' => 'default,basic,MyOrgTemplate',
                     'create_survey' => 1,
                     'create_user' => 0,
                     'delete_user' => 0,
                     'superadmin' => $user_admin_status_frombackend_0_or_1,
                     'configurator' =>0,
                     'manage_template' => 0,
                     'manage_label' => 0);
}

     // If user should be denied access, return an empty array

     // return Array();
  The optionnal 'hook_get_auth_webserver_profile' function is for advanced user usage only! For further details, please read the comments from the config-defaults.php file.


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

Desde la versión 1.81, el usuario puede llamar la autenticación de limesurvey en /limesurvey/admin y pasar un nombre de usuario y contraseña de un sólo uso que se escribió con anterioridad en la tabla de usuarios (en la columna one_time_pw) por una aplicación externa.

Esta configuración debe encenderse ($use_one_time_passwords = true;) para permitir el uso de contraseñas de un sólo uso. (por defecto = apagado/false). Hay más información en "Manejo de Usuarios".

More information can be found in the "Manage Users" section.


Encryption settings (New in 4.0.0 )

  Attention : Once set, encryption keys should never be changed, otherwise all encrypted data could be lost !


When update or install, this parameters was generated by LimeSurvey and set in application/config/security.php file. You can move this settings in config.php if you want or leave in security.php.

See data encryption for detail on this feature.

  • encryptionkeypair
  • encryptionpublickey
  • encryptionsecretkey

Advanced url settings

  • publicurl: This should be set to the URL location of your 'public scripts'. The public scripts are those located in the "limesurvey" folder (or whatever name you gave to the directory that all the other scripts and directories are kept in). This settings is available in config.php and it is used when LimeSurvey need an absolute url (for example when token emails are sent).
  • homeurl: This should be set to the URL location of your administration scripts. These are located in the /limesurvey/admin folder. This should be set to the WEB URL location - for example, http://www.example.com/limesurvey/html/admin. Don't add a trailing slash to this entry. The default setting in config.php attempts to detect the name of your server automatically using a php variable setting - {$_SERVER['SERVER_NAME']}. In most cases, you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.
  • tempurl: This should be set to the URL location of your "/limesurvey/tmp" directory - or to a directory in which you would like LimeSurvey to use to serve temporary files.
  • uploadurl: This should be set to the URL location of your "/limesurvey/upload" directory - or to a directory in which you would like LimeSurvey to use to serve uploaded files. This allow you to set uploaded files on another url domain.

Configuraciones avanzadas de rutas

  • homedir: This should be set to the physical disk location of your administration scripts - for example "/home/usr/htdocs/limesurvey/admin". Don't add a trailing slash to this entry. The default setting in config.php attempts to detect the default root path of all your documents using the php variable setting {$_SERVER['DOCUMENT_ROOT']}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.
  • publicdir: This should be set to the physical disk location of your 'public scripts'.
  • tempdir: This should be set to the physical disk location of your /limesurvey/tmp directory so that the script can read and write files.
  • uploaddir: This should be set to the physical disk location of your /limesurvey/upload directory so that the script can read and write files.
  • sCKEditorURL: url of the fckeditor script.
  • fckeditexpandtoolbar: defines if the fckeditor toolbar should be opened by default.
  • pdfexportdir: This is the directory with the tcpdf.php extensiontcpdf.php.
  • pdffonts: This is the directory for the TCPDF fonts.

Other advanced settings

Upload files

  • allowedthemeuploads: File types allowed to be uploaded in theme editor
  • allowedresourcesuploads: File types allowed to be uploaded in the resources sections, and with the HTML Editor
  • allowedfileuploads (New in 4.0.0 ) Global restriction on file type to be uploaded
  • magic_database: (New in 3.17.17 ) Allow to use a different MIME database for finfo_open. Can be updated only in config.php file. Example : /usr/share/misc/magic.mgc for redhat based linux.
  • magic_file: (New in 3.17.17 ) Allow to use a different file to get the array of extension by mime type than the included one. Must be a PHP file return an array. Can be updated only in config.php file.

Update

  • updatable: This setting is in version.php. Can be true or false. If you set to true : when an super admin user log in : LimeSurvey checks if an update is available and show you a warning. If set to false : no check is done and you can't use ComfortUpdate.