--- loncom/html/adm/help/tex/Author_LON-CAPA_Introduction.tex 2013/08/18 01:37:44 1.7
+++ loncom/html/adm/help/tex/Author_LON-CAPA_Introduction.tex 2023/12/23 23:25:05 1.16
@@ -2,12 +2,22 @@
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).
+Typically all author functions will be completed using a web browser (Firefox, Chrome, Safari, Opera, IE, Edge 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, quick reference guides are available for both manuals 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.
+\subsubsection*{Work spaces and workflow}
+
+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 when creating resources such as problems that can later be added to your course.
+
+LON-CAPA facilitates workflow by providing a couple of mechanisms to switch easily between course container context and authoring context without the need to visit the Roles menu to change roles:
+\begin{itemize}
+\item For resources already included in a course and which originate from an authoring space for which you have access (i.e., you are author or co-author), then an Edit link will be present in the Functions menu directly above the resource when displaying it as a Course Coordinator, and the link will take you directly to the authoring environment for that resource.
+\item If you want to create a new LON-CAPA assessment item in a course, you can do so via the Course Editor, by following the ``Standard Problem'' link in the Assessment ``mini'' tab (with the ``Main Content'' tab active).
+\end{itemize}
+
+\subsubsection*{Before you start}
Before creating problems, you should have:
@@ -17,9 +27,9 @@ Before creating problems, you should hav
\item developed the directory structure that you plan to use to organize your resources
\end{itemize}
-\textbf{Overview of the Authoring Process}
+\subsubsection*{Overview of the Authoring Process}
-Graphics, problems, and html pages are all considered \textbf{resources.} Additional resources include reusable snippets of perl, xml, cascade style sheets, etc. This manual documents the process used to create and organize the more advanced types of resources.
+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}
@@ -29,35 +39,57 @@ The authoring process involves these ste
\item revise your resources after publishing to improve clarity or eliminate bugs
\end{itemize}
-\textbf{Importance of Planning your Directory Structure}
+\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.
-\textbf{Understanding xml and the Colorful Editor}
+\subsubsection*{The LON-CAPA markup language}
+
+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{} and ends with an \emph{end tag} like \texttt{}.
+Additionally, each structure (called an \emph{element}) can have \emph{attributes}, each one composed of a name and a value. For instance, \texttt{} 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 (unless the empty element syntax is used, as with \texttt{
}).
+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.
-Problems are written in xml markup, which can appear complex when you first start to work with LON-CAPA if you have not done html or other coding. However, each xml element has a starting and closing argument, just like html. This manual includes a reference on xml markup used to write problems.
+HTML elements are not listed in this manual, but good resources are available on the web to learn HTML. For instance:
+\begin{itemize}
+\item Learn web development:\\
+\texttt{https://developer.mozilla.org/en-US/docs/Learn/HTML}
+\item HTML element reference:\\
+\texttt{https://developer.mozilla.org/en-US/docs/Web/HTML/Reference}
+\end{itemize}
-The authoring environment includes a 'colorful' web-based editor that can be used for authoring your first problems. Even experts will
-often start with the colorful editor to build a template for a problem. It is possible to switch back and forth between the colorful editor and xml when composing and testing your problems. Often simple issues are easier to clean up directly in xml. Also, it is easier to copy/paste xml to
-build additional problem sections compared to using the colorful editor.
+\subsubsection*{Available editors}
-\textbf{Scripts}
+By default, the authoring environment includes five different editors, although your domain administrator may have chosen to make fewer than five available.
+\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 either via the \emph{Authoring Space Configuration} link/icon in Preferences, or via Settings $>$ Editing Options in the inline menu (in Authoring Context).
+\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. CKEditor is an HTML editor, with some support for LON-CAPA-specific elements such as \texttt{} and \texttt{}, for which plugins have been added.
+\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 based on the Daxe XML editor for the web. It adds an XML schema, Daxe configuration and user interface code for the markup language used by LON-CAPA documents. 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 way that makes it easier to edit documents with cut/copy/paste and drag \& drop features. HTML elements are often displayed exactly the way they will look outside the editor environment. 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}
-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 to use in scripts. This manual includes a section on writing scripts.
+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 in general may be easier with one of the other editors.
-\textbf{Maxima and R}
+\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.
-\textbf{Comments}
+\subsubsection*{Comments}
-Commenting you xml and scripts is important for both you and other users. Commenting within a loncapa/perl script
+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. Problems are coded in xml. Comments in xml are of the format \texttt{}.
-\index{comment markers}However, it is important to know that the XML comments
-propagate through to the rendered web page viewed by students while the perl comments
+parsing. Comments in HTML and XML use the syntax \texttt{}.
+\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{} element, because its content is safely discarded when the web page is created.