-
Notifications
You must be signed in to change notification settings - Fork 3
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
Split rows from downloaded FFIS excel spreadsheets into per-grant JSON files #12
Comments
Example spreadsheet file: CG_23_16.01.xlsx |
@pearkes After some discussions last week, it sounds like only the bill/act (FKA "Program") field is going to be persisted in Grants DB for now, so I'm only expecting a I'm currently expecting an array, but re-reading above, it sounds like maybe it's only going to be one object per file at a time? |
@jakekreider Yeah, I was planning on one object per grant/opportunity per the spec and pattern in the SplitGrantsXML workflow. Opportunity Number I definitely have, but I'm not sure about bill. This is my current struct: // Represents a funding opportunity sourced from an FFIS spreadsheet
type FFISFundingOpportunity struct {
CFDA string `json:"cfda"` // eg. 11.525
OppTitle string `json:"opportunity_title"` // eg. "FY 2020 Community Connect Grant Program"
// In the FFIS spreadsheet, this is the header row for a group of opportunities
OppCategory string `json:"opportunity_category"` // eg. Inflation Reduction Act
Agency string `json:"opportunity_agency"` // eg. Forest Service
EstimatedFunding string `json:"estimated_funding"` // eg. $25,000,000
ExpectedAwards string `json:"expected_awards"` // eg. 10 or N/A
OppNumber string `json:"opportunity_number"` // eg. USDA-FS-2020-01
Eligibility FFISFundingEligibility `json:"eligibility"`
DueDate time.Time `json:"due_date"`
Match bool `json:"match"`
}
// Eligibility for FFIS funding opportunities as presented in FFIS spreadsheets
type FFISFundingEligibility struct {
State bool `json:"state"` // State Governments
Local bool `json:"local"` // Local Governments
Tribal bool `json:"tribal"` // Tribal Governments
HigherEducation bool `json:"higher_education"` // Institutions of Higher Education
NonProfits bool `json:"non_profits"` // Non-profits
Other bool `json:"other"` // Other/see announcement
} I'll reach out to you and see how we can derive bill? |
@jakekreider Oh nice, things are making sense to me now. I'll change it to bill |
This is done in #94. |
DOD: Whenever a new FFIS excel spreadsheet is saved to the "Grants Source Data" S3 bucket, the data from each row contained in the spreadsheet is converted to JSON and saved as an individual S3 object.
Blockers:
Implementation details:
s3:ObjectCreated
event that indicates an FFIS spreadsheet is fully (not partially) saved to S3, with the following object key filters:/sources/
/ffis/download.xlsx
/<first 3 digits of the grant ID/<grant id>/ffis.org/v1.json
.?oppId
querystring parameter.The text was updated successfully, but these errors were encountered: