department-of-veterans-affairs / va.gov-cms

Editor-centered management for Veteran-centered content.
https://prod.cms.va.gov
GNU General Public License v2.0
97 stars 69 forks source link

Create Report of Modernized and Unmodernized URLs #10298

Closed EWashb closed 2 years ago

EWashb commented 2 years ago

Description

Stakeholders request a report that pulls modernized versus unmodernized experience URLs. Bonus points if this report can be automated.

Slack thread for request

This report should:

The goal is to be able to provide this report and determine what URLs are modernized or not modernized. The modernized URLs mean that they are subject to the current platform scans for 508.

Acceptance Criteria

CMS Team

Please check the team(s) that will do this work.

EWashb commented 2 years ago

@ndouglas this is a special request by our stakeholders. Any idea on the lift of something like this? The automated part isn't required, but would be helpful when these requests come again.

ndouglas commented 2 years ago

If I understand correctly, the approach from the technical side would be something like this:

Doing that in a PHP script is straightforward. Making a page in Drupal that calculates this and then caches the result (because it could take a while to calculate) is straightforward as well, but it should definitely be a separate issue and will have its own challenges.

Some concerns, though:

I'd also like to get @ryguyk and @swirtSJW to weigh in here, since they are more deeply acquainted with the specifics of how content is transformed for the frontend. I expect there are some edge cases that would complicate the core idea. But I might also be missing ways in which this could be made considerably easier.

TL;DR: If we need a one-time quick-and-dirty thing, I expect I could probably generate a report in a couple hours or days at the outside (a lot of the variability is how many URLs I need to manually get Google Analytics data for). If we need a custom controller so this can be generated on demand, I'd say a few days, a sprint if I run into trouble. If we need to automate dealing with Google Analytics, that's gonna take multiple sprints and a decent number of issues because it deals with multiple teams and multiple repos and secrets and I predict it will be a nightmare.

EWashb commented 2 years ago

Here's the slack thread for more context. I forgot to add but it's in the ticket now too.

ndouglas commented 2 years ago

Okay, reading that thread made me a little more optimistic about this.

I can fairly quickly write a script that calculates the list of URLs that Mikki would need to review, and add the script to the repo for future reuse. Couple hours I think.

