Since question types can no longer be uniquely identified by their object names, we have created a signature scheme.
While in a single limesurvey instance question objects must be uniquely named, there might be different plugins defining the question objects with the same name.
To make sure we can identify what the type of a question is, we derive a unique identifier (GUID) from a signature.
Each question object MUST therefore define a protected static $signature field. This field is used to derive the signature using a hashing approach.
It is the developer's task to make this signature as unique as possible, yet, it MUST never change. If the signature of a question object changes it is recognized as a new question type, while this is not necessarily a problem, the fact that the old question type is no longer available is. Since LimeSurvey cannot find the old question type it will not be able to execute, import, or maybe even edit, surveys containing this now unknown question type.
* This function derives a unique identifier for identifying a question type.
// We use json_encode because it is faster than serialize.
This page was last edited on 29 June 2017, at 19:29.