I'm new to Moodle, so my problems are likely due to my inexperience....
I'm trying to set up external database enrolment on Moodle 2.0 rc2, but I'm not seeing any of the courses or enrolments in this DB being added.
I've tried following the doc at:http://docs.moodle.org/en/External_database
but I'm still having trouble.
My Moodle tables look like:
SELECT id, category, fullname, shortname, idnumber FROM mdl_course;
+----+----------+--------------------+--------------------+----------+
| id | category | fullname | shortname | idnumber |
+----+----------+--------------------+--------------------+----------+
......
| 2 | 1 | Course-1 | Course-1 | Course-1 |
+----+----------+--------------------+--------------------+----------+
SELECT id, auth, username, password, idnumber, firstname, lastname FROM mdl_user;
+----+--------+----------+----------------------------------+----------+------------+----------+
| id | auth | username | password | idnumber | firstname | lastname |
+----+--------+----------+----------------------------------+----------+------------+----------+
......
| 4 | ldap | s167 | not cached | | xxx | xxxx |
+----+--------+----------+----------------------------------+----------+------------+----------+
Course-1 and the single enrolment to this was manually created.
I've created two mysql tables:
DESCRIBE enrol;
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| courseid | varchar(20) | NO | PRI | | |
| fullname | varchar(100) | YES | | NULL | |
| shortname | varchar(50) | YES | | NULL | |
| category | varchar(20) | YES | | NULL | |
+-----------+--------------+------+-----+---------+-------+
SELECT * FROM enrol;
+----------+----------+-----------+---------------+
| courseid | fullname | shortname | category |
+----------+----------+-----------+---------------+
| Course-2 | Course-2 | Course-2 | Miscellaneous |
| 1 | 1 | 1 | Miscellaneous |
+----------+----------+-----------+---------------+
DESCRIBE course;
+----------+--------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+-------------------+-----------------------------+
| userid | varchar(100) | NO | PRI | | |
| courseid | varchar(20) | NO | PRI | | |
| gname | varchar(100) | YES | | NULL | |
| sname | varchar(100) | YES | | NULL | |
| modified | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| active | int(11) | YES | | NULL | |
| role | varchar(20) | YES | | NULL | |
+----------+--------------+------+-----+-------------------+-----------------------------+
SELECT * FROM course;
+--------+----------+-------+---------+---------------------+--------+---------+
| userid | courseid | gname | sname | modified | active | role |
+--------+----------+-------+---------+---------------------+--------+---------+
| s167 | Course-1 | Paul | Beckett | 2010-11-25 13:16:50 | 1 | student |
| s167 | Course-2 | Paul | Beckett | 2010-11-25 15:15:20 | 1 | student |
| s167 | 1 | Paul | Beckett | 2010-11-25 15:26:03 | 1 | student |
| s167 | 2 | Paul | Beckett | 2010-11-25 15:26:13 | 1 | student |
+--------+----------+-------+---------+---------------------+--------+---------+
In the Plugins -> Enrolments -> External Database, I have configured this as:
Database Driver: mysqli
<relevant db details>
Local Course field: idnumber
Loca User field: username
Local role field: shortname
Remote course field: userid
Remote user field: courseid
Remote role field: role
New course full name field: fullname
New course short name field: shortname
New course ID number field: courseid
New course category field: category
I'm really stuck at the moment, and would very much appreaciate it if anyone is able to point me in the right direction, or can see what I am dong wrong.
Thanks,
Paul