[system] / trunk / webwork2 / lib / WeBWorK / DB Repository:
ViewVC logotype

Log of /trunk/webwork2/lib/WeBWorK/DB

View Directory Listing Directory Listing


Sticky Revision:

Revision 1589 - Directory Listing
Modified Thu Oct 16 03:12:44 2003 UTC (9 years, 7 months ago) by sh002i
fixed the problem where all user values appear to be overridden. no bug
for this is bugzilla though.

Revision 1587 - Directory Listing
Modified Wed Oct 15 19:36:13 2003 UTC (9 years, 7 months ago) by sh002i
fixed how "gets" was being called. It has to be called with a list of
array references. fixed several implementations of "gets".
closes bug #252.

Revision 1569 - Directory Listing
Modified Tue Oct 7 00:27:00 2003 UTC (9 years, 7 months ago) by sh002i
fixed new implementations of "get" -- they need to return a single item,
not a list of items!

Revision 1568 - Directory Listing
Modified Mon Oct 6 23:50:58 2003 UTC (9 years, 7 months ago) by sh002i
added optimized implementations for DB getOBJECTs functions.

Revision 1493 - Directory Listing
Modified Tue Sep 9 02:01:51 2003 UTC (9 years, 8 months ago) by gage
Modified parseDateTime  so that it handles time strings of the form
01/03/03 at 06:00am.  The " at " retains compatibility with webwork 1.9
which is important for import and export.  This fixes a bug introduced
when changing formatDateTime.  #204 and #203  should be fixed by this.

In this file I added warning messages in distGlobalValues() which
check to make sure fields are defined.  Hopefyully this is not
a huge time sync, but will help with debugging.
--Mike

Revision 1367 - Directory Listing
Modified Fri Jul 11 21:19:52 2003 UTC (9 years, 10 months ago) by malsyned
Removed spurious warning message

Revision 1342 - Directory Listing
Modified Thu Jul 10 19:23:42 2003 UTC (9 years, 10 months ago) by malsyned
Fixed some bugs that would have made Sam's hair straighten.

Revision 1341 - Directory Listing
Modified Thu Jul 10 19:11:20 2003 UTC (9 years, 10 months ago) by malsyned
Disting of global values to each user now works.  This fixes bug #123

Revision 1334 - Directory Listing
Modified Wed Jul 9 23:39:40 2003 UTC (9 years, 10 months ago) by malsyned
Finally squashed that pesky undefined fields bug that's been plaguing my
GDBM efforts. Next!

Revision 1236 - Directory Listing
Modified Fri Jun 20 17:04:03 2003 UTC (9 years, 11 months ago) by sh002i
new{Password,PermissionLevel,Key,User,GlobalSet,UserSet,...} now pass an
optional prototype object to the record class's constructor. this allows
you to use these methods in place of global2user and user2global (which
you should):

	my $userSet = $db->getUserSet($userID, $setID);
	my $gloalSet = $db->newGlobalSet($userSet);

You can even do weird things like:

	my $gloalSet = $db->newGlobalSet($userProblem);

The WeBWorK::DB::Record class just copies the values of ANY matching
fields from the old object to the new object.

Revision 1231 - Directory Listing
Modified Fri Jun 20 01:21:15 2003 UTC (9 years, 11 months ago) by sh002i
optimizations.

Revision 1230 - Directory Listing
Modified Fri Jun 20 01:20:59 2003 UTC (9 years, 11 months ago) by sh002i
removed unneeded info for deprecated hash2records/records2hash
functions -- these are not used by WW1Hash anymore, but they are used by
Classlist1Hash. Fix that.

Revision 1208 - Directory Listing
Modified Wed Jun 18 22:40:24 2003 UTC (9 years, 11 months ago) by sh002i
removed useless prototypes.

Revision 1207 - Directory Listing
Modified Wed Jun 18 22:40:09 2003 UTC (9 years, 11 months ago) by sh002i
added NONKEYFIELDS function

Revision 1206 - Directory Listing
Modified Wed Jun 18 21:00:40 2003 UTC (9 years, 11 months ago) by sh002i
removed unused code

Revision 1171 - Directory Listing
Modified Mon Jun 16 18:18:02 2003 UTC (9 years, 11 months ago) by sh002i
added Driver.pm, a superclass for all DB drivers.
-sam

Revision 1168 - Directory Listing
Modified Sat Jun 14 06:01:19 2003 UTC (9 years, 11 months ago) by sh002i
removed outdated warning.
-sam

Revision 1167 - Directory Listing
Modified Fri Jun 13 23:35:54 2003 UTC (9 years, 11 months ago) by sh002i
Several changes to the DB system:

Made all schemas subclasses of WeBWorK::DB::Schema, factored common
constructor code out into Schema.pm. Made all drivers subclasses of
WeBWorK::DB::Schema, factored common constructor code out into
Driver.pm.

Removed superfluous style() and tables() functions from schemas and
drivers. (You can treat the constants in which these are defined as
functions, and call them like $object->STYLE or $object->STYLE().)

WeBWorK::DB now tries to build all tables defined in %dbLayout, instead
of using its own internal list. (TODO: add warnings if known tables are
not built or unknown tables are built.)

Made the error messages given during DB instantiation a little more
intelligent.

Changed the behavior of the exists() and delete() schema methods in all
schemas (and updated the docs) s.t. not all elements of @keyparts have
to be defined.

Changed WeBWorK::DB to allow undefined values to be passed instead of
IDs in delete* method calls, but only if the call was made from
WeBWorK::DB itself (to protect you from accidentally passing an
undefined value and clobbering your whole database).

Changed delete functions to be more efficient. For example,
deleteGlobalSet no longer has to say:

	$self->deleteUserSet($_, $setID)
		foreach $self->listSetUsers($setID);
	$self->deleteGlobalProblem($setID, $_)
		foreach $self->listGlobalProblems($setID);

Instead it says:

	$self->deleteUserSet(undef, $setID);
	$self->deleteGlobalProblem($setID, undef);

This is somewhat more efficient with hash-style schemas, and MUCH more
efficient with the SQL schema.

As usual, be wary of lingering bugs. w00t!
-sam

Revision 1106 - Directory Listing
Modified Tue Jun 10 18:37:39 2003 UTC (9 years, 11 months ago) by malsyned
Removed a warning in WW1Hash.
Renamed a function with a confusing name: assignProblemToAllUsers =>
assignProblemToAllSetUsers.
-Dennis

Revision 1096 - Directory Listing
Modified Mon Jun 9 23:25:09 2003 UTC (9 years, 11 months ago) by sh002i
*** empty log message ***

Revision 1035 - Directory Listing
Modified Thu Jun 5 22:58:42 2003 UTC (9 years, 11 months ago) by sh002i
Fixed (again) the GlobalTableEmulator.
-sam

Revision 1031 - Directory Listing
Modified Thu Jun 5 20:29:50 2003 UTC (9 years, 11 months ago) by sh002i
contains pod docs.
-sam

Revision 1027 - Directory Listing
Modified Thu Jun 5 19:34:38 2003 UTC (9 years, 11 months ago) by malsyned
Now I'm exporting InitializeUserProblem
-Dennis

Revision 1026 - Directory Listing
Modified Thu Jun 5 19:26:31 2003 UTC (9 years, 11 months ago) by malsyned
Added a function "initializeUserProblem" to WeBWorK::DB::Utils and
changed my code to use it.
-Dennis

Revision 972 - Directory Listing
Modified Mon Jun 2 20:08:53 2003 UTC (9 years, 11 months ago) by sh002i
The delete() method now uniformly returns a false value (instead of
dying) if no matching record exists.
-sam

Revision 969 - Directory Listing
Modified Mon Jun 2 19:57:17 2003 UTC (9 years, 11 months ago) by sh002i
took out some debugging output.
-sam

Revision 962 - Directory Listing
Modified Mon Jun 2 06:51:35 2003 UTC (9 years, 11 months ago) by malsyned
Added problem editor links.
took out an unnecessary warning.
-Dennis

Revision 958 - Directory Listing
Modified Fri May 30 21:37:15 2003 UTC (9 years, 11 months ago) by sh002i
fixed several stupid errors.
-sam

Revision 956 - Directory Listing
Modified Fri May 30 21:09:19 2003 UTC (9 years, 11 months ago) by sh002i
Added the capability to the GlobalTableEmulator to designate a user
whose records will be used as global records. To specify this, set the
globalUserID param for the tables using the GlobalTableEmulator (in
%dbLayout). It's probably good to do this on a per-course basis. Put the
following in your course.conf:

	$dbLayout{set}->{params}->{globalUserID} = "professor";
	$dbLayout{problem}->{params}->{globalUserID} = "professor";

If globalUserID is not present, GlobalTableEmulator will use consensus
(which is very slow!).
-sam

Revision 953 - Directory Listing
Modified Fri May 30 18:14:14 2003 UTC (9 years, 11 months ago) by sh002i
Made listGlobalProblems more efficient. (I have to go back and look at
the rest of DB and see if there are any more optimizations that can be
made.)
-sam

