File:  [LON-CAPA] / loncom / html / adm / help / tex / Authoring_Scripting_Tags.tex
Revision 1.5: download - view: text, annotated - select for diffs
Thu Aug 22 19:42:55 2013 UTC (10 years, 10 months ago) by raeburn
Branches: MAIN
CVS tags: version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0, HEAD
 - Compromise to support display in both contextual online help, and aggregated
  in manual (PDF).
  - Identify the "section" by name, because the \ref is converted to a question
    mark icon only, and not a number in online help context.

\label{Authoring_Scripting_Tags}

\begin{itemize}
\item \textbf{display}\index{display}: The intervening Perl script is evaluated
in the safe space and the return value of the script replaces the
entire tag.
\item \textbf{import}\index{import}: This causes the parse to read in the file
named in the body of the tag and parse it as if the entire text of
the file had existed at the location of the tag.
\item \textbf{parserlib}\index{parserlib}: The enclosed filename contains
definitions for new tags.
\item \textbf{script}\index{script}: If the attribute \textbf{type} is
set to {}``loncapa/perl'' the enclosed data is a Perl script which
is evaluated inside the Perl safe space. The return value of the script
is ignored. 
\item \textbf{scriptlib}\index{scriptlib}: The enclosed filename contains
Perl code to run in the safe space.
\item \textbf{block}\index{block}: This has a required argument \textbf{condition}
that is evaluated. If the condition is true, everything inside the
tag is evaluated; otherwise, everything inside the block tag is skipped.
\item \textbf{notsolved}\index{notsolved}: Everything inside the tag is
skipped if the problem is {}``solved''.
\item \textbf{postanswerdate}\index{postanswerdate}: Everything inside
the tag is skipped if the problem is before the answer date.
\item \textbf{preduedate}\index{preduedate}: Everything inside the tag
is skipped if the problem is after the due date. 
\item \textbf{randomlist}\index{randomlist}: The enclosed tags are parsed
in a stable random order. The optional attribute \textbf{show=``N''} restricts
the number of tags inside that are actually parsed to no more than
\textbf{N}. N can equal the total tags inside. The randomlist tag can be used to randomize problem 
parts by wrapping the $<$part$>$ tags with a randomlist tag. 
\index{randomizing parts}Note that when randomlist wraps $<$part$>$ tags, that all
students will work all parts only if \textbf{show=``N''} where N is the total number
of parts wrapped. When N is less than the total number of parts wrapped, 
there will be gaps in the assessment chart, and also in the table
of submissions for each student, corresponding to those parts which are
never available to that particular student. For more examples see Authoring
Library Files section \ref{Authoring_Library_Scripts}. 
\item \textbf{solved}\index{solved}: Everything inside the tag is skipped
if the problem is {}``not solved''.
\item \textbf{while}\index{while}: This implements a while loop. The required
attribute \textbf{condition} is a Perl scriptlet that when evaluated
results in a true or false value. If true, the entirety of the text
between the whiles is parsed. The condition is tested again, etc.
If false, it goes to the next tag.
\end{itemize}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>