EM Enhancements

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

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 ?"

Usage
Another version, using  for assignment:

Yet another version, using a function:

Would also work with.

(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

 * Existing plugin : Simple usage of afterSurveySubmitted updateTokenByResponse

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)