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

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
282 stars 203 forks source link

Inject VA.gov header and footer to identified subdomains #5086

Closed jenniferlee-dsva closed 2 years ago

jenniferlee-dsva commented 4 years ago

Inject VA.gov header and footer to identified subdomains

User Story or Problem Statement

As a Veteran, I need to be able to navigate to the rest of VA.gov even when I have clicked onto a TeamSite based part of the website, so I can know where I am, find my way around, and find information.

Goal

What outcome(s) do we want to see? See the modern VA.gov official header and footer on these identified subdomain pages.

Objectives or Key Results this is meant to further

Attached spreadsheet

Please use the spreadsheet from Josh Tuscher. He has vetted the highlighted subdomains and identified them as good candidates to do header/footer injection on. (Note: the injection applies only to the HIGHLIGHTED subdomains, not everything on this spreadsheet.)

subdomain_header_footer_audit-v2-101819-jt.xlsx

@JeffBarnesUSDS and @KevinMHoffmanUSDS for awareness. @meganhkelley - I tried to add a Platform label but can't find the right label in the dropdown. This ticket is follow up to injection conversation that Jeff, Patrick and I had previously.

Hampshire100 commented 4 years ago

If we are not able to verify the injection scripting via the this staging URL (https://vaww.w2k8.internet.staging.va.gov/SITENAME.) or are we following the same procedures as we did in 2018 via setting a cookie in the console. I need confirmation otherwise \this is NOT AUTHORIZED!

jenniferlee-dsva commented 4 years ago

Adding background information from Josh ^ regarding how this was previously done with the staging site.

From: Tuscher, Joshua Joshua.Tuscher@va.gov Sent: Wednesday, January 22, 2020 4:58 PM To: Lee, Jennifer Y. Jennifer.Lee27@va.gov Cc: Barnes, Jeffrey (OIT) Jeffrey.Barnes4@va.gov Subject: Re: Closing loop: Subdomain Header Footer Audit

Hi Jen

Just to clarify further.

I recall from when we originally tested this with Ryan Lu by in 2018 it worked. Sites in teamsite are published to the following url https://vaww.w2k8.internet.staging.va.gov/ . I cant find the instructions from Ryan but the gist of it was 1.) sites are added to the proxylarray with the staging URL instead of VA.gov, 2.) we then did some kind of cookie setting nija move with our browser which would trigger the injection scripting and then we could verify that the injected code had not jacked up the rest of the on injected page.

If we can do it this way then I so go for it. I will most likely be the person to have to go through each of these sites to verify. If there is an issue in staging it wont be a problem to fix it without people noticing, I highly doubt that there will be any issues but…….. if they can not do that then it is a no go until we can get volunteers to help sort and fix and issues.

Josh

Hampshire100 commented 4 years ago

All, I did some further digging into this. Here are the instructions that Ryan wrote to set a browser cookie which doesn't require using the staging URl. I do think it would be better to use the staging url so we can safely fix any issues in dev rather than in production.

Here are the instructions for how to activate the new Va.gov header on the whitelisted sites. You'll need to toggle the cookie in the browser console. Here are the steps to do this in Google Chrome (See screenshot attached)

Steps to activate cookie:
  1. Right click on a whitelisted page like https://www.hiv.va.gov/
  2. Select 'Inspect' from the dropdown menu
  3. Click on 'Console' in the sidebar that opens
  4. Paste the following line into the white space o document.cookie = 'proxyRewrite=true;'
  5. Hit 'Enter'
  6. Before changing tabs, Right click on the 'Refresh' Button and select 'Empty Cache and Hard Reload'

IE 11.

1.) Navigate to https://www.hiv.va.gov/ 2.) Toggle the developer tools open on IE by pressing F12 or selecting it from the gear icon menu (top right) 2a.) - click on the console tab in the developer tools 2b.) - paste this into the console input and press enter: document.cookie= "proxyRewrite=true;" 2c.) - refresh the page by clicking the refresh button in the address bar

To undo this cookie and go back to the currently like version that is visible to Veterans, follow the same steps above and replace the line in step #4 with deactivate: document.cookie = 'proxyRewrite=;'

You will need to preform this last step to return to the original state.
mnorthuis commented 4 years ago

Following for awareness...

KevinMHoffmanUSDS commented 4 years ago

@brandonrapp Bringing you into this one, would love to get your take on this. Will reach out to you directly to discuss.

drorva commented 4 years ago

(apologies if this is not the right place to comment)

Not sure if that's the exact solution, but pretty clear that we should get our frontend team to look at it and I suspect that they should be able to resolve it quite easily.

KevinMHoffmanUSDS commented 4 years ago

@drorva @brandonrapp Hey there - thanks for the research, Dror. I know @rianfowler is out this week, but I'd like to spin up an issue to troubleshoot this this week.

Brandon, who on our team would be the one to ascertain what's causing the problem? If we can identify what's breaking this in IE 11, someone on @jenniferlee-dsva's team should be able to implement the fix if it's in the front end code. If it's in the way the code is being served, we (Platform) would need to address this issue.

drorva commented 4 years ago

Most likely we're using webpack and loading babel-polyfill more than once. https://github.com/babel/babel-loader/issues/401/#issuecomment-302932670

