Date: Thu, 28 Mar 2024 18:57:59 +0000 (UTC) Message-ID: <478082172.6813.1711652279181@ip-10-10-7-29.ec2.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_6812_907932599.1711652279179" ------=_Part_6812_907932599.1711652279179 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
We have a loader job to load who has ever taken a course. We only = load the courses that are used in Grouper since there are a LOT of courses = and its not really needed
We have a loader job that attaches dates to courses. Currently we = dont use this much but for instance the result is people who have taken the= FERPA course in the last year
We have a loader job that consists of people whose training will expire = in the next 30 days. The rules for the number of days are in the SQL = where clause. We join that with a "team" group so that the BA can see who i= n the team needs training and they can bug them. Though the LMS sends= out emails too
Everywhere where we use training we have "reprieve groups" which automat= ically set a 1 week expire date. People who need access or whose trai= ning expired get placed in the reprieve group by the BA or security analyst= and they have 5 days to take the training (assuming it takes time for data= to get from LMS to data warehouse, and data warehouse to Grouper).
After a discussion on slack, here is a design for dynamic training polic= ies
Create custom attributes on empty groups in grouper
Group a:b:c (represents people who have taken a certain tra= ining with certain specifications (e.g. this fiscal year)
Loader job
Assume the course completion date is in the grouper database in a table = or view (e.g. by ETL or grouper SQL sync)
Note: if there are performance problems with all those joins, you might = want to use the SQL sync to take parts of it and sync to tables so the perf= ormance is better.