x

Основные главы

  1. LimeSurvey Cloud и LimeSurvey CE: сравнение
  2. LimeSurvey Cloud - Краткое руководство по началу работы
  3. Установка - LimeSurvey CE
  4. Как разработать хороший опрос (руководство)
  5. Начиная
  6. Администрирование LimeSurvey
  7. Опросы - Вступление
  8. Настройки опроса
  9. Меню опроса
  10. Структура опроса
  11. Вопросы — введение
  12. Группы вопросов - введение
  13. Опросы - управление
  14. Параметры панели инструментов опроса
  15. Многоязычный опрос
  16. Движок ExpressionScript — краткое руководство
  17. Не классифицированы и расширенные функции
  18. ЧаВо
  19. Устранение неполадок
  20. Обходные пути
  21. Лицензия
  22. Журнал изменений версий
  23. Плагины
 Actions

ЧаВо

From LimeSurvey Manual

Эта страница, возможно, переведена машинным способом и может содержать ошибки. Показать английский оригинал · Улучшить этот перевод
This page is a translated version of the page General FAQ and the translation is 100% complete.
Следующие ответы были предоставлены сообществом пользователей LimeSurvey. Если вам что-то непонятно или вы не знаете, что делать дальше, задайте вопрос сообществу на нашем форуме: https://forums.limesurvey.org. Для получения профессиональной помощи ознакомьтесь со списком наших авторизованных партнёров: https://www.limesurvey.com.


Начало работы

Чтобы получить представление о возможностях LimeSurvey, не читая половину руководства, посмотрите наши видеоуроки на YouTube:


Если вы знаете хорошее видео, не стесняйтесь поделиться им с нами.


Где найти краткое введение в LimeSurvey?

Краткое письменное введение в LimeSurvey:


Дизайн опроса и макет

Как удалить index.php из URL, чтобы получить более короткие адреса?

Если вы хотите использовать более короткие URL (без /index.php в каждом адресе), отредактируйте файл application/config/config.php и в разделе urlManager измените

'showScriptName' => true,

на

'showScriptName' => false,

Чтобы это работало на Apache, должен быть включён mod_rewrite, а файл .htaccess, поставляемый с LimeSurvey, должен находиться в корневой папке LimeSurvey. Для nginx ознакомьтесь с нашим примером конфигурации nginx для LimeSurvey.


Как скрыть красную звёздочку у обязательных вопросов?

LimeSurvey показывает красную звёздочку в начале текста вопроса у обязательных вопросов. В LimeSurvey 7.x рядом с ней отображается слово «Обязательно». Чтобы скрыть их, добавьте правило CSS в тему опроса:

  1. Базовые темы, такие как Fruity TwentyThree, нельзя редактировать напрямую. Сначала расширьте тему. Это создаст редактируемую копию.
  2. Откройте редактор темы для копии и выберите файл custom.css.
  3. Добавьте следующую строку:
.asterisk, .ls-question-mandatory {display: none;}


Сохраните изменения. Затем выберите расширенную тему в общих настройках вашего опроса.

Это также скроет звёздочку в форме публичной регистрации.

Звёздочка и слово «Обязательно» показывают участникам, в том числе тем, кто пользуется программой чтения с экрана, на какие вопросы необходимо ответить. Если вы их скроете, укажите в тексте вопроса или в приветственном тексте опроса, какие вопросы обязательны.


Как создать опрос, открытый для всех?

Чтобы создать опрос, который может пройти любой желающий, не создавайте таблицу участников опроса. Поделитесь ссылкой на опрос, расположенной на панели обзора.


Как сделать обязательными все поля публичной регистрации?

Если вы используете таблицу участников опроса и также разрешаете публичную регистрацию, желающие принять участие заполняют форму регистрации с именем, фамилией и адресом e-mail. Обязательным является только адрес e-mail:



