funnel
funnel copied to clipboard
Sponsor model refinement
The sponsor model introduced in #465 (as a SponsorMembership since it has a membership base) is an okay start, but vastly insufficient to be a public feature. This issue attempts to address some of the shortcomings of the sponsor model.
-
It is hard to distinguish between a promoted sponsor and a non-promoted sponsor. The
is_promotedflag is ambiguous. The default assumption for a sponsor should be that there is a financial arrangement. -
There is a need for ethical disclosure of funding. The sponsor model should perhaps have an optional field for disclosing an amount received (gross amount and currency). Since tax models are variable (GST included, GST reverse charge, GST extra, GST exempt, and various international systems), this field can at best reveal a gross amount. It may also be subject to confidentiality requirements, so it can only be optional and approximate.
-
The sponsor profile may not exist at the time the project declares the sponsor. A plain text field should be present as an alternative to the
profile_idcolumn, and possibly as a survivor should the profile be disassociated. (This implementation will require a third subclass forImmutableMembershipMixin, or a change to the existing to support a non-present user/profile). -
It may be prudent to expose sponsor management in the UI only if an associated billing entity is present (see #1152).
For ethical disclosure, it should be possible to:
- Look at a project's profile and discover the sponsors in all projects within.
- Look at a billing entity profile and find all linked brand profiles or projects or sponsors.
- There is also an argument to be made for allowing such discovery from the user profile where they are linked to a billing entity, although we may now be stretching the limits of platform-enforced discovery.
Possible answer to the is_promoted flag: use it to indicate a promotion placed by the platform and not the project promoter. We do not have platform sales at the moment, so it should go dormant. Future use may use an entirely different placement mechanism from the SponsorMembership model as it will be dynamically placed, so the column itself is not required.
All projects an organization has sponsored - or is part of - should appear under their profile.