View Issue Details

This bug affects 1 person(s).
 10
IDProjectCategoryView StatusLast Update
06122Bug reportsConditionspublic2012-06-07 11:02
Reportermdekker Assigned Tomdekker  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version1.92+ 
Fixed in Version1.92+ 
Summary06122: EM seems to be holding a cache in admin
Description

When jumping from survey to survey in LS admin, EM doesn't update right.

Steps To Reproduce

Have two surveys
Create some valid relevance equation in survey 1
Now move to the other survey
Check survey relevance
Now move to the first survey again and check your question, the question codes are now red as EM doesn't know the questions
Check survey relevance
Go back to the question, all is valid again

TagsNo tags attached.
Bug heat10
Complete LimeSurvey version number (& build)120517
I will donate to the project if issue is resolvedNo
Browser
Database type & version.
Server OS (if known).
Webserver software & version (if known).
PHP Version.

Relationships

parent of 06134 closedc_schmitz Admin lang aren't used if survey doesn't have admin lang 

Users monitoring this issue

DenisChenu

Activities

TMSWhite

TMSWhite

2012-05-21 19:35

reporter   ~18868

mdekker-

I don't have time to look at this this week. However, it is likely that LS is missing a call to LimeExpressionManager::SetSurveyId() somewhere. That call tells LS which sid it should now be using for EM; and if the sid has changed, then it clears the local EM cache. So, somehow in the sequence of page calls you list, it is mostly likely that SetSurveyId() is not being called.

mdekker

mdekker

2012-05-22 10:13

reporter   ~18871

Found the cause i think, default em language is 'en' while my survey is in dutch ('nl') so i get an empty fieldmap. Will see if I can commit some kind of patch and maybe you can verify it.

mdekker

mdekker

2012-05-22 10:29

reporter   ~18872

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=8533

mdekker

mdekker

2012-05-22 10:37

reporter   ~18873

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=8535

mdekker

mdekker

2012-05-22 10:40

reporter   ~18874

Ok think this should do the trick, not sure if the patch has any side-effects. Don't know if this occurs in yii branch too.

I noticed some of the methods in EM have outdated docblocks that make it hard for me to work with as code completion fails or screws up the arguments in NetBeans. Will update them as I run into it.

DenisChenu

DenisChenu

2012-05-25 17:06

developer   ~18898

Last edited: 2012-05-25 17:06

This time i have:
Connected in admin, test survey A
Goes to survey list page, click to survey B : message : 'this survey is empty'

Need to come back to admin part, launch via surveyB&newtest=Y .
There are a lot of time where i have cache problem.

Myabe we have to look more on :
//checks to see if fieldmap has already been built for this page.
if (isset($_SESSION['fieldmap-' . $surveyid . $s_lang]) && !$force_refresh && $questionid == false) {
if (isset($_SESSION['adminlang']) && $clang->langcode != $_SESSION['adminlang']) {
$clang = new limesurvey_lang($_SESSION['adminlang']);
}
return $_SESSION['fieldmap-' . $surveyid . $s_lang];
}

I try to have a look this week-end :)

TMSWhite

TMSWhite

2012-05-25 17:27

reporter   ~18899

Denis-

Calling LimeExpressionManager::SetDirtyFlag() forces the re-creation of $fieldmap. However, checking to see whether the fieldmap exists does not clear the EM cache, so I recommend either:
(1) Find all of the places where SetDirtyFlag() should be called and ensure that it is.
(2) Add a button in admin to clear the cache (by calling SetDirtyFlag(). Only developers will need that, but it could prove handy

c_schmitz

c_schmitz

2012-05-28 18:15

administrator   ~18974

mdekker: Sorry, but I reverted that patch because is causing the admin to change language to the suvey language at all times. This was a serious issue so I had to re-release another 1.92+.

mdekker

mdekker

2012-05-29 09:52

reporter   ~18987

With admin language set to Dutch it didn't change, only with admin language set to English it changed for me. Anyway, the real error is ofcourse that SetSurveyLanguage doesn't only set a survey language but sets all languages. I think that separation of languages like that is better handled in Yii branch. Check out my latest commit, this only sets em language.

mdekker

mdekker

2012-05-29 09:52

reporter   ~18988

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=8568

mdekker

mdekker

2012-05-29 09:55

reporter   ~18989

Last commit is related to:
http://bugs.limesurvey.org/view.php?id=6134

So can you please verify that it now works like it should? I already verified that relevance highlighting works.

DenisChenu

DenisChenu

2012-05-29 10:19

developer   ~18990

Yes !

Seems to work :) for 06134 too.

