Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document initial architectural decisions related to GDT #108

Merged
merged 1 commit into from
Jan 26, 2024

Conversation

jazairi
Copy link
Contributor

@jazairi jazairi commented Jan 24, 2024

Why these changes are being introduced:

We plan to develop the GIS Data Tool UI as an extension of TIMDEX UI. We need to do so without disrupting the existing TIMDEX UI applications, while also planning for a potential future state in which those applications may include geospatial data.

Relevant ticket(s):

How this addresses that need:

This adds an ADR to confirm our initial plan for the GDT UI.

Side effects of this change:

  • We will be adding the flipflop gem in a future PR to manage a gdt feature flag.
  • We will update the theme gem to add app names to headers (and potentially customize local navs).
  • One decision in the ADR is contingent upon a decision we've yet to make, regarding whether we will want to display GIS results in non-GDT TIMDEX UI apps. I've phrased that as more of a potential decision that will likely require a subsequent ADR if we choose to go that route.

Developer

  • All new ENV is documented in README
  • All new ENV has been added to Heroku Pipeline, Staging and Prod
  • ANDI or Wave has been run in accordance to
    our guide and
    all issues introduced by these changes have been resolved or opened as new
    issues (link to those issues in the Pull Request details above)
  • Stakeholder approval has been confirmed (or is not needed)

Code Reviewer

  • The commit message is clear and follows our guidelines
    (not just this pull request message)
  • There are appropriate tests covering any new functionality
  • The documentation has been updated or is unnecessary
  • The changes have been verified
  • New dependencies are appropriate or there were no changes

Requires database migrations?

NO

Includes new or updated dependencies?

NO (but dependencies will be added if approved)

@mitlib mitlib temporarily deployed to timdex-ui-pi-gdt-123-in-9lqau0 January 24, 2024 19:10 Inactive
Copy link
Member

@JPrevost JPrevost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solid write up. I'd prefer to consequence-y statements move to Consequences, but it's minor and non-blocking.

Copy link

github-actions bot commented Jan 25, 2024

Pull Request Test Coverage Report for Build 7671984019

Warning: This coverage report may be inaccurate.

We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 99.429%

Totals Coverage Status
Change from base Build 7645028747: 0.0%
Covered Lines: 348
Relevant Lines: 350

💛 - Coveralls

## Consequences

Using the theme gem for header and nav customizations may be useful for other applications (e.g., in adding the app name
to the header). We cam minimize repetition by managing these changes in environment variables read by the theme gem.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo cam should be can

Copy link
Member

@matt-bernhardt matt-bernhardt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm comfortable with everything in this document except for one possible interpretation of the theme gem solution. I don't think this is what we're talking about, but I want to make sure (or give myself time to get comfortable with that option)

We will extend TIMDEX UI for GIS data using a combination of the solutions described above:

* We will create a separate Heroku app in the TIMDEX UI pipeline for GDT.
* Where possible, local header and nav customizations will be controlled by the theme gem.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm comfortable with things like "the theme gem supports an environment variable which implementing sites can use to put their own name in the header", but am nervous about things like "the theme gem has two nav templates, one for GIS and one for RDI. Which one gets loaded is determined by an environment variable".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fair. I was a bit iffy on managing nav variations from the theme gem, too. I think we can scope this to app names and manage navs in their corresponding codebases.

@jazairi
Copy link
Contributor Author

jazairi commented Jan 26, 2024

@matt-bernhardt Just pushed up a commit (well, technically two commits) in response to your feedback. Let me know if the updated language addresses your concern!

Copy link
Member

@matt-bernhardt matt-bernhardt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me - thanks for listening to my concerns about the theme gem. This seems like a good way forward.

:shipit:

Why these changes are being introduced:

We plan to develop the GIS Data Tool UI as an extension of
TIMDEX UI. We need to do so without disrupting the existing
TIMDEX UI applications, while also planning for a potential
future state in which those applications may include geospatial
data.

Relevant ticket(s):

* https://mitlibraries.atlassian.net/browse/GDT-123

How this addresses that need:

This adds an ADR to confirm our initial plan for the GDT UI.

Side effects of this change:

* We will be adding the `flipflop` gem in a future PR to manage
a `gdt` feature flag.
* We will update the theme gem to add app names to headers.
* One decision in the ADR is contingent upon a decision we've yet
to make, regarding whether we will want to display GIS results
in non-GDT TIMDEX UI apps. I've phrased that as more of a potential
decision that will likely require a subsequent ADR if we choose to
go that route.
@jazairi jazairi force-pushed the gdt-123-initial-adrs branch from a91b5f4 to ddd874c Compare January 26, 2024 20:35
@jazairi jazairi merged commit 2d835a1 into main Jan 26, 2024
5 checks passed
@jazairi jazairi deleted the gdt-123-initial-adrs branch January 26, 2024 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants