Actions

Talk

Question object types: Difference between revisions

From LimeSurvey Manual

Line 3: Line 3:
# I think specification is not the same as (our) implementation.
# I think specification is not the same as (our) implementation.
## Olle: True. But the current implementation in LS3 lacks specification. There needs to be something written down that exactly specifies what's needed and why.
## Olle: True. But the current implementation in LS3 lacks specification. There needs to be something written down that exactly specifies what's needed and why.
## Sam: Agree, the current implementation is just a refactoring of LS2 code (moving global functions to OO), it can and should be adapted to whatever requirements come up with.
# Specifications should consist of interfaces (and optionally abstract classes) only.
# Specifications should consist of interfaces (and optionally abstract classes) only.
## Olle: Question types will need to include CSS, Javascript, HTML, pictures etc. So only interfaces is not enough.
## Olle: Question types will need to include CSS, Javascript, HTML, pictures etc. So only interfaces is not enough.
## Sam: It doesn't matter what they include, we just need to specify how it should interact. For example, for example how it tells us what javascript / css to publish to a publicly accessible directory. Note that I agree that we should give a "logically structured" example plugin, that should not be part of the contract in my opinion.


== Current LS3 implementation ==
== Current LS3 implementation ==

Revision as of 18:32, 12 April 2016

Question object specification text

  1. I think specification is not the same as (our) implementation.
    1. Olle: True. But the current implementation in LS3 lacks specification. There needs to be something written down that exactly specifies what's needed and why.
    2. Sam: Agree, the current implementation is just a refactoring of LS2 code (moving global functions to OO), it can and should be adapted to whatever requirements come up with.
  2. Specifications should consist of interfaces (and optionally abstract classes) only.
    1. Olle: Question types will need to include CSS, Javascript, HTML, pictures etc. So only interfaces is not enough.
    2. Sam: It doesn't matter what they include, we just need to specify how it should interact. For example, for example how it tells us what javascript / css to publish to a publicly accessible directory. Note that I agree that we should give a "logically structured" example plugin, that should not be part of the contract in my opinion.

Current LS3 implementation

Note, this is the current state and some of these are mostly because it is a refactoring from LS2.

1. Uses an interface.

2. Defines what columns it needs via a fieldname => column type map.

3. Defines what EM expressions apply to it.

4. Defines a render functionality that renders the content.

5. Defines a list of classes that should be in the wrapping div.