Revision 949 - Directory Listing
Modified Fri May 30 17:45:52 2003 UTC (9 years, 11 months ago) by sh002i
removed some debugging output.
-sam

Revision 944 - Directory Listing
Modified Thu May 29 23:42:24 2003 UTC (9 years, 11 months ago) by sh002i
added GlobalTableEmulator.pm
added global2user and user2global to Utils.pm
small changes to WW1Hash.pm
-sam

Revision 931 - Directory Listing
Modified Wed May 28 19:21:04 2003 UTC (9 years, 11 months ago) by sh002i
changed the Schema interface (to include a reference to $db) and changed
DBI connect to connect_cached.
-sam

Revision 923 - Directory Listing
Modified Wed May 28 01:27:38 2003 UTC (9 years, 11 months ago) by sh002i
additional work on DB system and SQL backend.
Record:: classes now support a can() method.
fixed some other stuff.
-sam

Revision 919 - Directory Listing
Modified Wed May 28 00:24:27 2003 UTC (9 years, 11 months ago) by sh002i
changed ->id to ->whatever_id
-sam

Revision 917 - Directory Listing
Modified Tue May 27 23:56:57 2003 UTC (9 years, 11 months ago) by sh002i
removed old database system.
-sam

Revision 915 - Directory Listing
Modified Tue May 27 23:42:23 2003 UTC (9 years, 11 months ago) by sh002i
croak instead of die.
-sam

Revision 913 - Directory Listing
Modified Tue May 27 23:05:09 2003 UTC (9 years, 11 months ago) by sh002i
removed unused problem_order field.
-sam

Revision 909 - Directory Listing
Modified Tue May 27 20:11:18 2003 UTC (9 years, 11 months ago) by sh002i
added:
* listSetUsers($setID) - lists users to whom a set has been assigned
* listProblemUsers($setID, $problemID) - lists users to whom a problem
                                         has been assigned
Both return userIDs.
-sam

Revision 904 - Directory Listing
Modified Mon May 26 22:13:34 2003 UTC (9 years, 11 months ago) by sh002i
More SQL work. Appears to be working, after very limited testing. See
forthcoming email for details.
-sam

Revision 874 - Directory Listing
Modified Tue May 20 23:08:03 2003 UTC (10 years ago) by sh002i
initial work on SQL backend. untested.
-sam

Revision 841 - Directory Listing
Modified Thu May 15 00:56:27 2003 UTC (10 years ago) by sh002i
added SQL.pm driver module.
-sam

Revision 839 - Directory Listing
Modified Thu May 15 00:55:49 2003 UTC (10 years ago) by sh002i
cruft removal.
-sam

Revision 838 - Directory Listing
Modified Thu May 15 00:55:27 2003 UTC (10 years ago) by sh002i
added keyfield information.
-sam

Revision 818 - Directory Listing
Modified Fri Apr 25 04:51:37 2003 UTC (10 years, 1 month ago) by sh002i
modev more content generators over to the new WWDBv2 API. fixed some
bugs.
-sam

Revision 816 - Directory Listing
Modified Wed Apr 23 06:38:12 2003 UTC (10 years, 1 month ago) by sh002i
misc fixes.
-sam

Revision 808 - Directory Listing
Modified Thu Apr 17 21:01:17 2003 UTC (10 years, 1 month ago) by sh002i
Lots of work on WWDBv2... WW1Hash is done! A complete dbLayout (as
detailed on global.conf.dist) works now.
-sam

Revision 807 - Directory Listing
Modified Wed Apr 16 06:32:36 2003 UTC (10 years, 1 month ago) by sh002i
now supports sparse problem IDs.
-sam

Revision 806 - Directory Listing
Modified Wed Apr 16 04:43:40 2003 UTC (10 years, 1 month ago) by sh002i
added a dummy driver and schema.
-sam

Revision 798 - Directory Listing
Modified Fri Mar 21 23:30:16 2003 UTC (10 years, 2 months ago) by sh002i
initial support for WWDBv2:
        - DB.pm finished (except for getGlobalUser{Set,Problem} methods)
        - schema modules for password, permission, key, and user with
          WWDBv1 hash-bashed backends
        - GDBM driver
        - wwdb command-line frontend
-sam

Revision 797 - Directory Listing
Modified Fri Mar 21 21:43:04 2003 UTC (10 years, 2 months ago) by sh002i
renamed Permission.pm to PermissionLevel.pm.
because i am stupid.
-sam

