The way mnet auth works now, you need to jump to the subscriber system in order for your account there to be created. When you're working with an SIS, it's quite possible that you want all your accounts to go from one system to the other regularly...it's no good being unable to assign your students to courses until they've each bothered to log in to the system, for example.
The client who's funding this integration wants Moodle's casual student-driven enrollment system to continue driving their enrollments, so version 1.0 of this integration will basically push the user directory, all enrollments, and grades from Moodle to SchoolTool. This means I need a cron-driven update to make sure SchoolTool is up-to-date.
- I [believe I] need a representation in the Moodle DB of the state of the integration as understood by SchoolTool. That way I can avoid regular redundancy in mnet calls, and only send new or updated user info (for example) when I know something has changed in Moodle that we haven't successfully sent to SchoolTool yet. This means I need to create one or more tables that will be managed by auth/mnet. These tables will need to contain basically everything that's getting sent to SchoolTool, or at least a primary key for each sent row and an md5sum of what was sent (so I can tell when updates are necessary).
- auth/mnet/auth.php has a cron() function, but I need it to do things like ensure the other side has all the latest updates. It seems that for each user needing to be updated in SchoolTool, this cron() function could call an mnet interface in SchoolTool that tells SchoolTool to pretend a login session has been requested, so SchoolTool will then do the equivalent of confirm_mnet_session(), ask Moodle for the account info, and create the account.
Thanks,
Matt