LON-CAPA courses can be both self-cataloging, and also manually cataloged.
Self-cataloging uses the institutional course code assigned to the
course when it is first created, or when the course is modified by
a Domain Coordinator via \char`\"{}Modify a course\char`\"{}. If a
course has no institutional code it will not appear in the category:
Official courses (with institutional codes).
A hierarchy of categories and sub-categories can be defined which
are independent of institutional course codes. These categories might
be used to catalog courses in the domain to which the \char`\"{}official
courses\char`\"{} designation does not apply, or they might be used
to provide alternative ways of cataloging official courses.
Besides definition of the hierarchy of categories and sub-categories,
the \char`\"{}cataloging of courses\char`\"{} screen provides two
options to be set for the domain by a Domain Coordinator, which control:
\begin{itemize}
\item Who may hide a course from the course catalog, if the course would
ordinarily appear by virtue of having an institutional course code,
or having been assigned to a custom category/sub-category.
\item Who may assign a custom category/subcategory to a course
\end{itemize}
In both cases, the choice is between a Domain Coordinator and a Course
Coordinator. For the former, hiding of courses and assignment of categories
will be via \char`\"{}Modify Course\char`\"{}, while for the latter
these operations will be via \char`\"{}Modify Parameters\char`\"{}
(\char`\"{}Set Course Environment\char`\"{} option in sub-menu).
Definition of custom categories is by the Domain Coordinator. The
\char`\"{}Cataloging of courses\char`\"{} interface allows custom
categories and sub-categories to be defined and reordered. There is
one category listed at the top level in the hierarchy which behaves
differently to the others - the category: \char`\"{}Official courses
(with institutional codes)\char`\"{}. This is the category which is
used for self-cataloged courses: the option is to either display or
not display.
Although sub-categories can not be defined via this interface for
this \char`\"{}system\char`\"{} category (unlike the other \char`\"{}custom\char`\"{}
categories), customization of two routines in localenroll.pm - \&instcode\_defaults()
and \&instcode\_format() are used to automatically generate linked
select boxes which will be displayed when the course catalog is shown
to allow users to include limits to their searches for official courses.
If these routines have not been customized, the catalog for official
courses will display all courses with institutional codes, which have
not been specifically hidden.
When \&instcode\_format() has been customized it will populate perl
structures (hashes and arrays) which LON-CAPA will use to generate
the Javascript code embedded in the course catalog page which is used
in the functioning of the linked select boxes. The contents of the
hashes and arrays are determined from the complete list of institutional
course codes used in the domain. For example at MSU, the following
linked select boxes are displayed for the official courses catalog:
Year, Semester, Department, Number.
The course catalog is useful in domains where Course Coordinators
have opted to allow self-enrollment in their courses. In such cases,
students can include a flag to only display courses allowing self
enrollment when they display courses from the catalog. Course Coordinators
will be advised, when enabling self-enrollment, if a courses is currently
unlisted in the course catalog (and therefore difficult for students
to locate), and the action to take to rectify the reason why there
is no listing, which could be because:
\begin{itemize}
\item the course is hidden
\item the course has no institutional code
\item the course has not been assigned to any custom categories
\item the course has an institutional code, but display of the official
courses catalog is disabled
\end{itemize}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>