Content is in a Learn course. There are several videos that students watch, then take a quiz. We check the status of these quizzes in the portal to determine whether the item is complete or not.
Users are added to the course through a UC4 process flow called DU_GEN_NEW_STU_LEARN, with a job called ICZSNSTU.
The job calls a stored procedure which defines the population to add to the course. The important thing to note about the below query is the use of the NEWSTUDENT role.
cursor assignment_sel is select distinct v_courseid || '|' || gobsrid_sourced_id || '|' || 'S|enabled' vOUTPUT from gorirol, gobsrid where gorirol_pidm = gobsrid_pidm and gorirol_role = 'NEWSTUDENT' and not exists (select 'x' from bbSaaS.bbtUSERS u, bbSaaS.bbtCOURSE_USERS cu, bbSaaS.bbtCOURSE cm where u.batch_uid = gobsrid_sourced_id and cu.crsmain_pk1 = cm.course_pk1 and cu.users_pk1 = u.user_pk1 and cm.course_id = v_courseid and cu.row_status = 0 and not u.batch_uid like 'TEST%') order by 1;
It then adds users into a temp table:
/* USER */ insert into bbSaaS.bbtUSERS select * from BBSAAS.bbvUSERS; /*COURSE MAIN */ insert into bbSaaS.bbtCOURSE select * from BBSAAS.bbvCOURSE; /* COURSE USERS */ insert into bbSaaS.bbtCOURSE_USERS select * from BBSAAS.bbvCOURSE_USERS;
Finally a feed file is generated and scp'd to netxfer. A script is started on netxfer via a remote ssh command that processes the generated feed file. This actually updates Learn.