From 1b5b7a72a869931c06c8fe6ce1463411ef3e28e0 Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Thu, 27 Feb 2025 17:10:28 -0500 Subject: [PATCH] Add development decision diagram. (#1533) * Add development decision diagram. * Add mermaid custom fence --------- Co-authored-by: Steve Wirt --- .config/mkdocs.yml | 5 +++++ .../contribution/contrib-first.md | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/.config/mkdocs.yml b/.config/mkdocs.yml index 42909d510b..ff0e04f6e0 100644 --- a/.config/mkdocs.yml +++ b/.config/mkdocs.yml @@ -210,6 +210,11 @@ markdown_extensions: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg - md_in_html + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format plugins: - search - git-revision-date-localized diff --git a/common-practices-tools/contribution/contrib-first.md b/common-practices-tools/contribution/contrib-first.md index d8ad571ea8..5af6d8a955 100644 --- a/common-practices-tools/contribution/contrib-first.md +++ b/common-practices-tools/contribution/contrib-first.md @@ -42,6 +42,19 @@ See more of [CivicActions Drupal contributions](https://drupal.org/civicactions) +### How do we decide on a solution? + +The choice of where we create a solution follows this decision tree. + +```mermaid +flowchart TD + A(Accomplish requirements with your existing packages) --> B(Leverage APIs from existing packages) + B --> C(Add another open-source package) + C --> D(Extend an existing open-source package with a contributed patch) + D --> E(Write & Contribute a new open-source package) + E --> F(Write custom code) +``` + ### Does building by Contrib First cost more? Not typically. There are three significant offsets that make Contrib First the more affordable option: