Log of /branches/rel-2-3-dev/webwork2/lib/WeBWorK/CourseEnvironment.pm
Parent Directory
Revision
3688 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 5 18:16:52 2005 UTC (7 years, 8 months ago) by
sh002i
Original Path:
trunk/webwork2/lib/WeBWorK/CourseEnvironment.pm
File length: 10179 byte(s)
Diff to
previous 3682
Implemented status system as per bug #743.
The status system consists of a new hash in the course environment,
%statuses, that maps status names (like "Enrolled", "Drop", "Audit") to
(a) a list of allowed abbreviations for the status and (b) a list of
behaviors the system should have when dealing with users who have the
status.
I didn't want to have to mangle that hash-of-hashes-of-arrays myself in
many modules, but I also didn't want to devote an entire module
(Status.pm) to it. So, I'm trying a little experiment: I've added them
as methods to WeBWorK::CourseEnvironment. My thinkint is that since all
the data for these operations comes from the course environment, so why
not have them be course environment methods? Here they are:
status_abbrev_to_name($status_abbrev)
Given the abbreviation for a status, return the name. Returns undef
if the abbreviation is not found.
status_name_to_abbrevs($status_name)
Returns the list of abbreviations for a given status. Returns an
empty list if the status is not found.
status_has_behavior($status_name, $behavior)
Return true if $status_name lists $behavior.
status_abbrev_has_behavior($status_abbrev, $behavior)
Return true if the status abbreviated by $status_abbrev lists
$behavior.
Since I removed the previous $siteDefaults{status} hash from
global.conf, I have already switched modules that formerly used that
hash over to using the new methods:
Authen.pm: use status_abbrev_has_behavior($status, "allow_course_access")
to determine if a user should be allowed to log in.
Feedback.pm: look up status abbreviation using status_abbrev_to_name()
and print the result for the status field in the email.
Instructor.pm: use status_abbrev_has_behavior($status, "include_in_assignment")
to determine if a user should be included in an assignment.
UserList.pm and UsersAssignedToSet.pm: use status_abbrev_to_name() to
get name of CSS class.
Revision
3682 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Oct 2 19:51:45 2005 UTC (7 years, 8 months ago) by
jj
Original Path:
trunk/webwork2/lib/WeBWorK/CourseEnvironment.pm
File length: 7710 byte(s)
Diff to
previous 3674
New Config module. It will put its course settings in a file simple.conf
along side course.conf. Changes are:
URLPath.pm: wiring so the Config module can be called
ContentGenerator.pm: link in left panel to Config module
CourseEnvironment.pm: evaluate simple.conf. File name can be specified
when creating a new CourseEnvironment. This allows it to be bypassed
(which is currently used), or to test a simple settings file (not
used now, but it might be useful).
Constants.pm: all data about configuration is stored here. New values
can just be added here, unless they are a new type.
Config.pm: new module for limited course configuration.
Note, it might be better to move the new variable in Constants.pm to
another file. Committing changes to Constants.pm can be an extra
hassle since it contains some site specific configuration.
Revision
2491 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 12 02:30:32 2004 UTC (8 years, 11 months ago) by
sh002i
Original Path:
trunk/webwork2/lib/WeBWorK/CourseEnvironment.pm
File length: 7720 byte(s)
Diff to
previous 2442
MORE CONFIG CHANGES -- PLEASE READ.
I've changed the way WeBWorK is configured yet again. The Apache
configuration for WeBWorK is now done with <Perl> sections. This solves
the problem of "seeding" global.conf with initial values for the various
root directories and base URLs. it also eliminates redundancy in the
Apache configuration file itself.
The Apache configuration for WeBWorK is now contained in the file
conf/webwork.apache-config. This file is used both for normal systems,
where WeBWorK is integrated into the main Apache server, and development
systems, where each developer runs his or her own Apache server.
Inside webwork.apache-config, seven configuation variables are set:
$webwork_url The base URL handled by Apache::WeBWorK.
$webwork_dir The path to the base webwork2 directory.
$pg_dir The path to the base pg directory.
$webwork_htdocs_url The base URL of the WeBWorK htdocs directory.
$webwork_htdocs_dir The path to the WeBWorK htdocs directory.
$webwork_courses_url The base URL of the WeBWorK courses directory.
$webwork_courses_dir The path to the WeBWorK courses directory.
These variables are used to configure the <Location>, Alias, AliasMatch,
and <Directory> directives necessary for WeBWorK operation.
$webwork_root and $pg_root are also used in "use lib" lines to add the
WeBWorK and PG lib directories to @INC.
Additionally, the above values are shared with WeBWorK via the
%WeBWorK::SeedCE hash. WeBWorK.pm passes the contents of this hash
(along with a value for "courseName") to CourseEnvironment.pm when
initializing the course environment. In turn, CourseEnvironment.pm seeds
the course environment namespace with these variables before evaluating
global.conf and course.conf.
Revision
1663 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 9 01:12:32 2003 UTC (9 years, 6 months ago) by
sh002i
Original Path:
trunk/webwork2/lib/WeBWorK/CourseEnvironment.pm
File length: 5744 byte(s)
Diff to
previous 1125
Normalized headers. All files now contain the text below as a header.
This is important since all files now (a) use the full name of the
package, (b) assign copyright to "The WeBWorK Project", (c) give the
full path of the file (relative to CVSROOT) instead of simply the file
name, and (d) include license and warranty information.
Here is the new header:
################################################################################
# WeBWorK Online Homework Delivery System
# Copyright © 2000-2003 The WeBWorK Projcct, http://openwebwork.sf.net/
# $CVSHeader$
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of either: (a) the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any later
# version, or (b) the "Artistic License" which comes with this package.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the
# Artistic License for more details.
################################################################################
Revision
455 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 5 21:34:18 2002 UTC (10 years, 10 months ago) by
sh002i
Original Path:
trunk/webwork2/lib/WeBWorK/CourseEnvironment.pm
File length: 4092 byte(s)
Diff to
previous 440
"normalized" files:
- (c) header on all files
- standard order of preamble lines:
1. (c) header
2. package PACKAGENAME;
3. short summary of the package (pod's NAME section)
4. use - pragmatic modules
5. use - standard perl modules
6. use - CPAN modules
7. use - webwork modules
- ALWAYS use strict and use warnings
- use "use base" rather than "our @ISA"
so now we can be happy.
-sam
Revision
412 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 25 20:29:22 2002 UTC (10 years, 11 months ago) by
sh002i
Original Path:
trunk/webwork2/lib/WeBWorK/CourseEnvironment.pm
File length: 3210 byte(s)
Diff to
previous 401
global: added some new hashes. learn how to use diff.
CourseEnv: new uses WeBWorK::Utils
WW: commented out a silly debugging function
IO: fixed package name
Translator: changed behavior of evaluate_modules and
load_extra_packages: they now update the instance variable directly to
avoid sharing modules that weren't asked for "this time".
-sam
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.