jenniferlee-dsva commented 4 years ago

@KevinMHoffmanUSDS RE this comment about implementation: So, these are subdomains that are on TeamSite, and so we (VA.gov) can't implement code on these pages.

The way this worked previously is that we write the code (or bug fix in the code), and we give that to @Hampshire100 (Josh Tuscher) who is OPIA VACO webmaster. He has access to TeamSite pages, so Josh has been the person to add the code onto these subdomain pages for the injection or to fix injection bugs.

KevinMHoffmanUSDS commented 4 years ago

@rianfowler @brandonrapp Good morning! Just pinging on this to see where this stands in our current backlog. This seems to have fallen off our radar; I'd like to see how soon we can address. Thanks!

rianfowler commented 4 years ago

@KevinMHoffmanUSDS I think the IE11 issue was fixed here.

These are the sites highlighted in the spreadsheet that need the header:

Are there stakeholders we need to work on each of these?

What do we want to do about the non-teamsite urls?

KevinMHoffmanUSDS commented 4 years ago

@jenniferlee-dsva How would you like these rolled out? (We've completed some, but not all of them.) Do you want them rolled out as they are completed?

jenniferlee-dsva commented 4 years ago

@KevinMHoffmanUSDS

Do you want them rolled out as they are completed?

Yes, please roll them out as they are completed, but we'll need to let Josh Tuscher know as that happens, so he can review in staging. (I'm fine emailing him, though I think he is actually on Githhub and @/assignable.)

If it is going to be rolled out directly in prod, please make Josh aware before go-live, so he's not caught off guard and answering angry stakeholder emails. :-)

@rianfowler - replying to your Q in comment https://github.com/department-of-veterans-affairs/va.gov-team/issues/5086#issuecomment-606148025

Are there stakeholders we need to work on each of these? Our stakeholder for header/footer injection on these is Josh Tuscher.

What do we want to do about the non-teamsite urls? I believe those are the ones that Josh did NOT highlight -- do not add injection to those with this batch. We're prioritizing TeamSite pages first, of the pages/sections that are linked to directly from our global menu. We can ask Josh after this first set, how he would like to prioritize the rest of the URLs on that spreadsheet.

jhonnyoddball commented 4 years ago

Deployment PRs

This is a list of all the PRs with the new hostnames. Each PR shows the tests done by injecting the headers/footers and also removes the cookie block

jenniferlee-dsva commented 4 years ago

RE ^ @KevinMHoffmanUSDS @rianfowler @jhonnyoddball -- Please be sure to include Josh Tuscher in the PRs before go-live, if you have not already. FYSA @Hampshire100 (Josh Tuscher)

jhonnyoddball commented 4 years ago

@Hampshire100 -- The list above shows all the PRs for each hostname ready to be deployed to production. I have tested all hostnames in Chrome and IE 11 (See screenshoots attached in each PR). You can go ahead a test them on your end prior deployment. You can follow these instructions for testing each hostname.

meganhkelley commented 4 years ago

Hi @jenniferlee-dsva and @hampshire100 (it looks like I can't actually tag Josh Tuscher — are we sure this is the correct GitHub username?)

We are waiting for further direction from y'all to approve these changes before we deploy to production — see Jhonny's comments above. Let us know if you would like us to move this forward. Thanks!

meganhkelley commented 4 years ago

Hey y'all, we are still holding for further direction from folks to approve these changes before we deploy to production — see comment thread above. Should we move forward on this or continue holding? If you'd like us to move forward, we'll need to re-evaluate the PRs to confirm they are not out of date. Thank you!

@jenniferlee-dsva @KevinMHoffmanUSDS @hampshire100

meganhkelley commented 4 years ago

Moving this to backlog until we have further direction from DEPO cc @jenniferlee-dsva @KevinMHoffmanUSDS @chrisj-usds @hampshire100

laineymajor commented 2 years ago

@jhonnyoddball can you provide an update on this ticket? sounds like you were waiting on approval?

jhonnyoddball commented 2 years ago

@laineymajor Yes, it's been about 2 years since that and we never got the approval. I believe Oseas closed all the tickets I had created for this work.

laineymajor commented 2 years ago

@oseasmoran73 help! thoughts?

oseasmoran73 commented 2 years ago

Hi @laineymajor 😃

I reviewed the checklist Jhonny provided above and have vague recollection. Did a bit of digging on my end and couple of more pieces together.

I was doing an audit on stale branches and chatted with Megan regarding this ticket and she gave me the green light to remove. If we do want to reopen, we can go back to checklist and reopen accordingly. See chat I had with Megan below regarding this ticket:

8/26/2021 Megan Kelley [6:33 AM] Ohhhhhhh I know what all those open PRs are of Jhonny's — those are still around bc I've been hesitant to close them. VA stakeholders requested that we add the modernized VA.gov header to a handful of new subdomains, but then they never approved the actual implementation [6:33] honestly at this point we'd just have to redo them anyway since it's been over a year so we should probably close ... we can discuss in standup!

Oseas Moran [8:07 AM] Makes sense! If we can reuse some of it, we can always reopen the PR [8:07] Whenever that time is ready

If I recall, there was not much further discussion from standup aside if this initiative were to be resurfaced/approved, then we can reopen the PRs