File:
[LON-CAPA] /
loncom /
html /
adm /
help /
tex /
Author_LON-CAPA_Introduction.tex
Revision
1.13:
download - view:
text,
annotated -
select for diffs
Thu Jan 19 21:12:45 2017 UTC (7 years, 7 months ago) by
damieng
Branches:
MAIN
CVS tags:
HEAD
edited sections about XML, comments, algebra, chem, m, script, startouttext, reformatted problem examples, added &input
\label{Author_LON-CAPA_Introduction}
LON-CAPA is a web-based content management system that helps to organize and present your
course website, deliver and manage assignments, and manage student enrollment, assessment, and grading.
Typically all author functions will be completed using a web browser (Firefox, Chrome, Safari, IE or similar).
The one exception to this is where your LON-CAPA domain has been configured to support webDAV access, in which
case you may be able to carry out standard file operations (copy, move, add file etc.) using your computer's
standard filesystem interface, after you have established access to your authoring space volume.
LON-CAPA has three work spaces: the ROLES menu, the course/community space where courses are developed from resources, and the authoring space where resources are composed and published. There are two user manuals for LON-CAPA, a course coordinator manual and author manual. Also, there are quick reference guides to building a course and building an exam, available at \texttt{http://help.loncapa.org} . This is the author manual used to create resources such as problems that can later be added to your course.
Before creating problems, you should have:
\begin{itemize}
\item developed learning objectives that you want to evaluate for your course/community
\item determined the appropriate question formats and developed your problems for input into LON-CAPA. Examples for question formats are provided in this manual and also when authoring a problem.
\item developed the directory structure that you plan to use to organize your resources
\end{itemize}
\subsubsection*{Overview of the Authoring Process}
Graphics, problems, and html pages are all considered \textbf{resources.} Additional resources include reusable snippets of perl, xml, cascading style sheets, etc. This manual documents the process used to create and organize the more advanced types of resources.
The authoring process involves these steps:
\begin{itemize}
\item create or upload a resource. The resource can combine other uploaded resources such as graphics, code snippets, or problem sequences
\item test and revise your resource
\item publish the resource to make it available for integration into a course/community and/or sharing
\item revise your resources after publishing to improve clarity or eliminate bugs
\end{itemize}
\subsubsection*{Importance of Planning your Directory Structure}
Once a resource has been published, the published version can never be moved or deleted. Thus, it is important to plan your folder structure. Old resources
can be marked obsolete, and the version in your authoring space deleted, but the published version(s) will remain in your folders in the locations in which
they were originally published.
\subsubsection*{The LON-CAPA markup language and the 5 editors}
Content documents are created in the LON-CAPA markup language. Like HTML, which is the language used to create all content on the web, the LON-CAPA language is a \emph{markup language}. A markup language is simply structured with \emph{tags}: each structure in the document starts with a \emph{start tag} like \texttt{<problem>} and ends with an \emph{end tag} like \texttt{</problem>}.
Additionally, each structure (called an \emph{element}) can have \emph{attributes}, each one composed of a name and a value. For instance, \texttt{<foil value="true">} starts a true foil.
A markup language is defined essentially with a list of elements and attributes, and rules specifying which element is allowed inside which other element.
The LON-CAPA language includes most HTML elements, and adds more elements which are described in this manual. The syntax is similar to HTML, but with an additional constraint: when an element is started with a start tag, it must always be closed with an end tag.
This syntax is sometimes called ``XML'' in this manual. XML is a specific syntax for markup languages, but the LON-CAPA language is actually not using the XML syntax, which would require escaping special characters in scripts.
\bigbreak
The authoring environment currently includes 5 different editors:
\begin{itemize}
\item The \emph{plain text editor} is simply a text area that lets you edit the source code directly. It lacks any special feature, but can be useful for people with disabilities because it is supported by screen readers. To use it, CodeMirror must be disabled in the preferences, in the \emph{Authoring Space Configuration} section.
\item \emph{CodeMirror} is a text editor, and it is launched when you click on the ``EditXML'' button. It lets you edit the source code directly, but adds syntax highlighting and templates to help with editing the code.
\item \emph{CKEditor} is a simple WYSIWYG HTML editor used in LON-CAPA to edit blocks of plain text or HTML. It is used when you click on the ``Edit'' button for a \texttt{.html} file and click on ``Rich formatting''. It can also be used within the colorful editor to edit blocks of text, also by clicking on the ``Rich formatting'' link.
\item The \emph{colorful editor} is LON-CAPA's default editor, launched when you click on the ``Edit'' button for a \texttt{.problem} file. It hides the source code and displays the document with colored boxes representing the elements. It provides a list of elements that can be inserted at a particular place in the document, helps to choose correct values when several values are possible for an attribute, and generally makes sure the syntax is correct.
\item \emph{Daxe} is a new editor, meant to replace the colorful editor in the future. It is started with the ``Daxe'' button. Like the colorful editor, it hides the source code and provides a graphical interface which makes it easier to create documents without knowing the language. It displays elements in a better way, and makes it easier to edit documents with cut/copy/paste and drag \& drop features. HTML elements are often displayed exactly the way they look like in the end. Many response elements have both a ``simple'' and an ``advanced'' view, making it easy to create simple problems. A preview is available to the right, making it easy to see what the entire document will look like.
\end{itemize}
It is possible to edit a problem in one editor, save it, and switch to another editor to continue. Authors are encouraged to try all editors to find their favorite, but it is also possible to use an editor for certain operations and another one for other operations. Simple syntax errors can for instance be fixed easily with CodeMirror, but editing is in general easier with Daxe.
\subsubsection*{Scripts}
The power of LON-CAPA for problem randomization and computing randomized answers is realized through writing perl script at the top of a problem. Example scripts are included in many example problems, and most resource authors publish scripts with the problems, so many examples are available. Many special functions have been created for use in scripts. This manual includes a section on writing scripts.
\subsubsection*{Maxima and R}
Two computer algebra systems are interfaced to LON-CAPA, Maxima and R. This provides for algebra and calculus problems and responses. The R system has strong capabilities for statistics. Special script functions are provided to call Maxima and R to generate correct responses for a randomized problem, and also to check student responses.
\subsubsection*{Comments}
Commenting your XML and scripts is important for both you and other users. Commenting within a loncapa/perl script
is denoted with a \#. This can be entered anwhere in a line and the remainder of the line will be ignored when
parsing. Comments in HTML and XML use the syntax \texttt{<!-- comment -->}.
\index{comment markers}However, it is important to know that these comments
propagate through to the rendered web page viewed by students while the Perl comments
within the script are not. Hence, writing solution hints within XML comments is
discouraged for obvious reasons.
Another option is to use the \texttt{<comment>} element, because its content is safely discarded when the web page is created.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>