- Grouper Training Environment dev notes - generate images
- Grouper Training Environment presentation standards
Design
Slack bookmarks
(include links)
Welcome to Grouper School! Here's some information to keep on hand so that you can access the class resources quickly:
- Zoom - same Zoom for the course introduction, office hours, and live instruction
- Canvas: (check link!!!)
- Pre-Course Survey - tell us what you hope to learn!
- Training wiki
- VM credentials
- VM jump page
- Text to copy/paste
- 101 corrections
- Kahoot
- Post-course survey
Monday meeting
- intro
- dont email me
- slack bookmarks at top
- multiple screens
- needle of too fast vs too slow
- some sessions might not be applicable (e.g. sysadmin stuff)
- anything not on the agenda you want to cover let us know
- experts can help the people new to grouper
- speed of playback
- camera on
- get the most out of training by
- doing the prework
- being available during training
- doing hands on
Zoom standards
- Make a recurring meeting starting 5am on start day for 24 hours, recurring for the number of days the training is
- Meeting should have a 6 digit numeric password
- Do not post links for the zoom coordinates except in private locations like meeting requests and slack pins
For alternative hosts list
mchyzer@isc.upenn.edu,emurtha@internet2.edu,chubing@internet2.edu,emily@internet2.edu
- Video on for hosts and participants
- Enable join before host
- Mute participants on entry
- Disable waiting room
- Do not require authenticated participants
- Record meeting automatically in the cloud
- Slack the link with password, meeting id, and password to Erin (or whoever is managing the pins)
- For the June training, ChrisHy is Main meeting, Bill is breakout #1, ChrisHu is breakout #2, Emily is breakout #3
Example pin of zoom (not actual links, those are in pin in slack)
Kahoot standards
- Use the Grouper Training folder
- For courses, use a section folder (e.g. 101)
- For quizzes, name with this convention: GTE 101.1: Grouper Basics
- Do not list answers in slides
- Do keep the questions in slides (in case Kahoot goes away)
- Its not clear how to mute Kahoot. Right click on tab in browser and "mute site" e.g. in chrome
- During the training, trainers should not take the quiz, as it will skew the results
Hands on copy/paste standards
- For a course, make a hands on wiki under this page
- Each thing to copy paste should be in a code block
- For each slide that has something to copy/paste, link the first word to that course's copy/paste wiki
Schedule
12:00-1:30 - sessions
1:30-1:45 - break
1:45-3:15 - sessions
3:15-3:30 - break
3:30-5:00 - sessions
Module | Day | Who | Kahoot? (two per day) | Time | Notes |
---|---|---|---|---|---|
201.1 | Tues | Chad? | Yes | 1:30-2:15 (with 10 min break) - 35min | |
201.1.2 | Tues | Chad | 2:15-2:50 (35 min) | ||
201.2 | Tues | Chris | Yes | 3:00-3:27 (27 min) | |
201.3 | Tues | Chad | 3:52-4:25 (33 min) | should redo this to use an attribute that doesn't already exist in LDAP. The student affiliation is already sourced in ldap, so it's confusing that we're not publishing at the ePA folder level, and just provisioning the member affiliation | |
201.4 | Tues | Chad | 4:25-4:35 (10 min) | skipped the hands on except for highlights due to time; this might be folded into 201.3 as a conceptual discussion on ACM without the extra hands-on, since it's nearly identical procedures | |
201.5 | Tues | Chris | 4:35-5:00 (25 min) | ||
211.0 | Wed | Chris | 1:30-1:53 (23 min) | ||
211.1 | Wed | Chad | 2:03-2:10 (7 min) | ||
211.2 | Chris | Yes | 2:10-2:34 (24 min) | ||
211.3 | Chad | 2:34-3:00 (26 min) | |||
211.4 | Chris | 3:00-3:13 (13 min) | |||
break | 3:13-3:23 | ||||
211.5 | Chad | 3:23-3:34 (11 minutes) | |||
211.6 | Wed | Chris | Yes | 3:34-3:50 (16 minutes) | |
301.1 | Wed | Chris | 3:50-4:04 (14 minutes) | ||
301.2 | Chad | 4:04-4:16 (12 minutes) | |||
break | 4:16-4:21 | ||||
301.3 | Chris | Yes | 4:21-4:40 (19 minutes) | ||
301.4 | Wed | Chad | 4:40-5:00 (20 minutes) | ||
301.4 (cont) | Thur | Chad | 1:15-1:55 (40 minutes) | ||
311.0 | Thur | Chris | Yes | 1:55-2:15 (20 minutes) | |
311.1 | Chris | 2:25:2:35 (10 minutes) | |||
311.2 | Chris | 2:35-3:10 (35 minutes) | |||
311.3 | Chris | 3:20-3:45 (25 minutes) | |||
311.4 | Chris | 3:45-4:10 (25 minutes) | |||
311.5 | Chris | 4:20-4:27 (7 minutes) | |||
311.6 | Thur | Chris | 4:27-4:35 (8 minutes) | ||
401.1 | Fri | Chad | 1:00-2:05 | ||
401.2 | Chad | 2:15-3:05 | |||
401.3 | Chris | ||||
401.4 | Chad | ||||
401.5 | Chad | ||||
401.6 | Chris | ||||
401.7 | Fri | Chris |
Example of overriding a file
GET FILE (one time task) wget https://raw.githubusercontent.com/Internet2/grouper/GROUPER_2_6_BRANCH/grouper-ui/webapp/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupMoreActionsButtonContents.jsp EXISTING CONTAINER (retains data, note you only need to restart if you have received the error already) docker cp grouperObjectTypesGroupMoreActionsButtonContents.jsp 101.1.1:/opt/grouper/grouperWebapp/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupMoreActionsButtonContents.jsp docker restart 101.1.1 NEW CONTAINER (deletes data) ./gte --mount="type=bind,source=/home/student/grouperObjectTypesGroupMoreActionsButtonContents.jsp,target=/opt/grouper/grouperWebapp/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupMoreActionsButtonContents.jsp" 101.1.1
Upgrade environment
docker pull tier/gte:base-202403 docker pull tier/gte:401.end-202403 docker pull tier/gte:201.end-202403 docker pull tier/gte:101.1.1-202403
GTE development
Google doc with to do's: https://docs.google.com/document/d/1JLCuGm9pHWOirfdZmkrVsY8OlQSdaju8ldGzlUY4bnc/edit
The current working branch for November 2019 training is "201911". https://github.internet2.edu/docker/grouper_training/tree/201911.
This branch is automatically built on every commit and pushed to dockerhub, with the branch name appended to the image tags. https://hub.docker.com/r/tier/gte/tags.
To work on updates:
- create a feature branch off of 201911 (eg. 201911-201-updates).
- update ./gte line 12 with your branch name (eg. replace "201911" with "201911-201-updates").
- make local chances to exercises and content
- run ./manualBuild.sh in whatever ex### directory you are working in. this will create docker images based on your branch name
- run ./gte 201.1.1 (this will start the correct local version based on your branch name and link to rabbitmq)
- test/review changes at https://localhost:8443/grouper
- push local commits/branch to github
- Merge changes into needed branch when completed.
- Log into github and go to "Branches"
- Choose "New pull request" on your feature branch
- Make sure to update base: master to base: 201911
- Add comment and choose "Create pull request" underneath comment section
- Choose "Merge pull request"
- Choose "Confirm Merge"
- Choose "Delete Branch" if done with feature branch.
Developer flow looks like this:
- make local changes
- ./manualBuild.sh - build local docker images with tags based on branch name
- docker ps - check to see what's running.
- docker stop 201.1.1 - stop an image
- ./gte 201.1.1 - start an image
- test/review changes at https://localhost:8443/grouper
- repeat.
docker restart rabbitmq ./gte 101.1.1
$ docker logs 101.1.1 to bide the time. $ ./gte-shell 101.1.1
stop
|
list of sections:
https://docs.google.com/spreadsheets/d/1Emf79h–2lmfSxaNgjVu5lRcboJ1IWkwSmh_6E5T2lo/edit#gid=0
Final date to get new patches from Grouper: June 3rd. (maybe 7th). Babb clone VMs on 10th.
Run locally or from docker hub.
docker exec -it {container name} /bin/bash; cd bin; gsh;
Links
Admin notes for 2021: https://docs.google.com/document/d/1ao9isNiUij4L_5oPudukUchYClu1lH6SnaAKsOJpIlM/edit#heading=h.vpz3cm3s553o
https://github.internet2.edu/docker/grouper_training/tree/202006
Grouper email list: grouper-2019-06 at internet2 dot edu
gte $ git clone https://github.internet2.edu/docker/grouper_training.git grouper_training $ git checkout 201906 grouper_training $ ./manualBuild.sh
https://github.internet2.edu/docker/grouper_training/blob/202006/README.md
Google drive for slides: https://drive.google.com/drive/u/0/folders/1irHccRqkfrwkeXpA2ayQPEt2PlI67Cx5
Course outline: https://docs.google.com/document/d/1o8siMrRxZm1M_DgDQ5qu6jZEE4mb4MODxfQVvIxG508/edit
Tracking sheet: https://docs.google.com/spreadsheets/d/1A5Eok-GWBJS4zMwsAvS7k0YEkR4OnZz-74B_yRLeRPg/edit#gid=0
Folder for pres: https://drive.google.com/drive/u/0/folders/1irHccRqkfrwkeXpA2ayQPEt2PlI67Cx5
Dec 2019 Temple training notes: https://docs.google.com/document/d/1nfkt8tgv05F_fQwdQc5Ru_A4tv79FFl7JdeAq3tO3rI/edit#heading=h.2zrn2o90s27q
Canvas: https://internet2.instructure.com/
Module Guide: https://docs.google.com/spreadsheets/d/1kfM1QkqQZ9oNFsFm6X5FEye6dMXHPl0Has5HAszj1A0/edit#gid=0
Drive Folder: https://drive.google.com/drive/u/0/folders/1lsXmAfE5bVgfbRXowRFHELkHzl553LHw
LMS Needs for Grouper: https://docs.google.com/document/d/1c_hqXvKIfuUFmiUoGVMyAaKyuJSPZF1nbOmddkgvbtA/edit#heading=h.xq1bphtw3tjm
Training notes: (feb 2021) https://docs.google.com/document/d/1pftf1qkkviWuU9O1eTghIehXjeTdeFfpBzAaBbAsThk/edit
(jun 2021) https://docs.google.com/document/d/12WoWcOCG5uXB52CwM_2xWfK9djsuxrF0bN17J8rTGkU/edit
(sept 2021) https://docs.google.com/document/d/1ClKB-SAkoFQvZb4naEK9IwDHXeD68_w21rRYRnVlsnI/edit
(feb 2022) https://docs.google.com/document/d/10lA1MxSgQjZAoYXpRN79tODaaGKbOdCQFAe-znT7WIg/edit
(may 2022) https://docs.google.com/document/d/1ctUAgEm41SmmORRv3lJfzeUIJZZFYWx1lNOShVO0dKs/edit
TODO for spring 2022
- installer, remove?
- postman client
- smtp external system
Notes for later
SSH command easier to access
Wil Cooley 1:37 AM FYI, for those on Linux/Mac (or otherwise using a command-line OpenSSH) if you want to not have to remember the IP address of your VM or type the extra options for remote username and port forward, you can throw something like the following into ~/.ssh/config: Host grouper-training Hostname 18.218.158.77 User student LocalForward 8443 localhost:8443 PermitLocalCommand true LocalCommand python -m webbrowser -t https://localhost:8443 1:42 You need to have session multiplexing (ControlMaster et al) setup elsewhere though, or you’ll get errors trying to make more than one connection (not to mention spawn a bunch of open tabs). And if you have SSH keys, ssh-copy-id grouper-training so you can forget the password too… (edited)