Difference between revisions of "Talk:Main Page"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 83: Line 83:
 
* Enabled "External database" auth. in Moodle and disabled "Email-based self-registration".
 
* Enabled "External database" auth. in Moodle and disabled "Email-based self-registration".
 
* Set "Username field" to "LOWER(user_name)"
 
* Set "Username field" to "LOWER(user_name)"
* For salted passwords, set "Password field" to "MD5(CONCAT(user_id,'-',user_password))"
 
  +
* Need to switch each Moodle user from auth='email' to auth='db' (leave 'admin', 'guest', ... as 'manual')

Revision as of 19:33, 24 March 2008

Complete set of docs

Found on the TWiki:

As far as I can tell, the "complete" set of documentation for WeBWorK should consist of the following:

  • a description of webwork for the student, professor, and administrator
  • system requirements (in the installation manual)
  • installation instructions (installation manual)
  • configuration instructions
    • basic configuration is in installation manual
    • a comprehensive list of course environment variables is now in the comments of global.conf and database.conf, but needs to be made accessible. convert to POD?
    • Constants.pm has POD docs, but they have to get put on the wiki
    • the NETPBM stuff is in the installation manual (but really should go away!!!)
  • task-oriented usage instructions
    • admin tasks (like course creation)
      • course admin tasks
    • instructor tasks
    • student tasks
  • command line script documentation
  • library reference (this is/will be POD)
  • pg language reference
    • basics
    • cookbook techniques
    • standard macro packages and modules (some of this exists in POD form on Frontier site)
    • extending pg
  • how to get support
  • contributing to the webwork project (patches, donations, etc)

(this list originally from Message-ID: <20031001034004.A92569@gate.math.rochester.edu>)

-- Main.SamHathaway - 10 Nov 2003

Docs on webhost that are still valuable

Found on the TWiki:

There is quite a bit of documentation written for WebWorK 1.x. Some of it is still applicable to WeBWorK 2, including:

-- Main.SamHathaway - 24 Aug 2004

Fixing authentication

Right now

  • Moodle database is used, a bunch of boondoggle to connect it to MediaWiki (sso in Moodle and AuthMoodle.php (which sucks) in MW.
  • MediaWiki fails! when trying to create MW user record on first login.

I want

  • Primary user database is on MediaWiki (with passwords in MW usesalt format)
  • Moodle creates user record from MW data
    • Can I get Moodle to require the additional required fields that it doesn't get from MW?
  • Moodle authenticates against MW password
    • any issue with usesalt?
  • Do this with Moodle's built-in "external database authentication"

Sam 15:08, 6 March 2008 (EST)

Notes

  • External database authentication ALMOST supports this
  • passtype is used to transform the password string before checking it against the DB.
  • Could add a type for usesalt MD5, but it would have to be a change to the EXECUTE line, since it needs to grab the MW user_id field to use in the hashing.
  • Moodle internal password checking accepts:
    • md5($password.$CFG->passwordsaltmain) (passwordsaltmain is empty by default)
    • md5($password)
  • Also looks at 20 "alternative salts" (whatever they are) but then updates the hashed password to use the current main salt. i assume the alternate salts are previous values for the main salt.
  • See moodle/auth/db/.
  • Bigger problem: transitioning passwords from Moodle to MediaWiki. I think we're OK as long as Moodle's "main salt" is empty and we turn off $wgPasswordSalt in MW.

Testing

  • Wrote script to import password data to mediawiki (and update realname/email).
  • Imported password data for accounts 'sam' (wiki user name 'Sam') and 'samtest0' (wiki user name 'Samtest0').
  • Enabled "External database" auth. in Moodle and disabled "Email-based self-registration".
  • Set "Username field" to "LOWER(user_name)"
  • Need to switch each Moodle user from auth='email' to auth='db' (leave 'admin', 'guest', ... as 'manual')