Revision 796 - Directory Listing
Modified Fri Mar 21 21:41:31 2003 UTC (10 years, 2 months ago) by sh002i
renamed PermissionLevel.pm to Permission.pm
-sam

Revision 783 - Directory Listing
Modified Fri Mar 7 21:30:10 2003 UTC (10 years, 2 months ago) by sh002i
dded Record modules for the new database. these replace the
WeBWorK::{User,Set,Problem} modules currently used.
-sam

Revision 779 - Directory Listing
Modified Fri Mar 7 19:44:14 2003 UTC (10 years, 2 months ago) by sh002i
added the GDBM driver.
some changes to doc/new-DB-*
-sam

Revision 764 - Directory Listing
Modified Fri Feb 28 23:26:29 2003 UTC (10 years, 2 months ago) by sh002i
fixed a small bug in the prototype of deletePSVN().
-sam

Revision 763 - Directory Listing
Modified Fri Feb 28 23:06:15 2003 UTC (10 years, 2 months ago) by sh002i
removed stupid functions
-sam

Revision 646 - Directory Listing
Modified Sat Nov 23 00:25:40 2002 UTC (10 years, 6 months ago) by sh002i
added REAL logout support. keys now get invalidated at logout.
also, fixed a bug in classlist (see the diff).
also, added a sub to Utils (see the diff).
-sam

Revision 562 - Directory Listing
Modified Fri Sep 27 23:53:42 2002 UTC (10 years, 7 months ago) by sh002i
- created macros/IO.pl, which is loaded with no opmask by PG.pm. It is a copy
  of WeBWorK::PG::IO.pm, with some changes to make it work as a macro package.
  The translator no longer shares IO.pm's functions with the safe compartment.
  This is a BAD THING, and should be reconsidered when the Translator is
  revised.
- Changed many (but not all) checks for HTML or HTML_tth modes to match /^HTML/
  in the macros.
- changed &header to &head in Problem.pm
- Added problem environment variables for gif2eps and png2eps and modified
  &dangerousMacros::alias to use them
- fixed MOST of the harmless warnings in the system. there's still the "Use
  of uninitialized value in null operation" warning in template(), tho.

Still to come:

- make images in PDFs work
- fix TTH mode character encodings on mac (maybe)
- have logout button invalidate key
- Pretty die messages (from outside of the translator)
- Feedback - need nice modular way of sending email
- Options - email address and password

Revision 494 - Directory Listing
Modified Wed Aug 21 18:31:20 2002 UTC (10 years, 9 months ago) by sh002i
updated copyright header.
-sam

Revision 476 - Directory Listing
Modified Tue Aug 20 01:07:18 2002 UTC (10 years, 9 months ago) by sh002i
fixed problem with deciding when to generate images in math2img mode
finished adding template escapes to ProblemSets, ProblemSet, and Problem

fixed a problem where modules were removed from the courseEnv while
being loaded (whups.)
-sam

Revision 455 - Directory Listing
Modified Mon Aug 5 21:34:18 2002 UTC (10 years, 9 months ago) by sh002i
"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 430 - Directory Listing
Modified Thu Jul 18 19:02:10 2002 UTC (10 years, 10 months ago) by malsyned
Changed a comment to be a little more accurate
--Dennis

Revision 428 - Directory Listing
Modified Fri Jul 12 19:02:14 2002 UTC (10 years, 10 months ago) by sh002i
removed &encode and &decode. replaced calls with those to
WeBWorK::Utils's &dbDecode and &dbEncode
-sam

Revision 426 - Directory Listing
Modified Fri Jul 12 18:48:47 2002 UTC (10 years, 10 months ago) by sh002i
added 'g' to the s/// expressions that escape/unescape & and =

Revision 412 - Directory Listing
Modified Tue Jun 25 20:29:22 2002 UTC (10 years, 11 months ago) by sh002i
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

Revision 390 - Directory Listing
Modified Wed Jun 19 22:45:47 2002 UTC (10 years, 11 months ago) by malsyned
This commit brings several packages up to date and working.  I wish I could
be more specific, but it's been a while since I've committed.  You'll have
to check the CVS diffs for more info.
--Dennis

Revision 389 - Directory Listing
Modified Wed Jun 19 21:46:03 2002 UTC (10 years, 11 months ago) by sh002i
Finished debugging. This might be somewhere near working order. The API
won't change from now on, so go ahead and start using it.
-sam

Revision 377 - Directory Listing
Modified Tue Jun 18 19:25:08 2002 UTC (10 years, 11 months ago) by sh002i
promote undef to "" in encode()
-sam

