Actions

EM Enhancements

From LimeSurvey Manual

Notes about adding additional enhancements to the expression manager.

  • Will changes break compatibility and thus bump major version?
  • What's the priority?
  • Who has time to implement it?

Write to token attributes from survey

See Talk:EM_Enhancements

See EM_Enhancements#Existing_plugins_way

Use-cases

  • Update or correct address saved in token attribute (see Write-at-submission)
  • When using more than one survey, write e.g. disease in token attribute, then use it in following surveys. "How do you feel now about <disease>?"

Usage

{TOKEN.ATTRIBUTE_1 = Q123.shown}

Another version, using := for assignment:

{TOKEN.ATTRIBUTE_1 := Q123.shown}

Yet another version, using a function:

{writeTokenAttribute(<token attribute name>, <value>)}

Would also work with readTokenAttribute.

(Or maybe "write_token_attr" and "read_token_attr".)

Implementation

TODO

Make EM access earlier runs of same survey (waves)

TODO

Make default value better (expressions)

See : yesNo_defaultvalue_widget

Write-at-submission

Expand EM using plugin

  • Add a way for pugin to update/extend Expression manager knowVars (currenlty private)
    • Only at start ? Allow to add new var for each question, example
      • QCODE.help
      • QCODE.statMedium , QCODE.statCount ... see getStatInSurvey
      • Maybe better with QCODE.pluginname.varfromplugin (by default) . Decison must be done about : allowing update existing part.
      • PluginName:Something (like we have TOKEN:SOMETHING)
    • At whole page ? Allowing to update with a specific params in beforeSurveyPage ? Or create a new updateKnowVar static function ?
      • Allow to update TOKEN:SOMETHING too
      • Allow same than before

Existing plugins way

  • updateTokenAttribute
    • Update {TOKEN:ATTRIBUTE_X} during survey
    • Show the only known current solution to udpate existing knowVars (found by this dev)
    • Recnstruct WHOLE session just to update some var : server broker ;)

Read quota from expression

  • If have a GUI for equation question type : we have an nothing to update more. And we have a way.
    • This can be tested with hacking database ;) (already done)