I can get GA access (if I don't already have it) and get the statistics manually for these pages, but obv the time that takes will be proportional to the number of pages + the overhead of setting up GA access if I don't already have it. And I obv shouldn't be doing that manually more than once.

I don't think this is worth automating a Drupal page, controller, caching, etc over. I can send her the output every week, every two weeks, every month, whatever she wants.

Automating GA data retrieval in this scenario would be less of an ask, since it's not getting deployed anywhere and the API key would just be local to my work computer. Still might have significant organizational overhead, and it'll take time to write the code, etc. A couple days because I'd have to deal with rate limiting and retries, reacquainting myself with the GA PHP SDK, etc etc etc.

EWashb commented 2 years ago

Not a priority

EWashb commented 2 years ago

This is just a stretch and not super high priority. If you can get to it this sprint, that's ok, but in no way a priority.

ndouglas commented 2 years ago

@EWashb I hammered out a script.

This could probably be reduced, but I wanted to get as raw a list as possible. Might include some false positives.

I removed URLs like the following:

because, based on my understanding, these are generated by content-build from the CMS.

This leaves us with the following list:

https://www.va.gov/verify
https://www.va.gov/pension/application/527EZ
https://www.va.gov/health-care/schedule-view-va-appointments/appointments
https://www.va.gov/disability/view-disability-rating/rating
https://www.va.gov/my-va
https://www.va.gov/profile
https://www.va.gov/view-change-dependents/view
https://www.va.gov/find-locations
https://www.va.gov/family-member-benefits/apply-for-caregiver-assistance-form-10-10cg
https://www.va.gov/health-care/medical-information-terms-conditions
https://www.va.gov/burials-and-memorials/application/530
https://www.va.gov/health-care/apply/application
https://www.va.gov/view-change-dependents/add-remove-form-21-686c
https://www.va.gov/disability/file-disability-claim-form-21-526ez
https://www.va.gov/health-care/order-hearing-aid-batteries-and-accessories/order-form-2346
https://www.va.gov/decision-reviews/higher-level-review/request-higher-level-review-form-20-0996
https://www.va.gov/track-claims
https://www.va.gov/records/download-va-letters/letters
https://www.va.gov/sign-in
https://www.va.gov/burials-and-memorials/pre-need/form-10007-apply-for-eligibility
https://www.va.gov/education/gi-bill/post-9-11/ch-33-benefit/status
https://www.va.gov/discharge-upgrade-instructions
https://www.va.gov/education/yellow-ribbon-participating-schools
https://www.va.gov/education/apply-for-education-benefits/application/1990E
https://www.va.gov/education/other-va-education-benefits/stem-scholarship/apply-for-scholarship-form-22-10203
https://www.va.gov/education/opt-out-information-sharing/opt-out-form-0993
https://www.va.gov/education/apply-for-education-benefits/application/5495
https://www.va.gov/education/submit-school-feedback
https://www.va.gov/education/apply-for-education-benefits/application/1990N
https://www.va.gov/education/apply-for-education-benefits/application/1995
https://www.va.gov/education/apply-for-education-benefits/application/5490
https://www.va.gov/education/apply-for-education-benefits/application/1990
https://www.va.gov/education/about-gi-bill-benefits/how-to-use-benefits/vettec-high-tech-program/apply-for-vettec-form-22-0994
https://www.va.gov/auth/login/callback
https://www.va.gov/education/gi-bill-comparison-tool
https://www.va.gov/search
https://www.va.gov/records/get-veteran-id-cards/apply
https://www.va.gov/manage-va-debt/your-debt
https://www.va.gov/careers-employment/vocational-rehabilitation/apply-vre-form-28-1900
https://www.va.gov/careers-employment/education-and-career-counseling/apply-career-guidance-form-28-8832
https://www.va.gov/va-payment-history/payments
https://www.va.gov/coronavirus-research/volunteer
https://www.va.gov/coronavirus-research/volunteer/update
https://www.va.gov/health-care/health-questionnaires/questionnaires/answer-questions
https://www.va.gov/manage-va-debt/request-debt-help-form-5655
https://www.va.gov/health-care/pay-copay-bill/your-current-balances
https://www.va.gov/resources/search
https://www.va.gov/health-care/health-questionnaires/questionnaires
https://www.va.gov/health-care/covid-19-vaccine/stay-informed
https://www.va.gov/contact-us/virtual-agent
https://www.va.gov/health-care/covid-19-vaccine/sign-up
https://www.va.gov/education/other-va-education-benefits/veteran-rapid-retraining-assistance/apply-for-vrrap-form-22-1990s
https://www.va.gov/decision-reviews/board-appeal/request-board-appeal-form-10182
https://www.va.gov/health-care/appointment-check-in
https://www.va.gov/health-care/appointment-pre-check-in
https://www.va.gov/education/apply-for-benefits-form-22-1990
https://www.va.gov/manage-va-debt/summary
https://www.va.gov/resources/va-account-and-profile/2
https://www.va.gov/resources/other-topics-and-questions/2
https://www.va.gov/resources/other-topics-and-questions/3
https://www.va.gov/resources/health-care/2
https://www.va.gov/resources/disability/2
https://www.va.gov/resources/education-and-training/2
https://www.va.gov/resources/tag/sign-in/2
https://www.va.gov/resources/tag/all-veterans/2
https://www.va.gov/resources/tag/all-veterans/3
https://www.va.gov/resources/tag/all-veterans/4
https://www.va.gov/resources/tag/all-veterans/5
https://www.va.gov/resources/tag/all-veterans/6
https://www.va.gov/resources/tag/all-veterans/7
https://www.va.gov/resources/tag/all-veterans/8
https://www.va.gov/resources/tag/all-veterans/9
https://www.va.gov/resources/tag/payments-and-debt/2
https://www.va.gov/school-administrators
https://www.va.gov/session-expired
https://www.va.gov/

There might be a few false positives in the above list, but this is what I'm left with.

ndouglas commented 2 years ago

I can go further and get the GA stuff (I have access 🎉 ), but wanted to give you an early update on progress because of the timeline here.

EWashb commented 2 years ago

This looks great! Those that are left are the ones not matched to anything CMS, correct? If you have time/capacity I think the GA side would be good to see too. We can put everything together for Dave in an excel spreadsheet. Unless you can think of a better way to do it.

ndouglas commented 2 years ago

Correct. Yeah, the GA stuff shouldn't take that long and Excel/Sheets is probably the best way to present it.

ndouglas commented 2 years ago

@EWashb Unmodernized URL thing.xlsx

EWashb commented 2 years ago

Thanks @ndouglas! This is great. I see you've already created the PR for the script. Next steps = runbook and then determine how often our PO needs this report? That's just my best guess anyway. I'll give them the excel and let you know if we have any feedback.

EWashb commented 2 years ago

Provided to PO and will ask if he would like this report to be generated on any regular basis.