Revision 369 - Directory Listing
Modified Tue Jun 18 16:17:15 2002 UTC (10 years, 11 months ago) by sh002i
renamed Webwork.pm to WW.pm
-sam

Revision 367 - Directory Listing
Modified Mon Jun 17 23:09:08 2002 UTC (10 years, 11 months ago) by sh002i
writing DB::Webwork.pm ...

Revision 362 - Directory Listing
Modified Wed Jun 12 21:56:29 2002 UTC (10 years, 11 months ago) by sh002i
wrote all the prototypes. no implementations yet tho. :(
-sam

Revision 361 - Directory Listing
Modified Tue Jun 11 23:33:03 2002 UTC (10 years, 11 months ago) by sh002i
started the Webwork database interface.
fun, fun, fun...
-sam

Revision 360 - Directory Listing
Modified Tue Jun 11 23:32:08 2002 UTC (10 years, 11 months ago) by sh002i
added documentation to public functions.
THIS IS THE DOCUMENTATION STYLE THAT I WANT TO USE FROM NOW ON! :)
-sam

Revision 359 - Directory Listing
Modified Tue Jun 11 17:10:30 2002 UTC (10 years, 11 months ago) by sh002i
Renamed WeBWorK::DB::User to WeBWorK::User, since it's not strictly tied
to the database layer. WeBWorK::Set and WeBWorK::Problem will be handled
the same way.
-sam

Revision 358 - Directory Listing
Modified Mon Jun 10 22:40:34 2002 UTC (10 years, 11 months ago) by sh002i
Implemented classlist database access using the User class for data
storage. Implements "classlist_DBglue.pl" style locking.
-sam

p.s.: don't you with that usernames could be included in the cvs mail
log? too bad cvs only exposes the UNIX username to the logging script. i
should patch cvs... bah...

Revision 350 - Directory Listing
Modified Fri Jun 7 21:42:29 2002 UTC (10 years, 11 months ago) by sh002i
fixed implementation of getUsers -- untested

Revision 346 - Directory Listing
Modified Thu Jun 6 19:23:56 2002 UTC (10 years, 11 months ago) by sh002i
added @usernames = getUsers()

Revision 345 - Directory Listing
Modified Thu Jun 6 18:51:59 2002 UTC (10 years, 11 months ago) by sh002i
(14:44:58) LordSammy:
getKey($user) - returns current session key for $user or false if none exists
setKey($user, $key) - sets $user's key to $key
verifyKey($user, $key) - true if $key eq getKey($user)
deleteKey($user) - removes session key for $user

Revision 340 - Directory Listing
Modified Wed Jun 5 19:12:47 2002 UTC (10 years, 11 months ago) by sh002i
trying to fix Auth.pm when hash keys don't exist.
-sam

Revision 339 - Directory Listing
Modified Wed Jun 5 19:09:31 2002 UTC (10 years, 11 months ago) by sh002i
try this too
-sam

Revision 338 - Directory Listing
Modified Wed Jun 5 19:07:21 2002 UTC (10 years, 11 months ago) by sh002i
try this

Revision 337 - Directory Listing
Modified Wed Jun 5 18:32:12 2002 UTC (10 years, 11 months ago) by sh002i
more improvements, i think.

Revision 334 - Directory Listing
Modified Fri May 31 20:46:20 2002 UTC (10 years, 11 months ago) by sh002i
developers, developers, developers, developers, developers, developers,
developers, developers, developers, developers, developers, developers.

Revision 332 - Directory Listing
Modified Fri May 31 17:37:20 2002 UTC (10 years, 11 months ago) by sh002i
in GDBM.pm, connect() now behaves when attempting to connect to a
nonexistent database. Auth.pm now respects the return values from
GDBM::connect

Revision 331 - Directory Listing
Modified Fri May 31 16:39:38 2002 UTC (10 years, 11 months ago) by sh002i
fixed the tie call to not be wrong.
-sam

Revision 330 - Directory Listing
Modified Fri May 31 04:30:42 2002 UTC (10 years, 11 months ago) by sh002i
finished it!

Revision 317 - Directory Listing
Modified Thu May 30 19:14:40 2002 UTC (10 years, 11 months ago) by sh002i
written, not debugged.
-sam

Revision 316 - Directory Listing
Modified Thu May 30 19:13:47 2002 UTC (10 years, 11 months ago) by sh002i
changed GDBM's interface a little -- you now specify the access mode
when connecting rather than when constructing.
-sam

Revision 310 - Directory Listing
Added Sat May 25 00:35:54 2002 UTC (11 years ago) by sh002i
roar!
-sam

Sort log by:

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9