Actions

Make your plugin compatible with LS4/ja: Difference between revisions

From LimeSurvey Manual

(Created page with "このXMLファイルは、LimeSurvey 4では必須です。プラグインのルートディレクトリーに配置する必要があります。詳しくは、プラグイ...")
(Created page with "==名前空間の利用== 名前空間を使用すると、プラグインのタスクを実行するために一緒に動作するクラスをグループ化して、より...")
 
(9 intermediate revisions by the same user not shown)
Line 19: Line 19:
==新しいプラグインディレクトリ==
==新しいプラグインディレクトリ==


The plugin directory is changed in LimeSurvey 4. For security reasons, the plugin directory is now located in the upload directory (/upload/plugins)  due to the new plugin manager (Plugin uploader).
LimeSurvey 4では、プラグインディレクトリーが変更されています。セキュリティ上の理由から、新しいプラグインマネージャー(Plugin uploader)により、プラグインディレクトリーはアップロードディレクトリ(/upload/plugins)に配置されるようになりました。
For manual uploads, we recommend to upload your files to the new directory to avoid software malfunctioning.
手動でアップロードする場合は、ソフトウェアの誤動作を避けるため、新しいディレクトリーにアップロードすることをお勧めします。


Make sure to change or add the new directory if it is hard-coded in your plugin.
プラグインにハードコーディングされている場合は、必ず新しいディレクトリーを変更または追加してください。


'''例:'''
'''例:'''
Line 34: Line 34:




Some plugin events from LS3 were deprecated. Use the new plugin events introduced in LS4 to replace the old plugin events.
LS3の一部のプラグインイベントが非推奨となりました。古いプラグインイベントの代わりに、LS4で導入された新しいプラグインイベントを使用してください。詳しくは、[[Plugin_events/ja|プラグインイベント]]に関する開発マニュアルをご覧ください。
For more information check our development manual on [[Plugin_events|plugin events]].


==非推奨の関数とメソッド==
==非推奨の関数とメソッド==




Since the code base or structure of LimeSurvey 4 changed, there are a lot of methods or functions that are not used anymore.
LimeSurvey 4のコードベースや構造が変わったため、使われなくなったメソッドや関数がたくさんあります。
To fix this problem, you need to enable the debug mode on the config.php file first and then go to the plugin page. Any method that does not exit anymore will be shown on the error page.  
この問題を解決するには、まずconfig.phpファイルでデバッグモードを有効にしてからプラグインのページに移動する必要があります。存在しなくなったメソッドは、エラーページに表示されます。


Some of the methods are renamed in LS4 or are not used anymore. To be sure that your plugin works for both LS3 & LS4, check the version of LS before calling the method you need.
メソッドの中には、LS4で名前が変更されたものや、使われなくなったものもあります。プラグインがLS3とLS4の両方で動作することを確認するには、必要なメソッドを呼び出す前にLSのバージョンを確認してください。




Line 60: Line 59:




For security (XSS) reasons, the upload of SVG Files is not possible. The Plugin uploader will ignore SVG files. Replace them by PNG or JPEG files.
セキュリティ(XSS)上の理由から、SVGファイルのアップロードはできません。プラグインのアップローダーはSVGファイルを無視します。PNGまたはJPEGファイルに置き換えてください。SVGファイルのアップロードは、FTPやその他のサーバーツールを使ってインストールディレクトリーにアクセスできる場合のみ可能です(ファイルのアップロードは自己責任でお願いします)。
The upload of SVG files is possible only if you have access to the installation directory via ftp or other server tools (Upload any files at your own risks).




Line 68: Line 66:




Avoid the use of global constants that can collapse with variables of the core application or other plugins like „ROOT_PATH“. Don‘t use global constant in general for plugin development.
"ROOT_PATH"のように、コアアプリケーションや他のプラグインの変数と競合する可能性のあるグローバル定数の使用は避けてください。プラグイン開発では、基本的にグローバル定数は使用しないでください。


==Use Namespaces==
==名前空間の利用==
Use namespace for better organization by grouping classes that work together to perform a task in your plugin. In that way you avoid using classes that are being used already in the core application.
名前空間を使用すると、プラグインのタスクを実行するために一緒に動作するクラスをグループ化して、よりよく整理することができます。これにより、コアアプリケーションで既に使用されているクラスの使用を避けることができます。





Latest revision as of 03:02, 14 March 2021


技術的な変更

新しいXML構成ファイル

LimeSurvey 4.0以降、プラグインをアプリケーションで実行するにはXML構成ファイルが必要になります。

これは、プラグインの作成者、サポートの電子メール、アップデートなどのメタデータ情報を保存できるようにするためです。

このXMLファイルは、LimeSurvey 4では必須です。プラグインのルートディレクトリーに配置する必要があります。詳しくは、プラグイン開発のプラグインの項をご覧ください。

例:

新しいプラグインディレクトリ

LimeSurvey 4では、プラグインディレクトリーが変更されています。セキュリティ上の理由から、新しいプラグインマネージャー(Plugin uploader)により、プラグインディレクトリーはアップロードディレクトリ(/upload/plugins)に配置されるようになりました。 手動でアップロードする場合は、ソフトウェアの誤動作を避けるため、新しいディレクトリーにアップロードすることをお勧めします。

プラグインにハードコーディングされている場合は、必ず新しいディレクトリーを変更または追加してください。

例:



新しいプラグインイベント

LS3の一部のプラグインイベントが非推奨となりました。古いプラグインイベントの代わりに、LS4で導入された新しいプラグインイベントを使用してください。詳しくは、プラグインイベントに関する開発マニュアルをご覧ください。

非推奨の関数とメソッド

LimeSurvey 4のコードベースや構造が変わったため、使われなくなったメソッドや関数がたくさんあります。 この問題を解決するには、まずconfig.phpファイルでデバッグモードを有効にしてからプラグインのページに移動する必要があります。存在しなくなったメソッドは、エラーページに表示されます。

メソッドの中には、LS4で名前が変更されたものや、使われなくなったものもあります。プラグインがLS3とLS4の両方で動作することを確認するには、必要なメソッドを呼び出す前にLSのバージョンを確認してください。


例:



ベストプラクティス

SVGファイルを避ける

セキュリティ(XSS)上の理由から、SVGファイルのアップロードはできません。プラグインのアップローダーはSVGファイルを無視します。PNGまたはJPEGファイルに置き換えてください。SVGファイルのアップロードは、FTPやその他のサーバーツールを使ってインストールディレクトリーにアクセスできる場合のみ可能です(ファイルのアップロードは自己責任でお願いします)。


グローバル定数を避ける

"ROOT_PATH"のように、コアアプリケーションや他のプラグインの変数と競合する可能性のあるグローバル定数の使用は避けてください。プラグイン開発では、基本的にグローバル定数は使用しないでください。

名前空間の利用

名前空間を使用すると、プラグインのタスクを実行するために一緒に動作するクラスをグループ化して、よりよく整理することができます。これにより、コアアプリケーションで既に使用されているクラスの使用を避けることができます。


例: