[LON-CAPA-users] EXT question
Ray Batchelor
lon-capa-users@mail.lon-capa.org
Wed, 13 May 2009 22:16:08 -0700
Hi Brew,
On Wed, May 13, 2009 at 6:20 PM, <Robert_Brewington@er.monroe.edu> wrote:
> Ah, found my first problem - Firefox was blocking popups. The RAT needs
> popups to work... So now I am seeing the screens Ray suggests.
>
> So now I have set the mapalias parameter in four different places, in hopes
> of one working:
>
> In WholeThing.sequence, I named the mapalias "A" for Part 0. I think this is
> the one Ray indicates should work.
I'm not sure I understand what you mean by this. I did not think that
sequences had parts, as such. The way I would think about it is that
I would set the map alias for a particular problem within the
sequence. I assume that the significance of "part 0" is that the
alias refers to the problem as an entire entity regardless of how many
parts it has.
>
> Just for fun, I also set "B" to point to parameter_inputMass_mapalias, the
> mapalias for the particular part id="inputMass".
>
> I set mapalias in the published First problem to be "C". Ray has indicated
> that this will not work, but just trying to be thorough...
I'm not sure I understand what you mean by this.
So I probably did not intend to indicate this.... or at least I would
use different words to describe what I think.
>
> I also randomly tried to set the parameter in the part id=inputMass problem
> directly with
> <parameter name="mapalias" id="110" default="D" type="string_type"
> description="mapalias" />. Interestingly, this seems to override the 'B' I
> set in the sequence.
>
> Now, in Second.problem I have:
>
> $v1 = &EXT('user.resource.resource.inputMyMass.myMass.submission',
> &EXT("A")); # Ray says should work
No. I don't think I said that.
My suggestion would be like the following:
$v1=&EXT('user.resource.resource.inputMyMass.myMass.submission','A');
provided that the .problem resource to which the alias A has been
assigned exists within a published sequence in your course, somewhere.
As for the others you are suggesting, I'm not sure I follow, at all,
what you have done, or are trying to do.
In my mind, the map alias parameter is always associated with a
particular .problem resource in a published sequence. This may not be
the only way to do this, but it is a way that works.
I do not believe that I have ever tried defining a map alias in a
.problem resource. Only within a .sequence, but referring to a
particular problem within the sequence.
So, to be explicit, here is an example:
Suppose I publish ProbA.problem and it has any number of parts.
Suppose that part id="11" in ProbA.problem has a response with id="12".
Next I create a sequence -- let's call it My.sequence.
In that sequence I import any number of problems, one of which is
ProbA.problem. Now, in the 'Advanced edit' mode I click on the
resource holder containing ProbA.problem and use "Set Parameters" to
set the parameter "Resource alias name for conditions [Part: 0]
parameter_0_mapalias" to be AAA.
I save and publish My.sequence and import it into either the Main
Course Documents or some other folder in my course.
Next, I create or edit a different problem -- let's call it ProbB.problem.
In a perl script block within ProbB.problem I define:
$subA=&EXT('user.resource.resource.11.12.submission','AAA');
I publish ProbB.problem and include it somewhere in my course...
(possibly within My.sequence or in a different published sequence, or
even in a DOCS folder, or the Main Course Docs. I don't think it
matters, although I could be wrong. Usually I would have put it in a
different published sequence, merely because that is the way I have
wanted to construct my course.
Now I should find that if a student has made a submission for
ProbA.problem, then variable $subA in ProbB.problem should have the
value of the student's submission to part11 response12 of
ProbA.problem.
Cheers,
Ray