Now the abs_to_rel module is enabled, links can be made relative so they work on the current environment.
100 lines
No EOL
5.7 KiB
JSON
100 lines
No EOL
5.7 KiB
JSON
{
|
|
"uuid": [
|
|
{
|
|
"value": "af1271f1-d7b4-446b-8fb0-1d94eee5846f"
|
|
}
|
|
],
|
|
"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": "Open-source encourages more open-source\n"
|
|
}
|
|
],
|
|
"created": [
|
|
{
|
|
"value": "2023-12-05T00: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\/05\/open-source-encourages-open-source",
|
|
"langcode": "en"
|
|
}
|
|
],
|
|
"body": [
|
|
{
|
|
"value": "\n <p><a href=\"/daily\/2023\/12\/04\/writing-contrib-modules-as-glue-between-your-custom-code\">In yesterday's email<\/a>, I mentioned the Private Message Queue module - a contributed Drupal module we wrote for a project as part of a contribution-first workflow.<\/p>\n\n<p>In our experience, doing that and releasing Private Message Queue as its own open-source project encouraged more open-source contributions.<\/p>\n\n<p>We started to ask questions like, \"Which user should the messages be sent from?\".<\/p>\n\n<h2 id=\"system-users\">System Users<\/h2>\n\n<p>This led us to create the <a href=\"https:\/\/www.drupal.org\/project\/system_user\">System User module<\/a>.<\/p>\n\n<p>Inspired by system users in Linux, it provides a way to identify and retrieve system users that aren't tied to individuals' accounts and without relying on \"magic\" user IDs.<\/p>\n\n<p>But what if a website doesn't have a system user?<\/p>\n\n<h2 id=\"null-users\">Null Users<\/h2>\n\n<p>This led to the <a href=\"https:\/\/www.drupal.org\/project\/null_user\">Null User module<\/a>.<\/p>\n\n<p>Following the Null object pattern, if there isn't a system user, instead of returning <code>NULL<\/code> or <code>FALSE<\/code>, you return a null user that you use in the same way, though they'll have default empty values and won't perform any actions.<\/p>\n\n<p>This pattern simplifies your code as you don't need to check for <code>NULL<\/code> or <code>FALSE<\/code> values.<\/p>\n\n<h2 id=\"here%27s-the-thing\">Here's the thing<\/h2>\n\n<p>If I remember correctly, as part of the project, we created and released around ten new contributed modules to Drupal.org.<\/p>\n\n<p>We were able to move straight onto the next phase of the project.<\/p>\n\n<p>We didn't need to clean them up or refactor them beforehand. We didn't need to dedicate any additional time as they were already released.<\/p>\n\n ",
|
|
"format": "full_html",
|
|
"processed": "\n <p><a href=\"/daily\/2023\/12\/04\/writing-contrib-modules-as-glue-between-your-custom-code\">In yesterday's email<\/a>, I mentioned the Private Message Queue module - a contributed Drupal module we wrote for a project as part of a contribution-first workflow.<\/p>\n\n<p>In our experience, doing that and releasing Private Message Queue as its own open-source project encouraged more open-source contributions.<\/p>\n\n<p>We started to ask questions like, \"Which user should the messages be sent from?\".<\/p>\n\n<h2 id=\"system-users\">System Users<\/h2>\n\n<p>This led us to create the <a href=\"https:\/\/www.drupal.org\/project\/system_user\">System User module<\/a>.<\/p>\n\n<p>Inspired by system users in Linux, it provides a way to identify and retrieve system users that aren't tied to individuals' accounts and without relying on \"magic\" user IDs.<\/p>\n\n<p>But what if a website doesn't have a system user?<\/p>\n\n<h2 id=\"null-users\">Null Users<\/h2>\n\n<p>This led to the <a href=\"https:\/\/www.drupal.org\/project\/null_user\">Null User module<\/a>.<\/p>\n\n<p>Following the Null object pattern, if there isn't a system user, instead of returning <code>NULL<\/code> or <code>FALSE<\/code>, you return a null user that you use in the same way, though they'll have default empty values and won't perform any actions.<\/p>\n\n<p>This pattern simplifies your code as you don't need to check for <code>NULL<\/code> or <code>FALSE<\/code> values.<\/p>\n\n<h2 id=\"here%27s-the-thing\">Here's the thing<\/h2>\n\n<p>If I remember correctly, as part of the project, we created and released around ten new contributed modules to Drupal.org.<\/p>\n\n<p>We were able to move straight onto the next phase of the project.<\/p>\n\n<p>We didn't need to clean them up or refactor them beforehand. We didn't need to dedicate any additional time as they were already released.<\/p>\n\n ",
|
|
"summary": null
|
|
}
|
|
],
|
|
"feeds_item": [
|
|
{
|
|
"imported": "1970-01-01T00:33:45+00:00",
|
|
"guid": null,
|
|
"hash": "11107beced548217d0455b4197564141",
|
|
"target_type": "feeds_feed",
|
|
"target_uuid": "90c85284-7ca8-4074-9178-97ff8384fe76"
|
|
}
|
|
]
|
|
} |