c_schmitz

c_schmitz

2012-06-07 11:02

administrator   ~19106

New 1.91+ build released.

Related Changesets

LimeSurvey: master 99bd1fb4

2012-05-22 01:24:33

mdekker

Details Diff
Fixed 06122: EM seems to be holding a cache in admin
dev: seems to be a problem with empty fieldmap on invalid language, would be even better to fix the fieldmap creation to not accept invalid languages
Affected Issues
06122
mod - admin/admin.php Diff File
mod - classes/expressions/ExpressionManager.php Diff File
mod - classes/expressions/LimeExpressionManager.php Diff File

LimeSurvey: master a964251d

2012-05-22 01:37:31

mdekker

Details Diff
Fixed 06122: EM seems to be holding a cache in admin
dev: only set language when a surveyid is set
Affected Issues
06122
mod - admin/admin.php Diff File

LimeSurvey: master 1a9a0f3f

2012-05-29 00:50:46

mdekker

Details Diff
Fixed 06122: EM seems to be holding a cache in admin
dev: now only setting language in EM
Affected Issues
06122
mod - admin/admin.php Diff File

Issue History

Date Modified Username Field Change
2012-05-21 16:25 mdekker New Issue
2012-05-21 16:25 mdekker Status new => assigned
2012-05-21 16:25 mdekker Assigned To => TMSWhite
2012-05-21 19:35 TMSWhite Note Added: 18868
2012-05-22 10:13 mdekker Note Added: 18871
2012-05-22 10:29 mdekker Changeset attached => LimeSurvey master 99bd1fb4
2012-05-22 10:29 mdekker Note Added: 18872
2012-05-22 10:29 mdekker Assigned To TMSWhite => mdekker
2012-05-22 10:29 mdekker Resolution open => fixed
2012-05-22 10:37 mdekker Changeset attached => LimeSurvey master a964251d
2012-05-22 10:37 mdekker Note Added: 18873
2012-05-22 10:40 mdekker Note Added: 18874
2012-05-25 17:06 DenisChenu Note Added: 18898
2012-05-25 17:06 DenisChenu Note Edited: 18898
2012-05-25 17:06 DenisChenu Issue Monitored: DenisChenu
2012-05-25 17:27 TMSWhite Note Added: 18899
2012-05-26 14:03 DenisChenu Relationship added parent of 06134
2012-05-28 18:15 c_schmitz Note Added: 18974
2012-05-29 09:52 mdekker Note Added: 18987
2012-05-29 09:52 mdekker Changeset attached => LimeSurvey master 1a9a0f3f
2012-05-29 09:52 mdekker Note Added: 18988
2012-05-29 09:55 mdekker Note Added: 18989
2012-05-29 09:55 mdekker Assigned To mdekker => DenisChenu
2012-05-29 09:55 mdekker Status assigned => feedback
2012-05-29 10:19 DenisChenu Note Added: 18990
2012-05-29 10:22 DenisChenu Status feedback => resolved
2012-05-29 10:22 DenisChenu Fixed in Version => 1.92+
2012-05-29 10:22 DenisChenu Assigned To DenisChenu => mdekker
2012-06-07 11:02 c_schmitz Note Added: 19106
2012-06-07 11:02 c_schmitz Status resolved => closed
2021-08-03 02:04 guest Bug heat 8 => 10