Чтобы сделать обязательными также имя и фамилию, отредактируйте форму регистрации в теме опроса. Для Fruity TwentyThree сначала расширьте тему, откройте редактор темы для копии и отредактируйте файл views/subviews/registration/register_form.twig. Поле e-mail показывает, как создаётся обязательное поле:

        {# Participants email #}
        <div class='{{ aSurveyInfo.class.registerformcolrowc }} row mb-3' {{ aSurveyInfo.attr.registerformcolrowc }}>
            <label {{ aSurveyInfo.attr.registerformcolrowclabel }} class='{{ aSurveyInfo.class.registerformcolrowclabel }}  control-label'> {{ gT("E-mail") }} {{ include('./subviews/registration/required.twig') }}</label>
            <div {{ aSurveyInfo.attr.registerformcolrowcdiv }}  >
                {{ C.Html.emailField('register_email', aSurveyInfo.sEmail, ({'id' : 'register_email','class' : 'form-control ls-important-field','required' : true, 'placeholder' : gT('Enter e-mail address', 'unescaped')})) }}
            </div>
        </div>

Измените поля имени и фамилии таким же образом:

  • Добавьте {{ include('./subviews/registration/required.twig') }} в метку. Это покажет звёздочку.
  • Добавьте 'required' : true в параметры текстового поля. Это сделает поле обязательным.

Отредактированные поля должны выглядеть так (пример взят из LimeSurvey 7.x; в 6.x тексты-подсказки записываются без 'unescaped'):

            {# Participants first name #}
            <div class='{{ aSurveyInfo.class.registerformcolrow }} col-md-6 col-12 mb-3 mb-md-0' {{ aSurveyInfo.attr.registerformcolrow }}>
                <label for='register_firstname' class='{{ aSurveyInfo.class.registerformcolrowlabel }} control-label '>{{ gT("First name") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
                <div class="">
                    {{ C.Html.textField('register_firstname', aSurveyInfo.sFirstName, ({'id' : 'register_firstname','class' : 'form-control ls-important-field', 'required' : true, 'placeholder' : gT('Enter your first name', 'unescaped') })) }} {# mandatory field #}
                </div>
            </div>

            {# Participants last name #}
            <div class='{{ aSurveyInfo.class.registerformcolrowb }} col-md-6 col-12' {{ aSurveyInfo.attr.registerformcolrowb }}>
                <label {{ aSurveyInfo.attr.registerformcolrowblabel }}  class='{{ aSurveyInfo.class.registerformcolrowblabel }} control-label '>{{ gT("Last name") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
                <div {{ aSurveyInfo.attr.registerformcolrowbdiv }} >
                    {{ C.Html.textField('register_lastname', aSurveyInfo.sLastName, ({'id' : 'register_lastname', 'class' : 'form-control ls-important-field', 'required' : true, 'placeholder' : gT('Enter your last name', 'unescaped')})) }} {# mandatory field #}
                </div>
            </div>


Теперь в форме публичной регистрации все три поля обязательны:



Скрытие переключателя языка

Как скрыть переключатели языка (на странице приветствия и в верхнем меню), описано в разделе советов и подсказок по многоязычным опросам.


Скрытие кнопки «Выйти и очистить опрос»

В теме Fruity TwentyThree кнопка «Выйти и очистить опрос» управляется параметром темы Показать кнопку «Очистить все» (в разделе Простые настройки). По умолчанию он имеет значение Нет, поэтому участники видят кнопку, только если параметр был включён. Чтобы скрыть кнопку, установите для параметра значение Нет в настройках темы вашего опроса.


Скрытие этой кнопки полезно для длинных опросов, которые участники сохраняют и заполняют позже. Нажатие «Выйти и очистить опрос» удаляет их частично завершённый ответ.

Ой, я случайно...

Я забыл пароль администратора. Как его сбросить?

Использование командной строки

  1. Подключитесь к серверу через командную строку (например, по SSH).
  2. Убедитесь, что вы можете запускать PHP из командной строки (см. документацию PHP).
  3. Перейдите в каталог LimeSurvey.
  4. Выполните следующую команду: php application/commands/console.php resetpassword USERNAME NEWPASSWORD

USERNAME — это имя существующей учётной записи администратора, например admin. Если команда php не найдена, укажите полный путь к ней, например /usr/bin/php. Новый пароль сохраняется в истории вашей оболочки, поэтому измените его в LimeSurvey после входа.

Только с доступом по FTP

Используйте стороннй контроллер ResetPasswordController. После сброса пароля снова удалите файл и его настройки из config.php.


Непосредственно в базе данных

Если у вас есть прямой доступ к базе данных LimeSurvey, вы можете задать там новый пароль. LimeSurvey принимает пароль, сохранённый в виде хэша SHA-256, и заменяет его более надёжным хэшем при следующем входе пользователя.

Например, в MySQL или MariaDB этот запрос устанавливает для пользователя admin пароль newpassword:

UPDATE lime_users SET password = SHA2('newpassword', 256) WHERE users_name = 'admin';

В PostgreSQL используйте encode(sha256('newpassword'), 'hex') вместо SHA2('newpassword', 256). Если в ваших таблицах используется префикс, отличный от lime_, измените имя таблицы соответствующим образом. Сразу после этого войдите в систему и смените пароль.


Как восстановить данные из деактивированного опроса?

Мы рекомендуем всегда завершать опрос по сроку действия, а не деактивировать его. Если вы случайно деактивировали опрос, важно ничего в нём не изменять!

Только в этом случае описанные ниже шаги сработают:

  1. Снова активируйте опрос.
  2. Откройте ответы опроса.
  3. Нажмите Импортировать и выберите «Импорт ответов из таблицы деактивированного опроса» (LimeSurvey 6.x) или «Импорт ответов из архивированной таблицы ответов» (LimeSurvey 7.x).
  4. Выберите исходную таблицу.
  5. Нажмите кнопку «Импортировать».


Чтобы понять разницу между завершением опроса по сроку действия и его деактивацией, см. раздел о закрытии опроса.


Я удалил вопрос/группу вопросов/опрос!

Если вы удалили его, он утрачен безвозвратно. Восстановить его может помочь только резервная копия.


Если вы используете LimeSurvey Cloud, создайте обращение в службу поддержки и попросите команду восстановить резервную копию вашей учётной записи. Обратите внимание, что эта услуга платная!


Требования к оборудованию и программному обеспечению

Общие требования описаны в наших инструкциях по установке.


Какие ограничения есть у LimeSurvey...

...по скорости

У LimeSurvey нет ограничения по скорости. Всё зависит от того, насколько быстры ваш сервер и его соединение. Если вы ожидаете большое количество участников за короткое время и не уверены, что ваш сервер справится с нагрузкой, поищите похожие темы на нашем форуме, воспользуйтесь LimeSurvey Cloud или обратитесь к авторизованному партнёру LimeSurvey.

...по размеру опроса

«Размер опроса» означает число вопросов (и ответов) в вашем опросе — не путайте его с числом ответов участников на опрос (оно не ограничено). В самом LimeSurvey нет ограничения на число вопросов и ответов, но используемая вами база данных имеет ряд ограничений. Самые важные из них — максимальное число столбцов в таблице ответов и максимальный размер строки.

  Внимание : Подумайте, прежде чем что-либо делать! Массив 10 x 10 элементов уже занимает 100 столбцов. Практическое правило: каждый элемент на экране, который можно заполнить или выбрать, занимает один столбец!


MySQL и MariaDB

По умолчанию LimeSurvey создаёт свои таблицы с движком хранения MyISAM. Вместо него при установке можно выбрать InnoDB.

  • MyISAM: строка может содержать не более 65 535 байт. В кодировке utf8mb4, которую использует LimeSurvey, для одного символа может требоваться до четырёх байт, поэтому в строке может поместиться всего 16 383 символа. Обычно это ограничение достигается первым.
  • InnoDB: таблица может содержать не более 1017 столбцов.

Подробности см. в документации MySQL.

Приблизительно рассчитать размер опроса можно следующим образом:

  • каждый вопрос с несколькими числовыми полями: 20 символов на каждый ответ
  • каждый вопрос типа «Несколько ответов» и вопрос-массив: 5 символов на каждый ответ
  • каждый другой тип вопроса: 5 символов
  • добавьте 10% на обычные накладные расходы

Microsoft SQL Server

Microsoft SQL Server допускает до 1024 столбцов в таблице и 8060 байт в строке (см. документацию Microsoft). Даже если опрос удалось активировать, участники могут не суметь отправить ответы, если они содержат много текста.

Ограничение в 8060 байт может также вызывать ошибки после активации при просмотре или экспорте ответов. Экспортируйте коды ответов вместо текстов ответов или экспортируйте только некоторые столбцы.

PostgreSQL

PostgreSQL допускает от 250 до 1600 столбцов в таблице в зависимости от типов столбцов (см. документацию PostgreSQL). При экспорте ответов может возникнуть ошибка SQLSTATE[54000]. В этом случае экспортируйте только некоторые столбцы. См. это сообщение на форуме.

Как увеличить максимальное число столбцов в PostgreSQL

Если ваш опрос содержит слишком много вопросов, можно скомпилировать PostgreSQL с большим размером блока, например 32 КБ (параметр конфигурации --with-blocksize=32), чтобы в строку помещалось больше столбцов. База данных, созданная с одним размером блока, не может использоваться сервером PostgreSQL, скомпилированным с другим, поэтому сделайте это до создания базы данных LimeSurvey.

Пошаговые инструкции см. в разделе Инструкции по увеличению максимального числа столбцов в PostgreSQL в Linux.

Критическая ошибка: превышен допустимый размер памяти

В зависимости от конфигурации вашего сервера могут возникнуть проблемы с памятью, о которых сообщает ошибка вида "Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296".

LimeSurvey устанавливает собственный лимит памяти, по умолчанию он равен 256 МБ. Вы можете увеличить его, добавив необязательную настройку memory_limit в файл конфигурации LimeSurvey.

Помните, что более высокий лимит, заданный в конфигурации PHP вашего сервера, имеет приоритет. Чтобы увеличить лимит памяти PHP вашего сервера до 512 МБ, добавьте:

  • memory_limit = 512M в главный файл php.ini вашего сервера (рекомендуется, если у вас есть доступ)
  • php_value memory_limit 512M в файл .htaccess в корневой папке LimeSurvey (только если PHP работает как модуль Apache)
  • memory_limit = 512M в файл php.ini или .user.ini в корневой папке LimeSurvey (в некоторых конфигурациях хостинга)

Специальная конфигурация

В некоторых случаях необходимо изменить конфигурацию LimeSurvey в файле application/config/config.php.

Два экземпляра LimeSurvey на одном домене

Вы можете запускать несколько экземпляров LimeSurvey на одном домене, например example.org/ls1 и example.org/ls2. Каждому экземпляру нужно собственное имя cookie сессии. Оно задаётся параметром sessionName в разделе session файла application/config/config.php. Установщик задаёт случайное имя, поэтому при новой установке ничего менять не нужно.

Если вы скопировали config.php из одного экземпляра в другой или ваш config.php создан в версии старше LimeSurvey 4.0, проверьте, что у каждого экземпляра своё значение. Иначе вход в один экземпляр приведёт к выходу из другого. Добавьте или измените строку sessionName в существующем разделе session, например в файле конфигурации ls1:

        'session' => array (
            'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
        ),

Используйте другое случайное значение в файле конфигурации ls2. См. также настройки сессии.