version 1.40, 2010/07/12 23:55:07
|
version 1.46, 2014/04/16 14:40:11
|
Line 123 sub run() {
|
Line 123 sub run() {
|
<middlename>D</middlename> |
<middlename>D</middlename> |
<startdate></startdate> |
<startdate></startdate> |
<studentID>A12345678</studentID> |
<studentID>A12345678</studentID> |
|
<credits></credits> |
|
<inststatus></inststatus> |
</student> |
</student> |
|
|
with the following at the top of the file |
with the following at the top of the file |
Line 147 sub run() {
|
Line 149 sub run() {
|
If dates are to included in the XML file, they should be in the format |
If dates are to included in the XML file, they should be in the format |
YYYY:MM:DD:HH:MM:SS (: separators required). |
YYYY:MM:DD:HH:MM:SS (: separators required). |
|
|
|
The <credits> tag need only be used if the credits earned by the students will |
|
be different from the default for the course. The course default is set when the |
|
course is created and can be modifed by a Domain Coordinator via "View or |
|
modify a course or community" on the DC's Main Menu screen. |
|
|
|
A value for <inststatus> should be the institutional status used for students, |
|
and should be one of the types defined in inst_usertypes(). If no status |
|
types are defined for the domain this tag can be omitted. If Autoupdate.pl |
|
is enabled in your domain, updates to the institutional status set here |
|
will be updated by Autoupdate.pl, should changes occur. |
|
|
If there were 10 students in fs03nop590001, 5 students in fs03nop59o601, |
If there were 10 students in fs03nop590001, 5 students in fs03nop59o601, |
8 students in fs03nop590602, and 2 students in fs03ost580002, |
8 students in fs03nop590602, and 2 students in fs03ost580002, |
then $$reply{'43551dedcd43febmsul1'} = 25 |
then $$reply{'43551dedcd43febmsul1'} = 25 |
Line 233 sub get_sections {
|
Line 246 sub get_sections {
|
The course section or crosslisted course will only be added to the list of |
The course section or crosslisted course will only be added to the list of |
affiliates if 'ok' is returned. |
affiliates if 'ok' is returned. |
|
|
new_course takes three arguments - |
new_course takes three required arguments - |
(a) the institutional courseID (in the MSU case this is a concatenation of |
(a) the institutional courseID (in the MSU case this is a concatenation of |
semester code, department code, course number, and section number |
semester code, department code, course number, and section number |
e.g., fs03nop590001). |
e.g., fs03nop590001). |
Line 242 sub get_sections {
|
Line 255 sub get_sections {
|
username:domain |
username:domain |
(c) the LON-CAPA domain that contains the course |
(c) the LON-CAPA domain that contains the course |
|
|
|
new_course also takes a fourth (optional) argument - |
|
(d) the course co-owners, as a comma-separated list of username:domain for |
|
any co-owners. |
|
|
=cut |
=cut |
|
|
sub new_course { |
sub new_course { |
my ($course_id,$owner,$dom) = @_; |
my ($course_id,$owner,$dom,$coowners) = @_; |
my $outcome = 'ok'; |
my $outcome = 'ok'; |
return $outcome; |
return $outcome; |
} |
} |
Line 297 validate_instcode takes three arguments
|
Line 314 validate_instcode takes three arguments
|
(c) an optional institutional username for the course owner. |
(c) an optional institutional username for the course owner. |
|
|
An array is returned containing (a) the result of the check for a valid |
An array is returned containing (a) the result of the check for a valid |
instcode, and (b) an (optional) course description. |
instcode, (b) an (optional) course description, and (c) the default credits |
|
earned by students when completing this course. If no institutional credits |
|
value is available, the default credits for the course can be set via the |
|
course request form, or via XML in a batch file, of via the web form used |
|
by the Domain Coordinator to create new courses one at a time. |
|
|
A valid instcode is confirmed by returning 'valid'. |
A valid instcode is confirmed by returning 'valid'. |
|
|
If no course description is available, '' should be set as |
If no course description is available, '' should be set as |
the value of the second item in the returned array. |
the value of the second item in the returned array. |
|
|
Line 308 sub validate_instcode {
|
Line 331 sub validate_instcode {
|
my ($dom,$instcode,$owner) = @_; |
my ($dom,$instcode,$owner) = @_; |
my $outcome = ''; |
my $outcome = ''; |
my $description = ''; |
my $description = ''; |
return ($outcome,$description); |
my $credits = ''; |
|
return ($outcome,$description,$credits); |
} |
} |
|
|
=pod |
=pod |
Line 338 validate_crsreq takes six arguments -
|
Line 362 validate_crsreq takes six arguments -
|
(d) a comma-separated list of institutional affiliations of |
(d) a comma-separated list of institutional affiliations of |
the course owner. |
the course owner. |
(e) the institutional code (in the MSU case this is a concatenation of |
(e) the institutional code (in the MSU case this is a concatenation of |
semester code, department code, and course number, e.g., fs03nop590. |
semester code, department code, and course number, e.g., fs03nop590). |
(f) a comma-separated list of institutional sections included in |
(f) a comma-separated list of institutional sections included in |
the course request (only applicable to official courses). |
the course request (only applicable to official courses). |
|
(g) an optional reference to a hash of custom form data. |
|
The custom form data will come from crsreq_updates(). |
|
|
A valid courserequest is confirmed by returning 'process'. |
A valid courserequest is confirmed by returning 'process'. |
The following can be returned: process, rejected, pending, approval or error (with error condition - no :), followed by a : and then an optional message. |
The following can be returned: process, rejected, pending, approval or |
|
error (with error condition - no :), followed by a : and then an optional message. |
|
|
(a) process - the requestor is the recorded instructor - create the course |
(a) process - the requestor is the recorded instructor - create the course |
(b) rejected - the requestor should never be requesting this course, reject the |
(b) rejected - the requestor should never be requesting this course, reject the |
request permanently |
request permanently |
(c) pending - the requestor is not the recorded instructor, but could |
(c) pending - the requestor is not the recorded instructor, but could |
become so after administrative action at the institution. Put the |
become so after administrative action at the institution. Put the |
request in a queue and check localenroll:validate_instcode() |
request in a queue and, if an official course, check |
periodically until the status changes to "valid". |
localenroll:validate_instcode() periodically until the status changes to |
|
"valid". |
(d) approval - the request will be held pending review by a Domain Coordinator. |
(d) approval - the request will be held pending review by a Domain Coordinator. |
(e) error (followed by the error condition). |
(e) error (followed by the error condition). |
|
|
=cut |
=cut |
|
|
sub validate_crsreq { |
sub validate_crsreq { |
my ($dom,$owner,$crstype,$inststatuslist,$instcode,$instseclist) = @_; |
my ($dom,$owner,$crstype,$inststatuslist,$instcode,$instseclist,$custominfo) = @_; |
my $outcome = 'approval'; |
my $outcome = 'approval'; |
return $outcome; |
return $outcome; |
} |
} |
Line 374 lonnet -> lond -> localenroll.pm) The do
|
Line 402 lonnet -> lond -> localenroll.pm) The do
|
a table where columns are course type (official, unofficial or community) |
a table where columns are course type (official, unofficial or community) |
and rows are institutional affiliations (e.g., Faculty, Staff, Student etc.). |
and rows are institutional affiliations (e.g., Faculty, Staff, Student etc.). |
|
|
crsreq_checks() takes three arguments: $dom, $reqtyes, $validations. |
crsreq_checks() takes three arguments: $dom, $reqtypes, $validations. |
$dom - the domain for which validation options are needed. |
$dom - the domain for which validation options are needed. |
$reqtypes - ref to an ARRAY of course types (i.e., official, unofficial and community. |
$reqtypes - ref to an ARRAY of course types (i.e., official, unofficial and community. |
$validations - ref to a hash of a hash which will determine whether "validate" |
$validations - ref to a hash of a hash which will determine whether "validate" |
Line 413 sub crsreq_checks {
|
Line 441 sub crsreq_checks {
|
return 'ok'; |
return 'ok'; |
} |
} |
|
|
|
sub crsreq_updates { |
|
my ($cdom,$cnum,$crstype,$action,$ownername,$ownerdomain,$fullname,$title, |
|
$code,$incoming,$outgoing) = @_; |
|
unless (ref($outgoing) eq 'HASH') { |
|
return 'fail'; |
|
} |
|
my %extrainfo; |
|
if (ref($incoming) eq 'HASH') { |
|
%extrainfo = %{$incoming}; |
|
} |
|
if ($action eq 'review') { |
|
$outgoing->{'reviewweb'} = ''; |
|
} elsif ($action eq 'prevalidate') { |
|
$outgoing->{'formitems'} = {}; # key=>value, where key is form element name |
|
# and value is multiple, if there |
|
# are multiple form elements with |
|
# the same name. |
|
} elsif ($action eq 'process') { |
|
$outgoing->{'formitems'} = {}; # key=>value, where key is form element name |
|
# and value is multiple, if there |
|
# are multiple form elements with |
|
# the same name. |
|
} elsif ($action eq 'created') { |
|
$outgoing->{'createdweb'} = ''; |
|
$outgoing->{'createdmsg'} = [{ |
|
mt => '', |
|
args => [], |
|
}]; |
|
} elsif ($action eq 'queued') { |
|
$outgoing->{'queuedmsg'} = [{ |
|
mt => '', |
|
args => [], |
|
}]; |
|
$outgoing->{'queuedweb'} = ''; |
|
} |
|
return 'ok' |
|
} |
|
|
=pod |
=pod |
|
|
=item create_password() |
=item create_password() |
Line 731 sub instcode_defaults {
|
Line 797 sub instcode_defaults {
|
keys will be unique IDs (student or faculty/staff ID) |
keys will be unique IDs (student or faculty/staff ID) |
values will be either: scalar (username) or an array |
values will be either: scalar (username) or an array |
if a single ID matches multiple usernames. |
if a single ID matches multiple usernames. |
|
(d) $lc_users - reference to hash containing LON-CAPA usernames in |
|
in domain $dom, as keys. Needed if institutional |
|
data source only allows query by username. |
returns 1 parameter - 'ok' if no processing error, or other value |
returns 1 parameter - 'ok' if no processing error, or other value |
if an error occurred. |
if an error occurred. |
side effects - populates the $instusers and $instids refs to hashes. |
side effects - populates the $instusers and $instids refs to hashes. |
Line 741 sub instcode_defaults {
|
Line 810 sub instcode_defaults {
|
=cut |
=cut |
|
|
sub allusers_info { |
sub allusers_info { |
my ($dom,$instusers,$instids) = @_; |
my ($dom,$instusers,$instids,$lc_users) = @_; |
my $outcome = 'ok'; |
my $outcome = 'ok'; |
return $outcome; |
return $outcome; |
} |
} |