[LON-CAPA-users] Variables in libraries

Felicia Berryman lon-capa-users@mail.lon-capa.org
Sat, 26 Jul 2008 17:37:38 -0400


Hi Brew,

The data displays in the spreadsheet in the order: part, import, then 
submission.  This is also the way the order I coded it in my testing. 
I'd file a bug report.

Let me know if you want me to file one for you.

Felicia


Robert_Brewington@er.monroe.edu wrote:
> Actually, I did try a few variations on this:
> 
> user.resource.resource.ImportId.PartId.ResponseId
> user.resource.resource.ImportId.ResponseId
> user.resource.resource.ImportIdPartId.ResponseId
> user.resource.ImportId.PartId.ResponseId
> user.resource.resource.PartId.ImportId.ResponseId
> user.resource.resource.PartIdImportId.ResponseId
> 
> I was hoping the answer would be something like this, but since I don't 
> understand the naming scheme in the first place, it is hard to know what 
> to try.
> 
> brew
> -----lon-capa-users-admin@mail.lon-capa.org wrote: -----
> 
>     To: lon-capa-users@mail.lon-capa.org
>     From: Felicia Berryman <felicia@lon-capa.org>
>     Sent by: lon-capa-users-admin@mail.lon-capa.org
>     Date: 07/25/2008 04:59PM
>     Subject: Re: [LON-CAPA-users] Variables in libraries
> 
>     Hi Brew,
> 
>     I used <import id="IMPORT-ID">
> 
>     Then, in the spreadsheet, the submissions shows as
>     stores_PART-ID_IMPORT-ID_SUBMISSION-ID_submission
> 
>     I tried using the import id in the $Key definition but couldn't get it
>     to work.  Try playing with this though.  It appears you need to use the
>     import id to access the submission.
> 
>     Felicia
> 
>     Felicia Berryman wrote:
>      > Hi Brew,
>      >
>      > Just making your example simpler.  You can use my text below to
>     create a
>      > bug report if no one has any ideas on how to make this work.
>      >
>      > $Key displays after submission using problem code below:
>      > ---------------------------------------------
>      > <problem>
>      > <script type="loncapa/perl">
>      > $Key
>     =&EXT('user.resource.resource.PART-ID.SUBMISSION-ID.submission');
>      > </script>
>      >
>      > <part id="PART-ID">
>      > <startouttext />Enter something<endouttext />
>      > <stringresponse answerdisplay="Got it" answer="/.*/"
>     id="SUBMISSION-ID"
>      > type="re">
>      > <textline readonly="no"></textline>
>      > </stringresponse>
>      > </part>
>      >
>      > <startouttext /><p>You entered $Key</p><endouttext />
>      > </problem>
>      > ---------------------------------------------
>      >
>      > $Key doesn't display after submission using problem code below:
>      > ---------------------------------------------
>      > <problem>
>      > <script type="loncapa/perl">
>      > $Key
>     =&EXT('user.resource.resource.PART-ID.SUBMISSION-ID.submission');
>      > </script>
>      >
>      > <part id="PART-ID">
>      > <import>brew.library</import>
>      > </part>
>      >
>      > <startouttext /><p>You entered $Key</p><endouttext />
>      > </problem>
>      > ---------------------------------------------
>      > Where brew.library is:
>      > ---------------------------------------------
>      > <library>
>      > <startouttext />Enter something<endouttext />
>      > <stringresponse answerdisplay="Got it" answer="/.*/"
>     id="SUBMISSION-ID"
>      > type="re">
>      > <textline readonly="no"></textline>
>      > </stringresponse>
>      > </library>
>      > ---------------------------------------------
>      >
>      > Felicia
>      >
>      > Robert_Brewington@er.monroe.edu wrote:
>      >> I have been beating this for a couple of days, and am having
>     trouble
>      >> understanding a) what is going on, and b) what I should do about
>     it:)
>      >>
>      >> The basic idea is that I want to put various pieces of code in
>      >> libraries, which are then called from the main problems.
>     Otherwise I
>      >> end up with the same code copied into many problems; when I want to
>      >> make a change, I have to somehow find all those problems and change
>      >> them. Of course, LonCapa doesn't have any search tools, so it is
>      >> awkward to do this over my 7000 problems.
>      >>
>      >> The problem I am having is understanding when my script
>     variables will
>      >> work and when they won't. I know this has to do with the order that
>      >> the main problem html versus the libraries are
>      >> parsed/evaluated/something.
>      >>
>      >> In the example below, the status of the problem part SetupKey
>     within
>      >> the FunctionCode library is retrieved fine. However, I do not
>     seem to
>      >> be able to retrieve the SetupKey submission at any time, either
>     from
>      >> within the FunctionCode library (the ideal case) or from the
>      >> MainProblem code.
>      >>
>      >> So, 1) why doesn't this work? and
>      >> 2) how would I obtain the submission?
>      >>
>      >> Thanks for any clues,
>      >> brew
>      >>
>      >> MainProblem.problem: =========================================
>      >> <problem>
>      >> <script type="loncapa/perl">
>      >> $KeyCodeBeforeMain =
>      >> &EXT('user.resource.resource.SetupKey.KeyCode.submission');
>      >> $whichScript="BeforeMain";
>      >> </script>
>      >>
>      >> <import id="SetKey">FunctionCode.library</import>
>      >>
>      >> <script type="loncapa/perl">
>      >> $KeyCodeAfterMain =
>      >> &EXT('user.resource.resource.SetupKey.KeyCode.submission');
>      >> $whichScript="AfterMain";
>      >> </script>
>      >>
>      >> <part id=junk>
>      >> <startouttext />
>      >> whichScript is {$whichScript} <p/>
>      >> statusKey is {$statusKey} <p/>
>      >> KeyCodeBeforeMain is {$KeyCodeBeforeMain}  <p/>
>      >> KeyCodeBefore is {$KeyCodeBefore}  <p/>
>      >> KeyCodeAfter is {$KeyCodeAfter}  <p/>
>      >> KeyCodeAfterMain is {$KeyCodeAfterMain}  <p/>
>      >>
>      >> <endouttext />
>      >> <stringresponse answer="yes" id="stuff" type="ci">
>      >> <textline readonly="no">
>      >> </textline>
>      >> </stringresponse>
>      >> </part>
>      >> </problem>
>      >>
>      >>
>      >> FunctionCode.library: ===========================================
>      >> <library>
>      >>
>      >> <script type="loncapa/perl">
>      >> $KeyCodeBefore =
>      >> &EXT('user.resource.resource.SetupKey.KeyCode.submission');
>      >> $statusKey = &EXT('user.resource.resource.SetupKey.solved');
>      >> $whichScript="BeforeSetupKey";
>      >> </script>
>      >>
>      >>
>      >> <part id="SetupKey">
>      >> <startouttext />
>      >> Enter the key
>      >> <endouttext />
>      >> <stringresponse id="KeyCode" answer="/.*/" type="re">
>      >> <textline readonly="no">
>      >> </textline>
>      >> </stringresponse>
>      >> </part>
>      >>
>      >> <script type="loncapa/perl">
>      >> $KeyCodeAfter =
>      >> &EXT('user.resource.resource.SetupKey.KeyCode.submission');
>      >> $whichScript="AfterSetupKey";
>      >> </script>
>      >>
>      >> </library>
>      >>
>      >> ==========================================================
>      >>
>      >> _______________________________________________ LON-CAPA-users
>     mailing
>      >> list LON-CAPA-users@mail.lon-capa.org
>      >> http://mail.lon-capa.org/mailman/listinfo/lon-capa-users
>      >
> 
>     -- 
>     Felicia Berryman
>     Instructional Systems
>     Michigan State University
>     (517)432-7326
>     LON-CAPA Technical Support Available at:
>        http://www.loncapa.msu.edu - MSU Users
>        http://www.help.lon-capa.org - General
>     _______________________________________________
>     LON-CAPA-users mailing list
>     LON-CAPA-users@mail.lon-capa.org
>     http://mail.lon-capa.org/mailman/listinfo/lon-capa-users
> 
> 
> 
> _______________________________________________ LON-CAPA-users mailing 
> list LON-CAPA-users@mail.lon-capa.org 
> http://mail.lon-capa.org/mailman/listinfo/lon-capa-users

-- 
  Felicia Berryman
  LON-CAPA Support Coordinator
  Michigan State University
  Phone:  (517)432-9866
  Technical Support Available at:
    http://www.loncapa.msu.edu - MSU Users
    http://www.help.lon-capa.org - General