uuid: - value: a5a69bcd-a7f7-4957-ab0b-393437e4055d langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:26+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: | The contribution-first workflow created: - value: '2023-12-01T00:00:00+00:00' changed: - value: '2025-05-11T09:00:26+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2023/12/01/the-contribution-first-workflow langcode: en body: - value: |

I've worked on many software projects with a lot of custom code.

Not all the code is specific to that client or project, and often, code is identified as it can be extracted from the project and open-sourced as a Drupal module, PHP or JavaScript library, or Tailwind CSS plugin.

Usually, the code is written as custom code initially, with the best intentions to revisit it once the project is complete and open-source it.

But this rarely happens, as there's always the next sprint or project waiting.

It takes too long to extract the code as it usually needs to be tidied or refactored beforehand.

It may have been written with the client or project name within the code, which needs changing.

My suggestion is to avoid this step.

Here's the thing

Instead of writing it as custom code and hopefully extracting it later, start it as a separate module, library or plugin, and use Composer or npm to add it to your project as another dependency.

Whilst it's a slightly smaller overhead, it's better and less risky than rewriting or refactoring code later and it's already open-sourced.

Plus, you may get some issues, testing and improvements from others along the way.

format: full_html processed: |

I've worked on many software projects with a lot of custom code.

Not all the code is specific to that client or project, and often, code is identified as it can be extracted from the project and open-sourced as a Drupal module, PHP or JavaScript library, or Tailwind CSS plugin.

Usually, the code is written as custom code initially, with the best intentions to revisit it once the project is complete and open-source it.

But this rarely happens, as there's always the next sprint or project waiting.

It takes too long to extract the code as it usually needs to be tidied or refactored beforehand.

It may have been written with the client or project name within the code, which needs changing.

My suggestion is to avoid this step.

Here's the thing

Instead of writing it as custom code and hopefully extracting it later, start it as a separate module, library or plugin, and use Composer or npm to add it to your project as another dependency.

Whilst it's a slightly smaller overhead, it's better and less risky than rewriting or refactoring code later and it's already open-sourced.

Plus, you may get some issues, testing and improvements from others along the way.

summary: null field_daily_email_cta: { }