Actions

よくある質問

From LimeSurvey Manual

Revision as of 05:05, 28 July 2018 by Bravehorse (talk | contribs)

はじめに

LimeSurveyでできることを感じるためにマニュアルの半分でも読みくない場合は、ビデオを見ることをお勧めします(下記参照)。

その後、アンケート - はじめにのマニュアルページが参考になるかもしれません。

LimeSurveyについて簡単に知りたい

まず基本的なLimeSurveyビデオチュートリアルをご覧ください。

LimeSurveyでオンラインアンケートを実施する方法に関する別のチュートリアルもあります。このビデオでは、初めてアンケートを作成るところから、ユーザーに提供し、回答された結果を表示するまでを扱っています。

YouTubeにはさらに多くのビデオががあります。

LimeSurvey:

昔のPHP-surveyorのビデオ:

アンケートのデザインとレイアウト

短いURLにするためにURLパスからindex.phpを削除する方法

すっきりしたURLを使うため、URLに/index.phpを含めない場合は、/application/config/config.phpを編集して変更してください。

'showScriptName' => true,

を次のように変更します。

'showScriptName' => false,

これを正しく動作させるためには、mod_rewriteモジュールが正しくインストールされたApacheウェブサーバーを使用する必要があります。

Nginx http serverを使用し(PHPはFastCGIを経由して実行)、'urlFormat' => 'path'設定を使用したい場合は、以下ようなnginxのサイト設定を検討してください。

server {
    set $host_path "/PATH/TO/LIMESURVEY";
    server_name  YOUR.SERVER.FQDN;
    root /PATH/TO/LIMESURVEY;
    charset utf-8;
    try_files $uri /index.php?$args;
    location ~ ^/(protected|framework|themes/\w+/views) {
        deny  all;
    }
    #avoid processing of calls to unexisting static files by yii
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }
    location ~ \.php$ {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
        try_files $uri index.php;
        fastcgi_pass   127.0.0.1:9000; # Change this to match your settings
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
    }
}

回答必須の質問の*(赤いアスタリスク)を取り除く方法

LimeSurvey 2.x では、必須であることを示す赤いアスタリスクはtemplate.cssファイル("asterisk"クラス)内に設定されています。それを隠すには、

  • テンプレートエディタを開く
  • 変更したいテンプレートのコピーを作成する
  • "template.css"ファイルを選択して、asteriskクラスを検索する
  • asteriskクラスの最後に次の設定を追加する: ".asterisk {display: none;}"
  • template.cssを保存する
  • 編集したtemplate.cssが再読み込みされ、キャッシュから取得されないように、ブラウザのキャッシュをクリアする

以前のバージョン

  • テキストエディタでqanda.phpを開きます
  • "asterisk"という文字列を探す
  • 行頭に2つのスラッシュ"/"を付けてこの行をコメントアウトする
  • 例:
    • original: $qtitle = ''.$clang->gT('*').''.$qtitle;
    • modified: // $qtitle = ''.$clang->gT('*').''.$qtitle;

Flashファイルを埋め込む方法

まず全体設定に行き、XSSフィルターを無効にします。また、そのフィルターを無効にすることどうなるかは理解しておいてください。フィルターが有効な場合、次の手順は機能しません。

  1. Flashファイルを挿入する場所に移動します。これは、質問、サブ質問、回答、アンケートのようこそ/終了のテキストなど、統合されたHTMLエディタを使用できる場所であればどこでもかまいません。
  2. エディターツールバーの'LimeFitWin'ボタンをクリックし、フルスクリーンエディタモードを開きます。
  3. フルスクリーンエディタのツールバーには、Flashシンボル付きの小さなボタンがあります。クリックすると、ダイアログが開きます。
  4. このダイアログでは、既存のFlashファイルのパスを指定するか、'サーバーを閲覧'ボタンをクリックします。
  5. 'サーバーを閲覧'ボタンをクリックすると、ファイルブラウザが表示され、下部にはファイルアップロードフィールドが表示されます。既存のファイルを選択するか、ファイルをアップロードしてください。

それでおしまいです。この説明が不完全な場合は、適宜更新してください。

アンケートから既定のテキストを削除する方法

"X問あります"

"プライバシーに関するメモ..."

質問コード

これらのテキストはすべて、プレースホルダーを使用しているテンプレートに挿入されます。簡単に削除できます。テンプレートエディターに移動し、{THEREAREXQUESTIONS} / {PRIVACYMESSAGE} / {QUESTION_CODE}のプレースホルダーを削除します。

アンケート構成

一般に公開するアンケートを作成する方法

アンケートを一般に公開するには、以下のようにします。

アンケートは、LimeSurveyのルートページにリストされます。ウェブサイト/ブログにアンケートへのリンクを公開し、誰でも制限なくアンケートに参加することができます。

システムから確認メールを送信しない方法

トークンを使用し、参加者がアンケートに記入すると、参加者のメールアドレスに確認メールが送信されます。このメッセージを送信したくない場合は、"確認メール"の件名とメッセージ全体を削除してください。ソースコードモードに切り替え、すべてのテキストを削除します。空のメッセージを保存すれば、確認メールをもう送信しなくなります。

誤操作への対処

パスワードをリセットする方法

バージョン2.x.x以降

  1. コマンドラインでサーバーにアクセスします(例:SSH)
  2. PHPにコマンドラインでアクセスできるか確認します(see http://php.net/features.commandline.php)
  3. limesurveyディレクトリーに移動します
  4. 次のコマンドを入力します php application/commands/starter.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS または php application/commands/console.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS/usr/bin/phpなどphpへの完全なディレクトリーアクセス権が必要です

バージョン2.x.x以降でFTPアクセスのみの場合

ResetPasswordControllerを参照してください。

データベースのパスワードを直接変更する

Limesurveyのデータベースに直接アクセスできる場合、新しいパスワードをSHA256ハッシュに符号化して更新することで、古いパスワードを変更することが可能です。こちらでパスワードをSHA256ハッシュした値を生成できます。

たとえば、次のコマンドを使用してパスワードをpasswordに設定できます。

UPDATE lime_users SET password = 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438 WHERE uid =1;

ここでは、接頭辞がlime_であり、データベースが選択されています。

無効にしたアンケートからデータを復元する方法

アンケートを無効にするのではなく、常に時間切れ扱いとすることをお勧めします。誤ってアンケートを終了した場合は、アンケートを何も変更しないでください。

そして、次のような手順を踏みましょう。

  1. アンケートを再度有効化する
  2. "アンケートの回答閲覧"画面に移動する
  3. "無効になったアンケートテーブルからのインポート"ボタンを選択する
  4. インポート元のテーブルを選択する
  5. "回答をインポートする"をクリックする

削除した質問/質問グループ/アンケートの復元方法

残念ながら、削除してしまうと、本当になくなってしまいます。ただし、バックアップしている場合は復元できます(もちろん、定期的に行っていることが前提です)。

ハードウェア・ソフトウェアの要求条件

一般的な要件については、インストール手順を参照してください。

LimeSurveyの制約

処理速度について

LimeSurveyには処理速度に制限はありません。サーバーの処理速度とサーバーへの接続速度に依存します。短時間に多数のユーザーからの回答が予想され、サーバーが処理できるかどうかわからない場合は、フォーラムで他のユーザーの経験に関するトピックを参照してください。

アンケートの規模について

注意: ここでいう'アンケートの規模'とは、アンケートの質問(と回答)の最大数のことであり、アンケートで受け付ける最大の回答数ではありません(こちらに制限はありません)。理論的には、LimeSurveyの質問/回答の最大数に制限はありません。しかし、使用しているデータベースエンジンにはいくつかの制限があります。最も重要なのは、結果テーブルのフィールド(列)数の制限です。

  • MySQL ISAM: テーブル内のVARCHAR列とCHAR列の長さの合計は最大64KBです。
  • MySQL InnoDB: 最大1000列
  • MS SQL Server 2000: 最大1024列
  • Postgres: 列の種類に応じ最大250〜1600列。既定のブロックサイズを32kに増やすと、列の最大数を4倍にすることができます。インストールのFAQおよびPostgreSQL FAQを参照してください。

注意: 実施する前に考えてください。10×10項目の配列は、すでに100列を要します。ルール:画面上で記入または選択が可能なアイテムはそれぞれ1列としてカウントされます。

The mySQL ISAM engine is the most tricky one (see mysql documentation for more information). As it allows only up to 65,535 bytes per row and utf8 characters can require up to three bytes per character the maximum may be only 21,844 characters (but this depends on your DB encoding).

You can roughly calculate the size of your survey like this:

  • Every multiple numerical question: 20 chars for each answer
  • Every multiple choice & array question answers: 5 chars for each answer
  • Every other question type: 5 chars
  • Add 10% for the usual overhead

How to increase the maximum number of columns in PostgreSQL

In case your survey contains too many questions you can define a different block size in PostgreSQL so it is possible to create more columns. This might be tricky because you have to recompile PostgreSQL and set BLCKSZ to a higher value, like 16kiB or 32kiB. Watch for the configuration option "--with-blocksize=BLOCKSIZE". For details see the archives of the PostgreSQL mailing list or ask there (pgsql-patches(at)postgresql(dot)org).

Instructions for Debian (thanks to Martin Pitt):

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

Note: the above could not be reproduced on Ubuntu 14.04 in August 2014. A patch is required (the configuration option is not enough). See (tested with PostgreSQL 9.3 on Linux): Instructions for increasing the maximum number of columns in PostgreSQL on Linux

Fatal error: Allowed memory size

Depending on your server configuration you might run into memory problems being reported by an error like "Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296".

You can try to raise the limit by adding an optional setting to LimeSurvey's config file.

Please mind that such local settings by an application can always be overruled by global server settings. To increase the memory limit to 128M directly on your server you could 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 32M in a .htaccess file in the LimeSurvey root
  • ini_set('memory_limit', '128M'); in your config.php

Specific configuration

Under certain circumstances, you need tu update LimeSurvey configuration in application/config/config.php

2 limesurvey instance on same domain

With 2 limesurvey instance on same domain, but different directory, you need to update the session configuration.

For example, if you have example.org/ls1 and example.org/ls2 : update the ls1 config file

        'session' => array (
            'cookieParams' => array(
                    'path' => '/ls1',
                ),
            ),
        'request' => array(
            'csrfCookie' => array( 'path' => '/ls1' )
        ),