Общи ЧЗВ
From LimeSurvey Manual
Първи стъпки
Ако не искате да прочетете половината ръководство, за да получите представа какво може да се направи с LimeSurvey, препоръчваме ви да гледате някои видео уроци в YouTube:
*Радио списък
- Копиране/импортиране на анкета
- [ https://www.youtube.com/watch?v=QEHyH1YbNEQ Импортиране на въпрос]
Имам нужда от кратко въведение за LimeSurvey
За кратко въвеждане на текст в LimeSurvey проверете следните две връзки:
Дизайн и оформление на проучването
Как мога да премахна index.php от URL пътя, за да получа по-кратък URL
Ако искате да използвате фантастични URL адреси (без /index.php във всеки URL), моля, редактирайте /application/config/config.php и променете
'showScriptName' => вярно,
да се
'showScriptName' => невярно,
За да работи правилно, трябва да използвате уеб сървър на Apache с правилно инсталиран модул mod_rewrite.
С уеб сървър nginx
Ако използвате Nginx http сървър (с php, работещ чрез FastCGI) и искате да използвате настройката 'urlFormat' => 'path (вижте конфигурацията .php), разгледайте следната конфигурация на уебсайт на Nginx:
сървър {
задайте $host_path "/PATH/TO/LIMESURVEY";
server_name YOUR.SERVER.FQDN;
root /PATH/TO/LIMESURVEY;
charset utf-8;
try_files $uri /index.php?$uri&$args;
# Забранете четенето в директорията на php скрипт, вижте проблем с отстраняване на грешки > 1 в бележка
местоположение ~ ^/(приложение|документи|рамка|локал|защитени|тестове|теми/\w+/изгледи) {
отрече всички;
}
# Забранете четенето в директорията по време на изпълнение
местоположение ~ ^/tmp/runtime/ {
отрече всички;
}
# Разрешете достъп до добре позната директория, различна употреба, например ACME Challenge за Let's Encrypt
местоположение ~ /\.добре познат {
разреши всички;
}
# Откажете всички опити за достъп до скрити файлове
# като .htaccess, .htpasswd, .DS_Store (Mac).
местоположение ~ /\. {отрече всички;
}
#Disallow директно четене на потребителски качени файлове
местоположение ~ ^/upload/surveys/.*/fu_[a-z0-9]*$ {
връщане 444;
}
#Disallow качени потенциални изпълними файлове в директорията за качване
местоположение ~* /качване/.*\.(pl|cgi|py|pyc|pyo|phtml|sh|lua|php|php3|php4|php5|php6|pcgi|pcgi3|pcgi4|pcgi5|pcgi6|icn)$ {връщане 444;
}
#избягвайте обработката на извиквания към несъществуващи статични файлове от yii
местоположение ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}местоположение ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
try_files $uri index.php;
fastcgi_pass 127.0.0.1:9000;
# Променете това, за да съответства на вашите настройки
fastcgi_index index.php;
включват fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
Крайният резултат трябва да изглежда така:
Как да се отърва от * (червената звездичка) на задължителните въпроси?
Инструкции за LimeSurvey 2
В LimeSurvey 2.x червената звездичка на задължителните въпроси е зададена във файла template.css (клас "звездичка"). За да го скриете:
- Отворете редактора на шаблони
- Създайте копие на шаблона, който искате да промените
- Изберете файла "template.css" и потърсете класа asterix
- Добавете следния ред в края на класа asterix".asterisk {display: none;}".
- Запазете template.css
- Изчистете кеша на браузъра си, така че редактираният template.css да се презарежда и да не се взема от кеша .
Инструкции за LimeSurvey 3
Инструкциите са подобни на представените по-горе за LimeSurvey 2.
- Достъп до желаната тема. Ако това е тема по подразбиране, създайте нейно копие, като щракнете върху бутона "разшири".
- Достъп до списъка с теми и щракнете върху редактора на теми, който съответства на новосъздадената тема.
- От лявата страна можете да визуализирате съответните CSS файлове на вашата тема.
- Кликнете върху custom.css и добавете следния ред:
.asterisk {дисплей: няма;}
- Запазете промените. Червената звездичка, която обикновено се показва в началото на текста на въпроса, е скрита.
Как мога да вградя флаш файл?
Първо отидете на Глобални настройки и деактивирайте XSS-филтъра. Моля, прочетете също последиците от деактивирането на този филтър върху вашия екземпляр. Следващите стъпки няма да работят, ако филтърът е активен.
- Навигирайте до мястото във вашата анкета, където искате да вмъкнете вашия Flash файл. Това може да бъде навсякъде, където можете да използвате интегрирания HTML редактор, например във въпроси, подвъпроси, отговори, приветстващ/краен текст на анкетата и много други.
- Отворете пълни- режим на редактор на екрана, като щракнете върху бутона 'LimeFitWin' в лентата с инструменти на редактора.
- В лентата с инструменти на редактора на цял екран ще намерите малък бутон със символ Flash. Кликнете върху него. Ще се отвори диалогов прозорец.
- В това поле можете да посочите или пътя до съществуващ Flash файл някъде, или да щракнете върху бутона „Преглед на сървъра“.
- Ако сте щракнали върху бутона „Преглед на сървъра“, ще се представя с файлов браузър и в долната част поле за качване на файл. Изберете сега съществуващ файл или първо качете файл.
Това е! Ако намерите това описание за непълно, моля, актуализирайте го съответно.
Как да създам анкета, която е отворена за всички?
За да създадете анкета, която може да бъде попълнена от всеки, не създавайте таблица с участниците в анкетата! Споделете връзката към анкетата, намираща се в панела за общ преглед.
Публична регистрация - задължителни полета
Ако използвате таблица с участници в анкетата и също разрешите публична регистрация, тогава потребителите ще бъдат подканени от следното съобщение:
Както може да се види по-горе, само полето за имейл е задължително.
За да бъдат маркирани и трите полета като задължителни, моля, редактирайте съответно темата на анкетата си. Ако използвате Fruity, трябва да отидете на екрана регистрация и да видите как изглежда полето за имейл на участниците:
{# Имейл на участниците #}
<div class='{{ aSurveyInfo.class.registerformcolrowc }} form-group row' {{ aSurveyInfo.attr.registerformcolrowc }}>
<label {{ aSurveyInfo.attr.registerformcolrowclabel }} class='{{ aSurveyInfo.class.registerformcolrowclabel }} control-label'>{{ gT("Имейл адрес:") }} {{ include('./subviews/registration/required.twig') }}</label>
<div {{ aSurveyInfo.attr.registerformcolrowcdiv }} >
{{ C.Html.textField('register_email', aSurveyInfo.sEmail, ({'id' : 'register_email','class' : 'form-control input-sm','required' : true})) }}
</div>
</div>
След това не забравяйте да редактирате съответно полетата за име и фамилия, като добавите етикета:
{{ include('./subviews/registration/required.twig') }}
и този ред, който прави полето задължително за попълване:
'задължително' : вярно
Редактираният файл трябва да изглежда така:
{# Първо име на участници #}
<div class='{{ aSurveyInfo.class.registerformcolrow }} form-group row' {{ aSurveyInfo.attr.registerformcolrow }}>
<label for='register_firstname' class='{{ aSurveyInfo.class.registerformcolrowlabel }} control-label '>{{ gT("Собствено име:") }} {{ include('./subviews/registration/required.twig') }} {</label> # допълнителен етикет #}
<div class="">
{{ C.Html.textField('register_firstname', aSurveyInfo.sFirstName, ({'id' : 'register_firstname','class' : 'form-control', 'required' : true})) }} {# задължително поле #}
</div>
</div>
{# Фамилия на участниците #}
<div class='{{ aSurveyInfo.class.registerformcolrowb }} form-group row' {{ aSurveyInfo.attr.registerformcolrowb }}>
<label {{ aSurveyInfo.attr.registerformcolrowblabel }} class='{{ aSurveyInfo.class.registerformcolrowblabel }} control-label '>{{ gT("Фамилно име:") }} {{ include('./subviews/registration/required.twig') }} {</label> # допълнителен етикет #}
<div {{ aSurveyInfo.attr.registerformcolrowbdiv }} >
{{ C.Html.textField('register_lastname', aSurveyInfo.sLastName, ({'id' : 'register_lastname', 'class' : 'form-control', 'required' : true})) }} {# задължително поле #}
</div>
</div>
Сега публичната страница за регистрация трябва да изглежда така (всички полета са задължителни):
Скриване на превключвателя на език
Стъпките за скриване на двата превключвателя на езика (близо до заглавието на анкетата и в горната дясна част на страницата) са описани в нашата wiki секция, посветена на многоезични анкети.
Скриване на „Изход и изчистване на анкетата“
В случай, че искате да скриете бутона „Изход и изчистване на анкетата“, трябва да редактирате файла nav_bar.twig, който се намира в темата на вашата анкета.
Редът, който трябва да бъде премахнат (или коментиран), е:
{{ include('./subviews/navigation/clearall_links.twig') }}
Сега няма опция за излизане и изчистване на анкетата.
Помощ, аз случайно...
Забравих администраторската си парола. Как да го нулирам?
Версия 2.x
- Достъп до вашия сървър с команден ред (ssh например)
- Уверете се, че имате php достъп до командния ред (вижте http://php.net/features. commandline.php).
- Отидете във вашата директория LimeSurvey
- Стартирайте тази команда
php application/commands/starter.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS
илиphp application/commands/console.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS
PHP може да се нуждае от пълна директория достъп, пример /usr/bin/php
Версия 2.xx и по-нова само с FTP достъп
Вижте ResetPasswordController
Променете директно паролата в базата данни
Ако имате директен достъп до базата данни на Limesurvey, можете да промените старата парола там, като качите новата парола като SHA256 хеш. Можете да създадете SHA256 хеш на вашата парола тук.
Например, можете да използвате тази инструкция, за да зададете парола на password:
АКТУАЛИЗИРАНЕ lime_users SET парола = 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131 656637323164313534326438 WHERE uid =1;
Тук с префикс към lime_ и избрана база данни.
Как мога да възстановя данни от деактивирана анкета?
Препоръчваме винаги да използвате опцията за изчакване, вместо да деактивирате анкета. Ако сте затворили анкетата си случайно, важно е да не променяте нищо в анкетата!
Тогава и само тогава ще работят следните стъпки:
- Активирайте анкетата си отново
- Изберете Отговори от лентата с инструменти на анкетата.
- Щракнете върху Импортиране и изберете елемента от менюто „Импортиране на отговори от деактивирана таблица с анкети“.
- Изберете вашата таблица източник.
- Щракнете върху бутона „Импортиране“, разположен в горната дясна част на екрана.
Изтрих въпрос/група въпроси/анкета!
Ако го изтриете, той е изчезнал. Само резервно копие може да ви помогне да го възстановите.
Изисквания към хардуера и софтуера
За общи изисквания, моля, вижте нашите инструкции за инсталиране.
Какви ограничения има LimeSurvey...
...относно скоростта
В LimeSurvey няма ограничение на скоростта. Всичко зависи от това колко бързи са сървърът и връзката ви. Ако очаквате голям брой потребители за кратък период от време и не сте сигурни дали вашият сървър може да се справи с това, проверете нашия форум за подобни теми!' или свържете се с оторизиран партньор на LimeSurvey ': https://limesurvey.com.
...относно размера на проучването
MySQL и MariaDB
Забележка: „Размерът на анкетата“ се отнася до максималния брой въпроси (и отговори) във вашата анкета – не бъркайте това с броя на отговорите на вашата анкета (няма ограничение за това)'. Теоретично също няма да има ограничение за максималния брой въпроси/отговори в LimeSurvey. Но двигателят на базата данни, който използвате, има няколко ограничения. Най-важното е ограничението за броя на полетата (колоните) в таблицата с резултати.
- MySQL ISAM: Сумата от дължините на колоните VARCHAR и CHAR в таблица може да бъде до 64KB.
*MySQL InnoDB: Максимален брой от 1000 колони
- MS SQL Server 2000: Максимален брой от 1024 колони. Има максимум 8060 байта за размер на един ред, тогава дори проучването може бъде активиран, ако имате много текстови данни: участникът не може да изпрати...
- Postgres: Максимален брой от 250-1600 колони в зависимост от типовете колони. Максималният брой колони може да се учетвори чрез увеличаване на размера на блока по подразбиране до 32k. Вижте Често задавани въпроси за инсталиране и ЧЗВ за PostgreSQL.
Машината mySQL ISAM е най-сложната (вижте mysql документация за повече информация). Тъй като позволява само до 65 535 байта на ред и utf8 символи, може да изисква до три байта на знак. Максимумът може да бъде само 21 844 знака (но това зависи от кодирането на вашата DB).
Можете грубо да изчислите размера на вашата анкета по следния начин:
- Всеки въпрос с множество числа: 20 знака за всеки отговор
- Всеки отговор на въпроси с множество избори и масиви: 5 знака за всеки отговор
- Всеки друг тип въпрос: 5 знака
- Добавете 10% за обичайните режийни разходи
С Microsoft SQL
Няма фиксирано ограничение за MSSQL. Някои информация на уебсайта на Microsoft.
8060 байта на ред могат да се появят след активиране, когато искате да прегледате отговор и данни. Можете да експортирате код на отговор, а не текст на отговор или да опитате да експортирате само някои колони.
С PostgreSQL
Когато се опитате да експортирате отговор: може да имате грешка SQLSTATE[54000]. Можете да експортирате някои колони. Вижте публикация във форум.
Как да увеличите максималния брой колони в PostgreSQL
В случай, че вашата анкета съдържа твърде много въпроси, можете да дефинирате различен размер на блока в PostgreSQL, за да създадете повече колони. Това може да е трудно, защото трябва да прекомпилирате PostgreSQL и да зададете BLCKSZ на по-висока стойност, като 16 kiB или 32 kiB. Следете за конфигурационната опция "--with-blocksize=BLOCKSIZE". За подробности вижте архивите на пощенския списък на PostgreSQL или попитайте там (pgsql-patches(at)postgresql(dot)org).
Инструкции за Debian (благодарение на Мартин Пит):
sudo apt-get build-dep postgresql-8.3
apt-get source postgresql-8.3
cd postgresql-8.3-*
debian/rules patch
sensible-editor build-tree/postgresql-8.3.5/src/include/pg_config_manual.h
dpkg-buildpackage -us -uc -b -nc
Забележка: горното не може да бъде възпроизведено на Ubuntu 14.04 през август 2014 г. Необходима е корекция (опцията за конфигуриране не е достатъчна). Вижте (тествано с PostgreSQL 9.3 на Linux): Инструкции за увеличаване на максималния брой колони в PostgreSQL на Linux
Фатална грешка: Разрешен размер на паметта
В зависимост от конфигурацията на вашия сървър може да се натъкнете на проблеми с паметта, докладвани от грешка като "Фатална грешка: Разрешеният размер на паметта от 8388608 байта е изчерпан (опитах се да разпределя 233472 байта) в /path/to/htdocs/limesurvey/filename.php на линия 7296".
Можете да опитате да увеличите лимита, като добавите незадължителна настройка към конфигурационния файл на LimeSurvey.
Моля, имайте предвид, че промените в настройките по подразбиране на приложение винаги могат да бъдат отменени от глобалните настройки на сървъра. За да увеличите лимита на паметта на вашия сървър до 128M:
- memory_limit = 128M към главния php.ini файл на вашия сървър (препоръчва се, ако имате достъп)
- memory_limit = 128M към php.ini файл в LimeSurvey root
- php_value memory_limit 32M във файл .htaccess, намиращ се в основната папка на LimeSurvey
- " ini_set('memory_limit', '128M'); " във вашия config.php
Специфична конфигурация
При определени обстоятелства трябва да актуализирате конфигурацията на LimeSurvey в application/config/config.php
IE 11 и Windows 7 / Windows 8
Има известен проблем със сесията с IE 11, който води до това, че потребителите не могат да завършат анкета.
Това се решава чрез даване на уникално име на сесията.
Това става чрез добавяне на това към конфигурационния файл.
// Задайте името на сесията
'session' => масив (
'sessionName' => "YOURUNIQUESSIONNAME",
),
Две инстанции на LimeSurvey на един и същи домейн
Ако стартирате 2 екземпляра на LimeSurvey в един и същи домейн, но в различни директории, трябва да актуализирате конфигурацията на сесията.
Например, ако имате example.org/ls1 и example.org/ls2, актуализирайте конфигурационния файл ls1:
'сесия' => масив (
'cookieParams' => масив(
'път' => '/ls1',
),
),
'request' => array(
'csrfCookie' => array( 'path' => '/ls1' )
),