[LON-CAPA-users] using &submission() between problems

Stuart Raeburn raeburn at msu.edu
Tue Dec 15 14:43:43 EST 2015


For the purposes of re-usability, if an authored LON-CAPA problem  
incorporates dependencies on a student's submission(s) to other  
problem(s) in the current course, then arguably you should be working  
with published sequences, and you should be importing those published  
sequences into the course.

For the case of a published sequence imported into a course the symb  
will *not* contain the course ID, so yes it is independent of the  
course.  However, it is not true to say that it is unique to the  
resource, as it is in fact unique to the instance of the resource.

A symb is constructed from map___id___res, where map is the enclosing  
sequence (or composite page), id is the unique id assigned to the  
resource in the map, and res is the resource.  So you could have two  
different published maps in a course, with both containing the same  
resource, but each instance of the resource would have a unique symb  
(maps will be different).  Similarly, you could have a single sequence  
in a course containing multiple instances of the same resource, and  
again, each instance would be unique (the ids would be different).

Anyway, because the symb needs to be unique, quite a number of lines  
of LON-CAPA code are employed in ensuring that you do not end up with  
two instances of the same published map in a single course, when using  
the Course Editor clipboard to copy and paste with nested folders.

In my previous reply I mentioned that if you are using folders  
generated in the Course Editor instead of published sequences then  
there is no support for mapaliases, and you need to use a symb.

Of course, the problem with the symb in this case, is that it does  
include the course ID, which means that authored resources that  
include calls to &submission() in the script block, and have a  
hard-coded symb as the sixth argument are not going to be re-usable.  
If you built resources that way (I wouldn't recommend it), you would  
want to publish with custom rights, with use restricted to a single  
course (i.e., the one featured in the symb arg in &submission() calls).

It is actually possible to use Simple Problems within a course (with  
type set to numerical) and within the Scripting section include calls  
to &submission() which contain a sixth arg, providing the symb for  
another resource in a folder in the course, e.g.,

$a = &submission('numerical','numericalsegment','',  

But that's counter to the LON-CAPA philosophy of re-usability.

Stuart Raeburn
LON-CAPA Academic Consortium

Quoting "Mills, Douglas G" <dmills at illinois.edu>:

> Just to confirm -- it appears to me that the symb is unique to the
> resource and independent of the course, is that correct?
> Thanks,
> Doug
> Douglas Mills
> Director of Instructional Technology
> Department of Chemistry
> University of Illinois
> On 12/14/15, 4:57 PM, "lon-capa-users-bounces at mail.lon-capa.org on behalf
> of Stuart Raeburn" <lon-capa-users-bounces at mail.lon-capa.org on behalf of
> raeburn at msu.edu> wrote:
>> Bob,
>> The syntax is described in the LON-CAPA Script Functions help item:
>> e.g.,
>> http://loncapa.chem.binghamton.edu/adm/help/Problem_LON-CAPA_Functions.hlp
>> To access a student's submissions in a different problem you need to
>> supply a sixth argument -- a maplias, and the call is:
>> &submission($partid,$responseid,$version,$encode,$cleanupnum,$mapalias);
>> In the case of a published sequence, where you have authoring or
>> co-authoring rights, you can set a mapalias for a particular resource
>> in the sequence using the Advanced Editor in Authoring Space (prior to
>> publication).
>> If there is no mapalias set you can use the (much longer) unique
>> identifier of the resource instance (known as the "symb"). If you are
>> using a folder added via the Course Editor rather than a published
>> sequence, there is currently no mechanism to set a mapalias for a
>> particular resource instance in the folder (which is actually still a
>> sequence internally in LON-CAPA), so you will have to use the "symb".
>> You can display a list of "symb"s in a course using:
>> Course Editor > Content Utilities >  List Resource Identifiers
>> (the "symb"s are in the "Identifier" column).
>> Stuart Raeburn
>> LON-CAPA Academic Consortium
>> Quoting Bob Gonzales <rgonzal at binghamton.edu>:
>>> Hi,
>>> The release notes for 2.11.1 say this about &submission():
>>> &submission() in one problem can access submissions by the same student
>>>     in a different problem.
>>> Does this mean any problems in a course that the student has access to
>>> or
>>> do the problems still have to be in a sequence?
>>> If a sequence is not required then what would be the the syntax of the
>>> call?
>>> Thanks,
>>> Bob Gonzales
>>> Binghamton University
>>> Chemistry Dept
>> _______________________________________________
>> LON-CAPA-users mailing list
>> LON-CAPA-users at mail.lon-capa.org
>> http://mail.lon-capa.org/mailman/listinfo/lon-capa-users
> _______________________________________________
> LON-CAPA-users mailing list
> LON-CAPA-users at mail.lon-capa.org
> http://mail.lon-capa.org/mailman/listinfo/lon-capa-users

More information about the LON-CAPA-users mailing list