Enhance GHA: Update VMRS data to fetch required data
Dependency
- [x] #7524
Overview
We are currently storing excess data in vrms_data.json. We need to store only necessary data to make the website work. See Resources/Instructions for required data.
Details
Currently, all data fetched from the VRMS API is being saved. This means we are exposing unnecessary information to end users. We should only update required information and delete everything else in order to ensure data privacy, protection & security. Required data under resources
Action Items
- [x] Read and understand Hack for LA's GitHub Actions Architecture wiki
- [x] Create a new folder in
github-actions/trigger-schedulenamedvrms-data- [x] In that new folder create a new file named
filter-vrms-data.js
- [x] In that new folder create a new file named
- [x] Write the code required to filter the vrms data & save it to
_data/external/vrms_data.json - [ ] Integrate the new file with the "Update VMRS data" workflow triggered by
.github/workflows/vrms-data.yml - [ ] Test the workflow in your repo and demonstrate that your solution works.
- [ ] Test that all pages that rely on
vrms_data.jsonare unchanged
Resources/Instructions
- This issue was initiated by #6145
- Hack for LAs GitHub Actions
- Required data specified in this issue: https://github.com/hackforla/website/issues/7524
- Pages that use
vrms_data.json- https://www.hackforla.org/projects/311-data (any project page like this) has event data
- https://www.hackforla.org/events/ has event data
- https://www.hackforla.org/project-meetings
- Files used by "Update VMRS data" workflow"
@FamousHero What is missing from this is the instruction to test the pages that the data appears on
- Pages project data event data appears on
- https://www.hackforla.org/projects/311-data (any project page like this) has event data
- https://www.hackforla.org/events/ has event data
- https://www.hackforla.org/project-meetings
Hi @FamousHero, thank you for taking up this issue! Hfla appreciates you :)
Do let fellow developers know about your:- i. Availability: (When are you available to work on the issue/answer questions other programmers might have about your issue?) ii. ETA: (When do you expect this issue to be completed?)
You're awesome!
P.S. - You may not take up another issue until this issue gets merged (or closed). Thanks again :)
@bonniewolfe Added an extra test to check that site is unchanged afterwards & linked the related pages in Resources/Instructions
@t-will-gillis will look at the method you are using and approve or give notes
Hey @FamousHero Thanks for taking care of this- this is looking great so far. Here are a couple of notes/suggestions/discussion topics:
- I feel that this should be bumped up from
size: 2pt- I think it’s at least asize: 5ptjob. Thoughts? - The “Overview” ends with ‘…See’- was there something additional here?
- I would consider being more direct about this being a GitHub Actions issue, for example adding “GHA” to the title, something like: 'Refactor GHA “Update VRMS data” to fetch required data'
- In the “Action Items”, I agree with each of the steps and the file structure you want created.
- I think it would be good to consider starting the “Action Items” by having the dev refer to the Hack for LA’s GitHub Actions for guidance from the start. The reason for this is that although there are many workable ways to write the code, I think we want to nudge the dev into using a similar framework as we use in all of our other GHAs (that is Hack for LA’s “GitHub Actions Architecture” as the document states) because this makes our lives easier when reviewing, editing, troubleshooting, etc.
- I might reorder the bullet points and place the ‘…“Update VRMS data” workflow’ as the first point, but if you keep the order, I would still note that the workflow is triggered from the
vrms-data.ymlfile, and that the .yml is calling thefilter-vrms-data.jsfile. - One other thing, I like to give the links within the text for the files to be worked, i.e. vrms-data.yml Some others like to use footnotes and put the links in the “Resources/Instructions”.
Hope this is useful. Let me know if you would like to discuss anything
Hi @t-will-gillis, I agree with all the notes give and have included them in the ER. Please feel free to let me know if I left anything out or if there's any other change you'd like.
Hi @FamousHero Great- thanks for making the changes.
Hi @santisecco, thank you for taking up this issue! Hfla appreciates you :)
Do let fellow developers know about your:- i. Availability: (When are you available to work on the issue/answer questions other programmers might have about your issue?) ii. ETA: (When do you expect this issue to be completed?)
You're awesome!
P.S. - You may not take up another issue until this issue gets merged (or closed). Thanks again :)
i. Availability: Tuesdays & Friday-Sunday ii. ETA: 3-4 weeks
@santisecco
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, May 13, 2025 at 12:05 AM PST.
- Investigating the use of VRMS across the codebase. This is important to understand how filtering the data can affect the different components of the website and our workflows.
Keys used from the vrms-data.json file:
- name
- date
- startTime
- endTime
- projectStatus
- project.name
- project.githubIdentifier
- project.location
- project.githubUrl
- project.slackUrl
- project.googleDriveUrl
- createdDate
- hflaWebsiteUrl
- description
So to recognize which parts of the website's information come from the Markdown or vrms-data.json I've analyzed several files.
This is not very clear to me. I'm working on it. For example toolkit.js seems to use data from vrms but it doesn't, it uses data that comes from the Markdowns like tdm-calculator.md
Edit: this is a fundamental read that should have been posted in the issue's resources https://github.com/hackforla/website/wiki/Hack-for-LA's-Site-Architecture
Related issue. https://github.com/hackforla/website/issues/7524#event-17083151254
From the previous issue the variables that were found to be used are: name date startTime endTime project.partners project.name project.description project.projectStatus project.location project.githubUrl project.slackUrl project.googleDriveUrl project.googleDriveId project.hflaWebsiteUrl
Comparing it to my own investigation:
- name ✅
- date ✅
- startTime ✅
- endTime ✅
- projectStatus ⚠️
- project.name ✅
- project.githubIdentifier ❌
- project.location ✅
- project.githubUrl ✅
- project.slackUrl ✅
- project.googleDriveUrl ✅
- createdDate ⚠️
- hflaWebsiteUrl ⚠️
- description ⚠️
project.partners project.name project.hflaWebsiteUrl project.googleDriveId project.projectStatus
A more complete list would be.
- name
- date
- startTime
- endTime
- projectStatus
- project.name
- project.githubIdentifier
- project.location
- project.githubUrl
- project.slackUrl
- project.googleDriveUrl
- createdDate
- hflaWebsiteUrl
- description
- project.partners
- project.name
- project.hflaWebsiteUrl
- project.googleDriveId
- project.projectStatus
I will discuss with leadership another solution to this issue. We could analyze the VRMS data file and decide what data we would like not to be shown in it instead of just selecting the data points that are currently fetched.
This will make it easier in the future for other variables to be accessed or added, but all the sensitive information that we would like not to be present, like zoom links to be cleared.
Another solution would be to directly add a label to new information directly from VRMS.
I would need to enter VRMS to have a better solution. In either case I believe that the solution of just cleaning the sensible information would be better. Again by sensible information I mean zoom links, owner.ownerId
@santisecco
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, June 3, 2025 at 12:05 AM PST.
- Progress:
What is the current status of your project? All the variables from the JSON file used by the website have been determined across the whole codebase.
"What have you completed and what is left to do?" I'm discussing with leadership the actual need to filter all the JSON and leave out all the unnecessary variables or simply leave out just the variables containing sensitive information. I'll start working on a simple script that can be created to do this job and add it to the GHA workflow"
The most important thing would be not to make the mistake of leaving out by error variables that are used by the website causing it to break or to make information unavailable for future developments. - ETA: "When do you expect this issue to be completed?" I expect to finish this issue in 2 weeks.
- Note: In any case I will create a script that's easy to modify so that when the JSON is filtered then the desired variables can be picked or left out.
@santisecco
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, June 17, 2025 at 12:05 AM PST.
@santisecco
Please add update using the below template (even if you have a pull request). Afterwards, remove the '2 weeks inactive' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, June 24, 2025 at 12:05 AM PST.
- Blockers: There was a problem with the running of the action. The updated YML needed a different configuration to run on my repo. I spotted that and now the action runs but there's an error in the solution that I need to work on. https://github.com/santisecco/website/actions/runs/15960698134/job/45012722274
I completed the script and added it to the workflow. When we return from the break I'll discuss the changes further with the rest of the team and PR.
@santiseccovidal
Please add update using the below template (even if you have a pull request). Afterwards, remove the '2 weeks inactive' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, July 29, 2025 at 12:09 AM PST.
The changes are working on my repo. I just need to check that the data being pulled and trimmed doesn't affect the functioning of the website locally.
@santiseccovidal
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, August 12, 2025 at 12:06 AM PST.
Issue completed, I need to work on my PR.