fpdcc / ccfp-asset-dashboard

CCFP Asset Dashboard
0 stars 1 forks source link

Does funding need to be a first class object? #74

Closed fgregg closed 1 year ago

fgregg commented 2 years ago

Right now, funding sources are basically extended attributes of a project. Should funding be a first class object?

This would be desirable if we wanted two behaviors:

  1. If we wanted to associate more than one project with a funding source. Perhaps to see if there was going to be a conflict in funding or whether all the funds related to a funding source were going to be allocated or not?
  2. If we wanted to be able to edit a funding source in one place and have that information be updated on every associated project.
fgregg commented 2 years ago

It seems like maybe "Sources of Funding" is a first class object, and "Funding" is a relationship between projects and sources?

hancush commented 2 years ago

The FundingSource (model) and funding relationship between Project and FundingSource makes sense to me.

I think regardless of whether funding can be associated with more than one project, it makes sense to live in its own model / table because it is a conceptually distinct thing from a project, and with #71, we'll be keeping track of a lot more metadata that is unrelated to the project.

It also opens opportunities to create views for managing and tracking progress of funding sources, individually or in the aggregate ("Show me all unallocated grant funding that expires this year"), through the dashboard. Right now, AFAICT, you can really only look at funding via a project view.