x

Capítulos principais

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Guia de início rápido - LimeSurvey 3.0+
  3. Instalação - LimeSurvey CE
  4. Como criar um bom inquérito (guia)
  5. Iniciando
  6. Administrando o LimeSurvey
  7. Questionários - introdução
  8. Configurações do questionário
  9. Menu da pesquisa
  10. Estrutura da pesquisa
  11. Perguntas - introdução
  12. Grupos de perguntas - introdução
  13. Questionários - gerenciamento
  14. Opções da barra de ferramentas do questionário
  15. Questionário multilíngue
  16. ExpressionScript Engine - Guia de início rápido
  17. Recursos avançados e não categorizados
  18. FAQ geral
  19. Solução de problemas
  20. Soluções alternativas
  21. Licença
  22. Registro de mudanças da versão
  23. Plugins
 Actions

Configurações opcionais

From LimeSurvey Manual

Esta página pode ter sido traduzida automaticamente e conter erros. Ver o original em inglês · Melhorar esta tradução
This page is a translated version of the page Optional settings and the translation is 100% complete.

A seção a seguir é destinada àqueles que desejam editar configurações que não podem ser modificadas por meio da GUI (Interface Gráfica do Usuário) da instalação do LimeSurvey. Lembre-se de que todas as alterações feitas no diretório raiz do LimeSurvey são de sua inteira responsabilidade. Mesmo assim, caso você tenha problemas ou precise de mais orientações, participe dos fóruns de discussão para obter ajuda da comunidade LimeSurvey.

Introdução

Para modificar as configurações da instalação, você precisa editar as configurações opcionais. Elas se encontram no arquivo /application/config/config-defaults.php, localizado no diretório raiz do LimeSurvey. As configurações padrão da instalação padrão estão em config-defaults.php. Algumas delas podem ser substituídas por meio da caixa de diálogo de Definições globais, enquanto as demais precisam ser editadas manualmente.

  Se você quiser alterar essas configurações, não as altere em config-defaults.php. Em vez disso, copie a configuração/linha desejada para /application/config/config.php dentro de 'config'=>array( ) e altere-a ali. Todas as configurações modificadas/introduzidas no arquivo config.php substituirão os valores padrão de config-defaults.php.


Quando ocorre uma atualização, somente as configurações de config-defaults.php são alteradas. Portanto, editar o arquivo config.php preserva as suas configurações personalizadas.

Para atualizar/adicionar as configurações do LimeSurvey em /application/config/config.php, você precisa atualizar o array config:

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
    )

Configurações do Yii

O LimeSurvey usa o framework Yii, que possui seus próprios parâmetros de configuração nos arquivos application/config/internal.php e application/config/config.php. Você também pode acessar algumas configurações específicas do LimeSurvey por meio da configuração do Yii.

Como o array de config.php é mesclado à configuração completa, você pode substituir qualquer parâmetro do Yii no arquivo config.php.

As configurações específicas do Yii são definidas no array components:

    'components' => array(
        'db' => array(
            ....
        ),
        'Specific settings'=>array(
            ....
        ),
    ),
Para obter mais informações sobre o framework Yii, acesse o seguinte link.

Configurações de banco de dados

As configurações de banco de dados são gravadas em config.php pelo instalador quando você instala o LimeSurvey pela primeira vez. Se necessário, você pode atualizar essa parte do arquivo config.php. Lembre-se de que você faz isso por sua conta e risco! Consulte também a documentação do Yii e lembre-se de que o LimeSurvey oferece suporte apenas aos seguintes tipos de banco de dados: mysql, pgsql, dblib, mssql e sqlsrv.

Configurações de sessão

Você pode definir alguns parâmetros de sessão em config.php (veja os dois exemplos abaixo). Você pode descomentar/adicionar a parte necessária em config.php. Consulte a documentação do Yii para outras configurações.

  Se você precisar atualizar as configurações de sessão para executar várias instâncias do LimeSurvey no mesmo servidor, verifique se não é necessário atualizar as configurações de requisição do cookie CSRF.


Usar sessões baseadas em tabela

O LimeSurvey pode usar sessões baseadas em tabela; você encontra uma parte comentada no arquivo config.php gerado por padrão. Para usar sessões baseadas em tabela, remova o // no início de cada linha.

        'session' => array (
            'class' => 'application.core.web.DbHttpSession',
            'connectionID' => 'db',
            'sessionTableName' => '{{sessions}}',
        ),
  As sessões baseadas em tabela não são atualmente suportadas no servidor MSSQL.


Outras atualizações de sessão

Se você usa SSL ('https') na sua instalação do LimeSurvey, adicionar as linhas a seguir ao seu config.php aumentará a segurança da sessão:

        // Set the cookie via SSL
        'session' => array (
            'cookieParams' => array(
                    'secure' => true, // use SSL for cookies
                    'httponly' => true // Cookies may not be used by other protocols - experimental
                ),
            ),

Se você quiser fixar o domínio de um cookie, use a seguinte sintaxe em config.php:

        // Set the domain for cookie
        'session' => array (
            'cookieParams' => array(
                    'domain' => '.example.org',
                ),
            ),

Se você tem várias instalações no mesmo servidor, pode ser mais rápido e fácil definir um nome de sessão diferente para cada instância do LimeSurvey. Isso pode ser necessário para o IE11 em algumas condições (veja o issue 12083)

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

Configurações de requisição

As configurações de requisição são importantes, mas as configurações padrão já estão otimizadas para o uso do LimeSurvey. Para saber mais sobre elas, consulte a documentação do Yii.

Por exemplo, a configuração de requisição do LimeSurvey pode ser modificada da seguinte forma (por sua conta e risco):

        // 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, path is used if you have different instance on same domain
        'request' => array(
            'csrfCookie' => array( 
                'domain' => '.example.com',
                'path' => '/limesurvey/',
            )
        ),

Se você precisar atualizar apenas a URL dos e-mails com código, defina a publicurl no seu arquivo config.php.


Permitir o uso de sessão e validação CSRF em iFrame

Ativar Incorporação de iframes permitida nas configurações globais de segurança apenas permite que os navegadores exibam seus inquéritos em um iframe. Para que os participantes consigam preencher e enviar um inquérito dentro de um iframe, você também precisa alterar as configurações dos cookies de sessão e CSRF em config.php, conforme descrito abaixo. Ambos os cookies devem ser enviados com SameSite=None, o que os navegadores só aceitam por meio de uma conexão HTTPS válida.

  Mesmo com todas essas configurações, os questionários em um iframe ainda podem falhar em alguns navegadores ou com algumas configurações de navegador, por exemplo, no modo de navegação privada ou quando cookies de terceiros estão bloqueados. Estas configurações foram testadas com Firefox 81.0.2 a 115, Chromium 85.0.4183.121 a 119 e Edge 119 com suas configurações padrão. O LimeSurvey não oferece suporte para esta configuração; apenas o suporte da comunidade está disponível.


Permitir o início da sessão em iframe

O cookie de sessão deve ser seguro (requer uma conexão HTTPS válida) e httponly, e samesite deve ser definido como None. As chaves em cookieParams devem ser escritas todas em minúsculas.

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

Permitir o cookie CSRF em iframe

Assim como o cookie de sessão, o cookie CSRF deve ser seguro, e sameSite deve ser definido como None. Observe que aqui a chave é escrita sameSite. Adicione o array request completo no mesmo nível de session.

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

Configurações de URL

  Se você precisa atualizar apenas a URL para e-mails com códigos e outros e-mails, defina sua publicurl no arquivo config.php.


Para alterar as configurações de URL padrão, atualize o urlManager:

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


Você também pode adicionar .html após o ID do questionário da seguinte forma:

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

Para mais informações, consulte a documentação do Yii.

Configurações de registro (log)

O Yii oferece diferentes soluções para gerar logs. Para saber mais sobre elas, consulte o tópico especial sobre registro. O LimeSurvey usa '1' ou '2' por padrão, o que permite que qualquer usuário da web veja os logs. Você pode criar suas próprias configurações usando o Yii diretamente.

Por exemplo, uma solução rápida para registrar erros e avisos em arquivos é:

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: O arquivo é salvo por padrão em limesurvey/tmp/runtime/application.log, que está localizado na pasta raiz do LimeSurvey.
  O Yii usa o caminho de runtime. Por padrão, os logs são acessíveis pela web. Eles podem conter muitas informações do seu servidor. É melhor usar um diretório que não possa ser acessado pela web. Você pode defini-lo nas rotas ou atualizando o caminho de runtime.

.

Caminho de runtime

O caminho de runtime deve ser um diretório com permissão de leitura e escrita para o “usuário da web”. No entanto, o caminho de runtime contém arquivos com informações potencialmente sensíveis para a segurança, que ficam na área de acesso público da web. O LimeSurvey reúne esses arquivos no diretório temporário do diretório raiz do LimeSurvey. Para eliminar o acesso a esses dados importantes, você pode definir o caminho de runtime fora do acesso público da web, editando as respectivas linhas no arquivo /application/config/config.php:

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

Configurações gerais

  • sitename: Dá um nome ao seu site de questionários. Esse nome aparecerá na visão geral da lista de questionários e no cabeçalho da administração. O valor padrão é 'LimeSurvey' e pode ser substituído na caixa de diálogo de definições globais ou editado no config.php.
  • siteadminemail: Este é o e-mail padrão do administrador do site e é usado para mensagens do sistema e opções de contato. Esta configuração é usada apenas como valor padrão e pode ser substituída na caixa de diálogo de definições globais.
  • showEmailInError: Usa o e-mail padrão do administrador do site (siteadminemail) para o link mailto na página de erro. Desative para mostrar apenas o nome do administrador. Por padrão, evita mais spam no e-mail de administração.
  • siteadminbounce: Este é o e-mail para o qual os e-mails devolvidos (bounce) serão enviados. Esta configuração é usada apenas como valor padrão e pode ser substituída pela caixa de diálogo de definições globais.
  • siteadminname: O nome real do administrador do site. Esta configuração é usada apenas como valor padrão e pode ser substituída na caixa de diálogo de definições globais.
  • proxy_host_name: Este é o nome do host do seu servidor proxy (deve ser informado se você estiver atrás de um proxy e quiser atualizar o LimeSurvey usando o ComfortUpdate).
  • proxy_host_port: Esta é a porta do seu servidor proxy (deve ser informada se você estiver atrás de um proxy e quiser atualizar o LimeSurvey usando o ComfortUpdate).

Segurança

  • maxLoginAttempt: Este é o número de tentativas que um usuário tem para digitar a senha correta antes de ter o seu endereço IP bloqueado. O valor padrão é 3 e pode ser modificado no config.php.
  • timeOutTime: Se o usuário digitar a senha incorretamente <maxLoginAttempt> vezes, ele fica bloqueado por <timeOutTime> segundos. O valor padrão é 10 minutos e pode ser modificado no config.php.
  • maxLoginAttemptParticipants: Este é o número de tentativas que um participante tem para digitar um código válido antes de ter o seu endereço IP bloqueado. O valor padrão é 3 e pode ser modificado no config.php.
  • timeOutParticipants: Se o participante digitar o código incorretamente <maxLoginAttemptParticipants> vezes, ele fica bloqueado por <timeOutParticipants> segundos. O valor padrão é 10 minutos e pode ser modificado no config.php.
  • surveyPreview_require_Auth: Definido como true por padrão. Se você definir como 'false', qualquer pessoa poderá testar seu questionário usando a URL da pesquisa, sem fazer login no painel de administração e sem precisar ativar o questionário antes. Esta configuração é um valor padrão e pode ser substituída na caixa de diálogo de definições globais ou editada no config.php.
  • usercontrolSameGroupPolicy: Definido como true por padrão. Por padrão, usuários não administradores definidos na interface de gerenciamento do LimeSurvey só poderão ver os usuários que eles criaram ou usuários que pertençam a pelo menos um mesmo grupo. O valor padrão pode ser substituído na caixa de diálogo de definições globais ou editado no config.php.
  • demoMode: Se esta opção for definida como 'true' no config.php, o LimeSurvey entrará no modo de demonstração. O modo de demonstração altera as seguintes coisas:
    • Desativa a alteração dos detalhes e da senha do usuário administrador;
    • Desativa o carregamento de arquivos no editor de modelos;
    • Desativa o envio de convites e lembretes por e-mail;
    • Desativa a criação de um despejo (dump) do banco de dados;
    • Desativa a possibilidade de modificar as seguintes definições globais: nome do site, idioma padrão, modo de edição HTML padrão, filtro XSS.
  • forcedsuperadmin: Array de IDs de usuário com todos os direitos em todo o LimeSurvey. Esta configuração só pode ser atualizada no arquivo config.php. Os direitos deste usuário não podem ser editados nas permissões globais de um usuário, nem mesmo por outro superadministrador forçado. Por padrão, o usuário com esses direitos é o usuário com ID 1, o primeiro usuário criado logo após a instalação.
  • force_ssl: força o LimeSurvey a ser executado via HTTPS ou a bloquear o HTTPS. Consulte Forçar HTTPS na interface de definições globais.
  • ssl_emergency_override: Esta configuração força a desativação do SSL. Se você ativou HTTPS/SSL nas definições globais, mas seu servidor não tem HTTPS ativado, a única forma de desativá-lo é alterando um valor diretamente no banco de dados. Isto permite forçar o HTTPS como desativado enquanto você altera as definições globais de Forçar HTTPS. Deve ser sempre false, exceto em emergências em que você a altera para true até resolver o problema. Esta configuração só pode ser definida pelo arquivo config.php.
  • ssl_disable_alert: Desativa o alerta ao superadministrador sobre SSL não forçado, se você realmente não pode ou não quer forçar o SSL. Esta configuração só pode ser definida pelo arquivo config.php.
  • allow_unserialize_attributedescriptions: Permite desserializar (com a função unserialize do PHP) os atributos de códigos ao importar ou ler um objeto de questionário. Os dados dos atributos de códigos são salvos como JSON. Se você importar um arquivo de questionário de uma versão muito antiga do LimeSurvey e precisar obter seus atributos de códigos, deve ativar esta configuração. Aviso: a desserialização pode resultar no carregamento e na execução de código devido à instanciação de objetos e ao carregamento automático, e um usuário mal-intencionado pode ser capaz de explorar isso. Esta configuração só pode ser definida pelo arquivo config.php.
  • allow_unserialize_attachments: Permite desserializar (com a função unserialize do PHP) os atributos de anexos ao importar um questionário. No LimeSurvey 6.16.17, o atributo de anexos passou de serialize para json_encode. Se você precisa manter os anexos ao importar arquivos LSS antigos, deve permitir isso. Aviso: a desserialização pode resultar no carregamento e na execução de código devido à instanciação de objetos e ao carregamento automático, e um usuário mal-intencionado pode ser capaz de explorar isso. Esta configuração só pode ser definida pelo arquivo config.php.
  • twig_getConfig_extraallowlist: Permite liberar elementos específicos para a função getConfig no Twig. O LimeSurvey já permite as configurações mais necessárias e usadas, mas você pode precisar de mais. Se quiser permitir 'securesetting' e 'anothersetting', defina como ['securesetting','anothersetting'], assim: 'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Esta configuração só pode ser definida pelo arquivo config.php.

Proteção contra cross-site scripting (XSS)

O LimeSurvey não permite nenhum script de usuário na página de administração. Se você encontrar uma forma de qualquer usuário adicionar um script XSS na página de administração, consulte nossa Política de Segurança.

Os scripts das páginas públicas são gerenciados pelas configurações do filtro XSS.

  • filterxsshtml: Esta configuração ativa a filtragem de tags HTML suspeitas presentes nos textos de questionários, grupos, perguntas e respostas na interface de administração. Deixe como 'false' somente se você confiar totalmente nos usuários criados para a administração do LimeSurvey e se quiser permitir que esses usuários utilizem Javascript, filmes Flash etc. O HTML dos superadministradores nunca é filtrado. O valor padrão pode ser substituído na caixa de diálogo de Definições globais.
  • filterxsshtml_forcedall: Força filterxsshtml como true para todos os usuários e desativa as alterações na interface de administração. Ativa a filtragem de tags HTML suspeitas também para o superadministrador.
  • filterxsshtml_allowforcedsuperadmin: Usado somente se filterxsshtml_forcedall for true. Permite adicionar qualquer script e HTML pelo forcedsuperadmin (por padrão, o usuário administrador nº 1).
  • disablescriptwithxss: Permite a alteração de script em perguntas: por padrão, true: segue as regras de XSS; defina como false para permitir a todos os usuários. O valor padrão pode ser substituído na caixa de diálogo de Definições globais.
  • filterxsshtml_enablescript: Usado somente se filterxsshtml_forcedall for true. Ativa o script de pergunta para um usuário específico: gui: permite alterar a configuração pela interface gráfica; superadmin: somente o superadministrador; forcedsuperadmin: somente o superadministrador forçado; por padrão: nenhum usuário e não permite alteração pela interface gráfica

Envio de arquivos permitido

  • allowedthemeimageformats : Tipos de arquivo de imagem permitidos para envio na seção de temas. Por padrão, arquivos SVG são desativados devido a possíveis ataques XSS.
  • allowedthemeuploads : Outros tipos de arquivo permitidos para envio na seção de temas (arquivo zip)
  • allowedresourcesuploads : Tipos de arquivo permitidos para envio nas seções de recursos e com o editor HTML
  • allowedpluginuploads : Tipo de arquivo permitido ao enviar o arquivo zip de um plugin.

Basta informar uma sequência de extensões separadas por vírgula. Por exemplo:

'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',

Aviso: Tenha sempre cuidado ao permitir o envio de arquivos. Atividades maliciosas podem ocorrer.

Plugins

  • usePluginWhitelist : Se true, os plugins que não estiverem na lista de permissões (veja 'pluginWhitelist') não poderão ser instalados nem carregados. Isso pode desativar plugins já instalados.
  • pluginWhitelist : Lista de nomes de plugins com permissão para serem instalados e carregados quando 'usePluginWhitelist' for true. Os plugins principais estão implicitamente na lista de permissões.
  • corePluginBlacklist : Lista de nomes de plugins principais proibidos quando 'usePluginWhitelist' for true.
  • disablePluginUpload : Quando esta configuração é true, o recurso "Envio de plugin" fica desativado

Controle de hosts

  • allowedHosts : para evitar Host Header Injection, você pode definir o host permitido para todas as ações. Se você usa hosts diferentes para a página pública e para a página de administração, é necessário definir 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 o tempo, em segundos, após o qual uma sessão de questionário expira. Aplica-se somente se você usa sessões em banco de dados. Nesse caso, altere o parâmetro em config.php ou substitua o valor padrão na caixa de diálogo de Definições globais.
  • memory_limit: Determina quanta memória o LimeSurvey pode acessar, em megabytes. O valor padrão é '256'. Se você receber erros de tempo esgotado ou tiver problemas ao gerar estatísticas ou exportar arquivos, aumente este limite para '512' ou mais. Se o seu servidor web tiver definido um limite maior no php.ini, esta configuração será ignorada.
Lembre-se de que essas configurações locais sempre podem ser substituídas pelas alterações feitas na caixa de diálogo de Definições globais.

Para aumentar o limite de memória para 128M, você também pode tentar adicionar:

  • memory_limit = 128M ao arquivo php.ini principal do seu servidor (recomendado, se você tiver acesso)
  • memory_limit = 128M a um arquivo php.ini na raiz do LimeSurvey
  • php_value memory_limit 128M em um arquivo .htaccess na raiz do LimeSurvey
  • max_execution_time: Define o número de segundos que um script pode ser executado. Se esse tempo for atingido, o script retorna um erro fatal. Para permitir a exportação de grandes volumes de dados e estatísticas de questionários, o LimeSurvey tenta definir esse valor por padrão para 1200 segundos. Você pode definir um tempo maior ou menor, se necessário. Acessível somente pelo arquivo de configuração do PHP.

