Funding: Implement Providers for D9

Created on 4 October 2022, almost 2 years ago
Updated 19 April 2023, about 1 year ago

Problem/Motivation

Todo:

  1. Decide how to implement Providers - Plugin/Annotation?
  2. Implement the system for describing new Providers
  3. đź“Ś Funding: Open Collective Widgets 2022 Closed: outdated
  4. Implement Custom Provider "Text" display
  5. Implement Custom Provider "Embed" display
  6. Nice to have: Dynamic help page that can display sample YAML for all enabled Providers

I refer to OpenCollective, Patreon, Paypal, Ko-Fi, etc. as “Providers”.

Input from the user is yaml, and is based on funding.yml from github, but that does not always have enough variables so we will use our own format when needed, such as choosing white or blue buttons from OpenCollective. So we have added some of our own. Ideally the Help page would be able to list an example YAML from all the enabled providers.

The Drupal 7 version of this module has a lot of things around providers we would likely want to port to D9. Most important would be getting OpenCollective buttons working as seen on https://opencollective.com/widgets so we can include these widgets on Drupal.org without having to copy-paste javascript into a project page.

Here is a list of projects on Drupal.org and how they are linking to their crowdfunding pages ✨ Styling support for Drupal.org Active

Github does have a “Custom” provider that would simply accept a URL, or list of URLs - our original project had that as well. Custom would be the default provider - if we don’t have code to deal with a provider, treat it as custom.

Some resources for locating Providers are available on đź“Ś Make a list of possible widgets from common providers Active .

Steps to reproduce

Proposed resolution

Do we want to have any special handing for things like github sponsors? Should github_sponsors: be a provider?

Remaining tasks

  1. parse custom: key with a comma-separated list of URLs
  2. validate that each URL is a valid URL
  3. Render Custom URLs as links for text formatter
  4. Render Custom URLs ??? for embed formatter
  5. ensure URLs are validated on output?

User interface changes

API changes

Data model changes

✨ Feature request
Status

Fixed

Version

1.0

Component

Code

Created by

🇺🇸United States liberatr Portland, OR

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.69.0 2024