Aparência

  • repeatheadings: Com o tipo de pergunta Array, você frequentemente terá muitas subperguntas que, quando exibidas na tela, ocupam mais de uma página. Esta configuração permite decidir quantas subperguntas devem ser exibidas antes de repetir as informações de cabeçalho da pergunta. Um bom valor é em torno de 15. Se não quiser que os cabeçalhos se repitam, defina como 0. Esta configuração é substituída na caixa de diálogo de Definições globais.
  • minrepeatheadings: O número mínimo de subperguntas restantes necessário para repetir os cabeçalhos em perguntas do tipo Array. O valor padrão é 3 e pode ser alterado em config.php.
  • defaulttheme: Esta configuração especifica o tema padrão usado para a 'lista pública' de questionários. Pode ser substituída na caixa de diálogo de Definições globais ou alterada em config.php.
  • defaulthtmleditormode: Define o modo padrão do editor HTML integrado. Esta configuração pode ser substituída na caixa de diálogo de Definições globais ou alterada em config.php. As configurações válidas são:
    • 'inline' - Substituição direta dos campos por um editor HTML. Lento, mas conveniente e fácil de usar;
    • 'popup' - Adiciona um ícone que abre o editor HTML em um popup, se necessário. Mais rápido, mas o código HTML é exibido no formulário;
    • 'none'- Sem editor HTML;
  • column_style: Define como as colunas são renderizadas nas respostas do questionário ao usar display_columns. Pode ser alterado no arquivo config.php. As configurações válidas são:
    • 'css' - usa um dos vários métodos CSS para criar colunas (veja a folha de estilo do tema para mais detalhes);
    • 'ul' - as colunas são renderizadas como várias listas não ordenadas flutuantes (padrão);
    • 'table' - usa um layout convencional baseado em tabelas;
    • NULL - desativa o uso de colunas.

Idioma e hora

  • defaultlang: Deve ser definido como o idioma padrão a ser usado nos seus scripts de administração e também como a configuração padrão de idioma na lista pública de questionários. Esta configuração pode ser substituída na caixa de diálogo de Definições globais ou alterada em config.php.
  • timeadjust: Se o seu servidor web estiver em um fuso horário diferente do local onde seus questionários serão baseados, informe aqui a diferença entre o seu servidor e o seu fuso horário. Por exemplo, eu moro na Austrália, mas uso um servidor web dos EUA. O servidor web está 14 horas atrás do meu fuso horário local. Portanto, minha configuração aqui é "14". Em outras palavras, ele adiciona 14 horas ao horário do servidor web. Esta configuração é particularmente importante quando os questionários registram a data e hora das respostas. Pode ser substituída na caixa de diálogo de Definições globais ou alterada em config.php.

Comportamento do questionário

  • deletenonvalues: Use este recurso com cuidado. Por padrão (valor 1), as perguntas irrelevantes são definidas como NULL no banco de dados. Isso garante que os dados do banco sejam internamente consistentes. No entanto, há casos raros em que você pode querer manter os valores irrelevantes; nesse caso, defina o valor como 0. Por exemplo, você pergunta o gênero a um homem, e ele acidentalmente responde 'feminino' e depois responde a algumas perguntas específicas para mulheres (perguntas condicionadas a ser do gênero feminino, portanto relevantes apenas para mulheres). Depois, ele percebe o erro, volta, define o gênero como 'masculino' e continua o questionário. Agora, as perguntas específicas para mulheres são irrelevantes. Se $deletenonvalues==1, esses valores irrelevantes serão apagados (NULL) no banco de dados. Se $deletenonvalues==0, as respostas errôneas não serão excluídas e ainda estarão presentes no banco de dados quando você o analisar.
  • shownoanswer: Quando uma pergunta do tipo botão de opção/seleção que contém respostas editáveis (ou seja: perguntas de Lista e Array) não é obrigatória e 'shownoanswer' está definido como 1, uma entrada adicional 'Sem resposta' é exibida, para que os participantes possam optar por não responder à pergunta. Algumas pessoas preferem que isso não esteja disponível. Esta configuração pode ser substituída na caixa de diálogo de Definições globais ou alterada em config.php. Os valores válidos são:
    • '0': Não;
    • '1': Sim;
    • '2': O administrador do questionário pode escolher.
  • printanswershonorsconditions: Esta configuração determina se o recurso printanswers exibirá entradas de perguntas que foram ocultadas por ramificação de condições (Padrão: 1 = ocultar respostas de perguntas ocultas por condições).
  • showpopups: Exibe mensagens em popup se perguntas obrigatórias ou condicionais não foram respondidas corretamente:
    • '2' = definido pela opção do tema (padrão)
    • '1'= exibir mensagem em popup;
    • '0'= exibir a mensagem na página;
    • '-1'= não exibir a mensagem de forma alguma (nesse caso, os usuários ainda verão as dicas específicas das perguntas indicando quais devem ser respondidas).

Comportamento do tipo de pergunta numérica

  • bFixNumAuto: Os campos numéricos podem ser filtrados automaticamente para remover todos os valores não numéricos. Por padrão, isso está ativado, mas você pode desativá-lo globalmente. Esta configuração está relacionada a Corrigir automaticamente o valor numérico nas opções do tema central. Ela é ativada para Sim e desativada para Para expressão e Não.
  • bNumRealValue: Os campos numéricos usados no gerenciador de expressões podem ser corrigidos ou não. Por padrão, são corrigidos. Se NUMERIC for uma pergunta numérica: desativado ou 0: {NUMERIC} com caracteres inválidos retorna ''; ativado ou 1: {NUMERIC} retorna todos os caracteres digitados. Esta configuração está relacionada a Corrigir automaticamente o valor numérico nas opções do tema central. Ela é ativada para Sim e Para expressão e desativada para Não.

Desenvolvimento e depuração

  • debug: Com esta configuração, você define o relatório de erros do PHP como E_ALL. Isso significa que qualquer aviso, alerta ou erro relacionado ao script é exibido. Esta configuração só deve ser alterada para '1' se você estiver tentando depurar a aplicação por algum motivo. Se você é desenvolvedor, altere para '2'. Não use '1' ou '2' em produção, pois isso pode causar a divulgação de caminhos. O valor padrão é '0' e pode ser alterado em config.php.
  • debugsql: Ative esta configuração se quiser exibir, no final de cada página, todas as consultas SQL executadas pelo script. É muito útil para otimizar o número de consultas. Para ativá-la, altere o valor padrão para '1' no arquivo config.php.
  • use_asset_manager: Por padrão, o modo de depuração desativa o gerenciador de assets; você pode permitir o uso do gerenciador de assets com o modo de depuração ativado.

Caso você encontre um erro na aplicação, recomendamos fortemente ativar a configuração de depuração para obter um erro mais detalhado, que você poderá enviar junto com o relatório de bug:

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

Se você trabalha com plugins e precisa de uma forma rápida de exibir variáveis na tela, pode usar a função traceVar. Se o modo de depuração estiver ativado, essa função usa CWebLogRoute para exibir os dados na página HTML. Uso: traceVar($MyVariable)

Definições de e-mail

Todas as configurações abaixo podem ser substituídas na caixa de diálogo de definições globais.

  • 'emailmethod: Determina como as mensagens de e-mail são enviadas. As seguintes opções estão disponíveis:
    • 'mail:' usa o programa de envio de e-mails interno do PHP;
    • 'sendmail:' usa o programa de envio sendmail;
    • 'smtp:' usa retransmissão SMTP. Use esta configuração quando estiver executando o LimeSurvey em um host que não seja o seu servidor de e-mail.
  • 'emailsmtphost: Se você usar 'smtp' como $emailmethod, deverá informar aqui o seu servidor SMTP. Se estiver usando o Google Mail, talvez seja necessário adicionar o número da porta, como $emailsmtphost = 'smtp.gmail.com:465'.
  • emailsmtpuser: Se o seu servidor SMTP exigir autenticação, defina aqui o seu nome de usuário; caso contrário, deixe em branco.
  • emailsmtppassword: Se o seu servidor SMTP exigir autenticação, defina aqui a sua senha; caso contrário, deixe em branco.
  • emailsmtpssl: Defina como 'ssl' ou 'tls' para usar SSL/TLS na conexão SMTP.
  • maxemails: Ao enviar convites ou lembretes para os participantes do inquérito, esta configuração determina quantos e-mails podem ser enviados de uma só vez. Servidores web diferentes têm capacidades de envio diferentes e, se o seu script demorar demais para enviar um lote de e-mails, ele pode expirar e causar erros. A maioria dos servidores web consegue enviar 100 e-mails por vez dentro do limite de tempo padrão de 30 segundos para um script PHP. Se você receber erros de tempo limite do script ao enviar grandes quantidades de e-mails, reduza o número nesta configuração. Ao clicar no botão 'Enviar convite por e-mail' na barra de ferramentas de controle de códigos (não o botão situado à direita de cada código), são enviados <maxemails> convites; em seguida, é exibida uma lista dos endereços dos destinatários e um aviso de que há mais e-mails pendentes do que o que pôde ser enviado em um único lote. Continue o envio clicando abaixo. Ainda há ### e-mails a serem enviados., junto com um "botão continuar" para prosseguir com o próximo lote. Ou seja, o usuário decide quando enviar o próximo lote depois de cada lote enviado. Não é necessário manter esta tela ativa enquanto isso. O administrador pode sair e voltar mais tarde para enviar o próximo lote de convites.

Estatísticas e navegação pelas respostas

  • filterout_incomplete_answers: Controla o comportamento padrão da filtragem de respostas incompletas ao navegar ou analisar respostas. Para uma discussão sobre respostas incompletas, consulte o nosso wiki sobre navegação pelos resultados do inquérito. Como esses registros podem distorcer as estatísticas, é oferecida uma opção para ativar ou desativar esse filtro em vários formulários da interface. O parâmetro pode ser editado no config.php. As seguintes opções estão disponíveis:
    • 'all': Permite visualizar respostas completas e incompletas;
    • 'complete': Mostra apenas as respostas completas;
    • 'incomplete': Mostra apenas as respostas incompletas.
  • strip_query_from_referer_url: Esta configuração determina se a URL de referência guarda ou não os parâmetros. O valor padrão é 'false' (neste caso, a URL de referência guarda todos os parâmetros). Como alternativa, este valor pode ser definido como 'true', e a parte de parâmetros da URL de referência será removida.
  • showaggregateddata: quando ativada, são mostrados valores estatísticos adicionais, como a média aritmética e o desvio padrão. Além disso, os dados são agregados para fornecer uma visão geral mais rápida. Por exemplo, os resultados das escalas 1+2 e 4+5 são somados para obter uma classificação geral como "bom" (1/2), "médio" (3) e "ruim" (4/5). Isso afeta apenas os tipos de pergunta "A" (matriz de 5 pontos) e "5" (escolha de 5 pontos).
  • Configurações de exportação para PDF: Este recurso ativa a exportação para PDF de inquéritos que podem ser impressos e de Imprimir respostas. A função de exportação para PDF é totalmente experimental e o resultado está longe de ser perfeito. Infelizmente, não é possível oferecer suporte no momento - se quiser ajudar a corrigi-la, entre em contato conosco.
    • 'pdfdefaultfont': Representa a fonte padrão que será usada pela função de exportação para PDF. O valor padrão é 'auto'. Para alterá-lo, defina-o como uma das fontes principais de PDF.
    • 'alternatepdffontfile': É uma matriz com chaves de idioma e suas respectivas fontes. A fonte padrão de cada idioma pode ser substituída no arquivo config.php;
    • 'pdffontsize': indica o tamanho da fonte para textos normais; para o título do inquérito, é <pdffontsize>+4, enquanto para o título do grupo é <pdffontsize>+2. Pode ser editado no arquivo config.php ou na caixa de diálogo de definições globais.
  • Configuração de gráficos
    • 'chartfontfile': Define o nome do arquivo de fonte usado para criar os gráficos estatísticos. O arquivo deve estar localizado no diretório de fontes, dentro da pasta raiz do LimeSurvey. Pode ser editado no arquivo config.php;
    • 'alternatechartfontfile': É uma matriz com chaves de idioma e suas respectivas fontes. Pode ser editado no arquivo config.php.
  • showsgqacode: Esta configuração é usada no recurso de inquérito que pode ser impresso e tem como padrão 'false'. Se você definir showsgqacode = 'true';, os IDs de cada pergunta - e de cada resposta, se aplicável - serão mostrados. Esses IDs correspondem ao cabeçalho das colunas da tabela Lime_survey_12345, que contém os dados de resposta de um determinado inquérito. Esses IDs podem ser usados como um livro de códigos para consultas manuais ao banco de dados.

Configurações do LDAP

Como este é um tópico extenso, movemos as configurações do LDAP para outra página.

Autenticação

A autenticação é feita por plugins. As configurações abaixo são usadas pelo plugin de autenticação Webserver; consulte Plugins de autenticação.

Delegação da autenticação ao servidor web

Os administradores de sistema podem querer que os seus administradores de inquéritos sejam autenticados em um sistema central de autenticação (Active Directory, openLdap, Radius, ...) em vez de usar o banco de dados interno do LimeSurvey. Uma maneira fácil de fazer isso é configurar o software do servidor web para usar esse sistema externo de autenticação e, em seguida, pedir ao LimeSurvey que confie na identidade do usuário informada pelo servidor web. Para ativar este recurso, você deve:

  • ativar o plugin Webserver em Configuração > Plugins e definir, nas configurações do plugin, a chave do servidor que contém o nome de usuário (padrão: REMOTE_USER);
  • ativar a autenticação no lado do servidor web.

Observe que:

  • o LimeSurvey passará então por cima do seu próprio processo de autenticação (usando o nome de login informado pelo servidor web, sem pedir uma senha);
  • isso só pode substituir o sistema de autenticação da interface do LimeSurvey, não o sistema de convites do inquérito (interface do participante).

Delegação da autenticação sem importação automática de usuários

Observe que a delegação da autenticação não ignora o sistema de autorização do LimeSurvey por padrão - ou seja, mesmo que você não precise gerenciar senhas no LimeSurvey, ainda é necessário definir os usuários no banco de dados do LimeSurvey e atribuir a eles o conjunto correto de permissões para que possam acessar o painel de administração.

Um usuário recebe acesso ao LimeSurvey se, e somente se:

  • ele tiver sido autenticado no servidor web;
  • o seu nome de login estiver definido como um usuário no banco de dados de usuários do LimeSurvey (o usuário recebe então os privilégios do usuário definido nesse banco de dados);
  • ele tiver a permissão global Usar autenticação do servidor web.

Delegação da autenticação com importação automática de usuários

Ao gerenciar um banco de dados de usuários muito grande, às vezes é mais fácil importar automaticamente os usuários para o banco de dados do LimeSurvey:

  • auth_webserver_autocreate_user: Se definido como 'true', o LimeSurvey tentará importar automaticamente os usuários autenticados pelo servidor web, mas que ainda não estejam no seu banco de dados de usuários.
  • auth_webserver_autocreate_profile: Uma matriz que descreve o perfil padrão que será atribuído ao usuário: o nome completo (fictício), o e-mail e o idioma.
  • auth_webserver_autocreate_permissions: Uma matriz com as permissões globais que serão atribuídas ao usuário.

Se quiser personalizar o perfil do usuário para que corresponda ao usuário conectado, você precisará desenvolver uma função simples chamada hook_get_auth_webserver_profile no config.php - com essa função, você pode obter de um banco de dados central de contas de usuário (por exemplo, de um diretório LDAP) o nome completo, o e-mail e o idioma reais de um determinado usuário.

A função hook_get_auth_webserver_profile recebe o nome de login do usuário como único argumento e pode retornar:

  • False ou uma matriz vazia - neste caso, o acesso do usuário ao LimeSurvey é negado;
  • uma matriz contendo as mesmas 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();
  A função opcional 'hook_get_auth_webserver_profile' é destinada apenas ao uso por usuários avançados! Para mais detalhes, leia os comentários do arquivo config-defaults.php.


Mapeamento de nome de usuário

Caso alguns usuários tenham um nome de usuário externo diferente do nome de usuário no LimeSurvey, pode ser útil usar um mapeamento de nomes de usuário. No LimeSurvey, isso é feito com o parâmetro auth_webserver_user_map. Por exemplo, imagine que você não tenha um nome de usuário 'admin' definido no seu banco de dados de autenticação externo. Então, para fazer login no LimeSurvey como admin, você precisará mapear o seu nome de usuário externo (vamos chamá-lo de 'myname') para o nome de login admin no LimeSurvey. A configuração correspondente é:

'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)

Após uma autenticação bem-sucedida com o login 'myname' e a senha do servidor web, você será autorizado diretamente a usar o LimeSurvey como o usuário 'admin'.

Isso tem sérias implicações de segurança, portanto use com cuidado. Além disso, proteja o seu config.php contra gravação pelo servidor web.

Usar senhas descartáveis

Um usuário pode abrir a página de login do LimeSurvey em default.com/limesurvey/admin e digitar o nome de usuário e a senha descartável que foi previamente gravada na tabela de usuários (coluna one_time_pw) por um aplicativo externo.

Esta configuração deve ser ativada no arquivo config.php para permitir o uso de senhas descartáveis (padrão = false).

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'use_one_time_passwords'=>true,
    )

Mais informações podem ser encontradas na seção "Gerenciar usuários".


Configurações de criptografia

  Atenção : Depois de definidas, as chaves de criptografia nunca devem ser alteradas; caso contrário, todos os dados criptografados poderão ser perdidos!


Ao atualizar ou instalar, esses parâmetros são gerados pelo LimeSurvey e definidos no arquivo application/config/security.php. Você pode mover essas configurações para o config.php, se quiser, ou deixá-las no security.php.

Consulte criptografia de dados para mais detalhes sobre este recurso.

  • encryptionkeypair
  • encryptionpublickey
  • encryptionsecretkey
  • encryptionnonce
  • encryptionsecretboxkey

Configurações avançadas de URL

  • publicurl: Deve ser definido com a localização da URL dos seus 'scripts públicos'. Os scripts públicos são aqueles localizados na pasta "limesurvey" (ou o nome que você deu ao diretório onde todos os outros scripts e diretórios são mantidos). Esta configuração está disponível no config.php e é usada quando o LimeSurvey precisa de uma URL absoluta (por exemplo, quando os e-mails com código são enviados).
  • tempurl: Deve ser definido com a localização da URL do seu diretório "/limesurvey/tmp" - ou de um diretório que você queira que o LimeSurvey use para servir arquivos temporários.
  • uploadurl: Deve ser definido com a localização da URL do seu diretório "/limesurvey/upload" - ou de um diretório que você queira que o LimeSurvey use para servir arquivos carregados. Isso permite que você disponibilize os arquivos carregados em outro domínio de URL.

Configurações avançadas de caminho

  • homedir: Deve ser definido com a localização física em disco dos seus scripts de administração - por exemplo "/home/usr/htdocs/limesurvey/admin". Não adicione uma barra final a esta entrada. A configuração padrão no config.php tenta detectar o caminho raiz padrão de todos os seus documentos usando a variável do PHP {$_SERVER['DOCUMENT_ROOT']}. Na maioria dos casos, você pode deixá-la como está e modificar apenas o restante desta string para corresponder ao nome do diretório em que você colocou os scripts do LimeSurvey.
  • publicdir: Deve ser definido com a localização física em disco dos seus 'scripts públicos'.
  • tempdir: Deve ser definido com a localização física em disco do seu diretório /limesurvey/tmp, para que o script possa ler e gravar arquivos.
  • uploaddir: Deve ser definido com a localização física em disco do seu diretório /limesurvey/upload, para que o script possa ler e gravar arquivos.
  • sCKEditorURL: URL do script do CKEditor.

Outras configurações avançadas

Carregamento de arquivos

  • magic_database: Permite usar um banco de dados MIME diferente para finfo_open. Pode ser alterado somente no arquivo config.php. Exemplo: /usr/share/misc/magic.mgc para Linux baseado em Red Hat.
  • magic_file: Permite usar um arquivo diferente para obter a matriz de extensões por tipo MIME, em vez do arquivo incluído. Deve ser um arquivo PHP que retorne uma matriz. Pode ser alterado somente no arquivo config.php.

Atualização

  • updatable: Esta configuração está em version.php. Pode ser true ou false. Se definida como true, quando um superadministrador entrar, o LimeSurvey verifica se há uma atualização disponível e exibe um aviso. Se definida como false, nenhuma verificação é feita e você não poderá usar o ComfortUpdate.

Códigos

  • allowedcharacters_pattern_token : Estas configurações permitem definir o padrão de expressão regular usado ao filtrar os códigos.